Any ideas for a new project? - Programming On Unix
tudurom
Hi everybody! Long time no see.

I am looking for ideas for new software projects, I just ran out of them for the first time in a few years. I want to make something that is not web based, preferably on the desktop. Desktop or text console, GUI, TUI, CLI, anything. So if you have a good idea or concept, leave a reply and you will get the chance of seeing it happen!

The first idea that passed through my mind, although a rough one, was to make a new shell, with a new command language and mode of operation based on channels and coroutines. Didn't thought too much on that but it might be an idea worth exploring.
jkl
There are already too many shells.

Hmm, a Gopher client?
tudurom
Doesn't matter if they are too many. I would take it as a research project. Much fun!
pranomostro
Hm, if yall don't mind, I'll do an idea dump of some smaller stuff.

erle:

Code:
rlwrap replacement/enhancement, takes ideas from the fish shell
interactive mode
-normal readline like behaviour (but using something simpler, like
        linenoise/dietline)
-history file is loaded during startup
-<text>[UP] shows the last command containing <text>, again [UP]
        the one before that, and so on
-<word1> <word2>[TAB] expands <word2> into the last word (string separated
        from the others with a newline/space) beginning with <word2>
-no input for more than half a second/a second shows a suggestion
        of the last command beginning with the current line.
-ideas for speeding it up:
        -use char** for storing each history and words
        -benchmark and optimise, of course

Maybe use linenoise and tweak it a bit for what is needed.

fle:

Code:
suckless pager, with command [f]orwards, [b]ackwards, [u]p, [d]own, [j], [k], [g],
[G] and [/] for searching, with [n]ext and [p]revious match
support for arbitrary length files, loading lazily, unicode is displayed properly,
big lines are dealt with properly.

nager:

Code:
sxhkd for the mouse. syntax:
[MOUSEEVENT] [, MOUSEEVENT]* COMMAND

pau:

Code:
plan9 alt unicode. implement plan9 style unicode typing
with the alt key. have a simple configuration file for it.
similar to the plan9 description file.

bnf:

Code:
program that accepts one backus-naur form grammar and checks if it's
input or other files match that grammar. read into parsers and stuff
like first, evaluate if myrddin might be a sensible choice for that.

cap:

Code:
simple language for assembling different files into one. syntax very
sed/ed like, mostly like this:

    [line,]line@file[<|^|>][line,]line[|comm]

where line is a regex enclosed in '/' with an optional number suffix
or a line number, file is a filename and comm is a shell command in
single quotes.  the text from each file is inserted into a buffer and
printed at the end of the cap script.

sif:

Code:
simple text processing filter that takes only one instruction
(single instruction filter). the instruction should have the form

    [^]/str/[,[^]/str/]((a|i|c)/str/)|d|p

str is a literal string here (no regex), sif does not do
input/output buffering and does treat whitespace as any
other character.

a=>append, i=>insert, c=>change, d=>delete, p=>print. '^' means
that the following str is excluded from the matched text.
normally, everything is printed, unless the option '-n' is used.

Now I know that this is quite a lot of stuff, but these are probably my best ideas for programming projects. They are quite text-processing heavy, though, so if you're not into that...
pranomostro
Although, after thinking a bit, it'd probably be better if you looked for projects in the open source world that need help and worked on one of these. I don't want to be all like "oh you evil person polluting the internet with new code", quite the opposite (do what you want), but if you are indifferent to making something yourself and contributing somewhere, implementing some other person's project is probably going to be less "good for the world" than improving existing software.
tudurom
Every year there is a software project competition for high school students here, and I would like to participate with my next project. I am also considering improving other concepts or existing programs.
z3bra
If you need to write something cool from scratch to "impress" other students, one cool idea would be to make something they'll find useful or funny, amd that they'll use after the competition is over.

From the top of my head, wjen I was a student:

- RSS feed reader
- 2D platform game
- Sharing platform for documents
- ...

Now if they're more geeky, amd you want to go with CLI, you can make more specific stuff, like the following:

- coreutils subset
- text editor
- picture renderer with ascii blocks
- ...

Now for ideas that I find useful:

- automatic filesync between hosts (torrent based)
- deduplication + compression software
- mk(1) and redo(1) implementation in C
pranomostro
redo has been done already: https://github.com/chneukirchen/redo-c
z3bra
(10-11-2018, 01:33 PM)pranomostro Wrote: redo has been done already: https://github.com/chneukirchen/redo-c
So has mk. That does not mean it cannot be done again :)

Diversity in implementations is the key to solid software!
Steph
I know this a little outside of the interest area of people on nixers, but I've been working at optimizing algorithms to generate prime numbers.

Im slightly addicted to project Euler.




Members  |  Stats  |  Night Mode