The 2024 Wheel Reinvention Jam just concluded. See the results.

REGISTER HERE: Jam projects / teams!

Hey everyone,

I'll be using the jam to prototype a new immediate mode GUI specifically for a modal text editor I am working on. I know these two things are very much a HMN meme at this point but yes :D

In the past I have made a general purpose IMGUI library that I have used in a few game prototypes. This time I want to experiment with writing something that is more tailored to the needs of the application.

Here is a list of ideas to try out for the jam and see how good they are:

  • Keep the screen redraw down to a minimum, have the IMGUI system easily keep track on what widgets have been updated.
    • example, if the text cursor would move, in the simplest case only the area of where two glyphs occupy would be redrawn.
  • I want the editor to fully operated by the keyboard so a very slim set of widget types is needed.
    • Box (border, background, container)
    • Text (i just have a feeling we will need this)
    • TextBox (single line text edit for search etc)
    • ListView (results of a search)
    • Dialog (put the search box all up in your face)
  • This application should be perfect for the dead simple layout that folks have been trying out in the community lately. My other UI library layout code is a super complicated recursive nigthmare thing but is full of great features.
  • Input handing logic would be keyboard only, no mouse.

I'll be streaming my developments live on my Twitch Channel Tuesday, Friday, Sundays. Check the schedule if you are interested in the times :)

I am really looking forward to seeing what everybody makes!


Edited by HRose on

Hi!

I don't think I can participate on the Jam, too busy right know.

But let me throw an idea to reinvent: "the modern web".

A lot of modern websites have become in just a lot of code that is executed on your machine in order to show the actual web page/application. This has a very little to do in what the web browsers are meant to do in the old days.

So, what if we reinvent a browser that his primary goal it's execute code on your machine.

The starting point could be a program that opens a window and has de ability to execute arbitrary DLLs/.so. And also providing an API to draw on a framebuffer and interact with the host.

The basic browser capabilities like read html/css can be given by installing plugins (just shared libraries) that are used when you try to open files with certain extensions.

The final version must have a webassembly machine and the early mentioned shared libraries must be just .wasm files in order to grant some security.

I have a metric ton of ideas about that! (Ok maybe not quite that many..) In fact, my long term plan is to do exactly that. And I know that I can't do it alone.

So, I'm in!

(Not during the jam though, as I'm busy creating a system to manage all of those ideas.)

Would be awesome if we could assemble a team of people who are serious about this.

Edit: You know what, consider this a side project registration: I’ll start organizing and presenting my ideas.


Edited by leddoo on
Replying to tanoxyz (#25150)

A tool that most of us use on a daily basis is our compilers, and even though they have evolved a long way since their invention, most of them just do that -compile-. So that is why I have been working on a compiler, assembler and linker that actually does more.

The basic idea is to be more transparent, produce diagrams, useful information about the code, compile process metrics among other stuff.

I it is already up and running but most diagramming and useful output is not yet implemented. Also I need to port it to other platforms that are not windows, Linux and Essence are next.

Optimizations are not a priority for this project.

So, that is what I will try to do, I'll reinvent the compiler. After all, compilers and programmers are a team.


Edited by Felipe on

Hi! I'm not sure if I'll have much time to work on it but I want to share my project idea. I'd like to create a small C library (single-file header-only) to build pipelines in C.

I'd like to create an alternative to Makefile/CMake to allow users build their pipelines coding them directly in C language, so any C compiler can compile the pipeline and it can be executed in any platform.

I still have to investigate the viability of this idea and draft a possible API but my main inspirations/references are NAnt, GitHub Actions and Zig build system.

There is a program called VioletUML(https://sourceforge.net/projects/violet/) that I've used a lot in the past for mapping out concepts as I was programming.

This program had some annoying bugs like lack of saving colors of blocks and arrows. VioletUML is also no longer updated.

I want to make something like VioletUML but without the UML. I found VioletUML really nice to use even for just mapping out basic concepts very quickly, like a canvas I could just play around in to create something.

Hello! I just learned about this jam the other day.

I'll be making a simple interpreter in c as a platform to experiment with radically different programming features.

Some examples are:

  • A different way to handle errors that does not include wrapping, returned as values, or exceptions

  • A type system that can impose arbitrary constraints on user defined types. E.g. a type called "even-number" can only have even number integers

  • A tagging system that allows one to tag any variable or function with arbitrary metadata that can be accessed at runtime

I'm hoping to show off at least one of these features by the end of the jam.

I'd suggest checking out diagrams.net, AxeForge. It's currently the best diagramming tool that I know of, it's free, and I believe open source. It might be good to check it out so you know what you can improve, I look forward to seeing how you'll reinvent this.


Replying to AxeForge (#25154)

Hello! I've been looking forward to this for quite a while.

As a physics student, I program quite a few simulations. To get results from the simulation, I have the following workflow:

Change parameters in sim -> run sim -> write data in .txt files -> plot data with scripting language ( python, mathematica, matlab, etc).

I've always found this workflow quite tedious.

For my project, I would program a GUI that would run the simulation, have the parameters be changeable with sliders, and plot the results within the GUI. Less context switching this way.

This would be my first programming project that is not directly related to programming simulators. Let's see how far I can go!

PS: Thx to the handmade community for running this jam.

I'll try to work on a program to help me work out math equations. It's not meant to solve equations by itself, only let me write an equation and do operations on it as I would on a piece of paper.

It will be most likely only exploring what I can do with such a program with simple equation as I'm not good at math.

That's a neat idea! Basically a mini proof assistant.

It'd be awesome it if you made it interactive. Like, visually, you know?


Replying to mrmixer (#25162)

I intend to work on

Deprecating Programming Languages.


The concept of programming languages, especially GPLs (General Purpose Languages), should be deprecated.

There is only one thing that matters:

  • controlling the machines that we call computers.

We resort to things that we call:

  • paradigms
  • experience.

Programming languages are merely syntactic sugar for the above.

Can we create a toolbox of paradigms, then drape syntactic sugar over them?

Yes.


I plan to:

  1. List the good parts of what we've learned about programming languages.
  2. List the bad parts of what we've learned about programming languages.
  3. Suggest new perspectives.
  4. List other technologies to be considered.
  5. Suggest little tools based on the above ideas (e.g. replace DLLs with servers, replace GREP with a parsing-grep, replace subroutine libraries with Components, etc.)
  6. Build/prototype some of the tools suggested in 5. (The first small tool will probably be "pfr" (parsing find replace, which needs to be a client of a support library server (allowing the support library to be written in any language(s))).

I doubt that I will get much past randomly populating items 1,2,3,4,5 in the single week allocated for this jam.

I will gladly accept help. Prerequisite: willingness to discard/reconsider all current paradigms.

Hello! First time posting here.

After spending almost all day thinking what project to do, I decided to make a little app/user interface that solves mxn linear systems of equations. It's a very basic project compared to what others are doing here but I'll be quite busy this week so I think a simple project like this is doable.

There are lots of websites that have this, but all of them are missing one feature that I wish it was a thing: I can't define my own constants. For example, last year I had a lot of circuits like this where I had to calculate all of the currents. I'd like to define the values of the resistors and power suppliers so the system ends up like this:

  -R1 I1 +      10 I3 +   Vx = V1 + (I2*R2)
    0 I1 + (R3+R4) I3 -   Vx = V2 - (I2*R2)
      I1 +         I3 + 0 Vx = I2

(where I1, I3 and Vx are the unknown values)

This is visually much better than just plugging in the numbers and I can also tell if I made a mistake somewhere while doing Kirchhoff's law.

little late to the party, i'll work on a stupid idea i had a while ago when doing ui dev

handpainted ui - an editor to create / mockup ui

  • draw elements
  • layout elements
  • link elements together
  • run ui scene

i'll primarily use odin + raylib

I'll be making an RSS reader for the jam. Kroney#2051