Not logged in, Join Here! or Log In Below:  
News Articles Search    

Submitted by .K. Magnus Auvinen, posted on March 31, 2005

Image Description, by .K. Magnus Auvinen

Well, it all started in a thread where a person wanted some help with a programming problem. It ended in people solving the problem in many different languages including my very own BrainF*** version. Then the second thread came that challenged coders to do a Latin numbers to roman numbers converter using the least amount of code, craziest solution, clearest solution etc. I was still crazy-minded and thought I'd give Befunge a try. Befunge is a 2D, stack-based esoteric programming language. I really liked Befunge and took it a step further. I had a hard time finding a good interpreter and even harder to find some way to debug it. It ended with me spending a weekend writing this little application called Fungus that people really enjoyed.

Fungus is a Befunge-93 editor and debugger. I used SDL for the graphics and everything else is C++ without STL.

The top image shows Fungus in edit mode where you can change the code. Fungus also draws the flow of the application so you can see when you break the flow. The flow tracker can't handle self-modifying code however.

The lower image shows Fungus in debug mode. You have the usual debugging stuff like run, step, breakpoints, program view and stack view. One twist is the memory tracker feature. It paints the background red if the cell has been written to, green if read from and blue if it has been executed.

Why did I write this? Because it was fun and don't give me any of that waste of time crap. :)

Visit to some more info and download..
Visit for more information on Befunge.

.K. Magnus Auvinen aka matricks

Image of the Day Gallery


Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.

March 31, 2005, 07:59 AM

omg what a waste of time.


March 31, 2005, 09:52 AM

Jesus, you do realise the average age of a western man is 77?
You're willing to waste a percentage of that doing this?????
Christ, I feel bad enough wasting the 30 seconds it's taken to type this comment.


March 31, 2005, 10:21 AM

Why did I write this? Because it was fun

What more reason do you need? Nice work!


Brandon Bloom

March 31, 2005, 10:32 AM

I wrote my own interpreter for befunge back in high school! It's simple enough to create an interpreter in almost no time. And it was a lot of fun!

Befunge really did need a good debugger, mine suuuucked.

Nice work.


March 31, 2005, 10:38 AM

Ignore these philistines! Great work, perhaps you should experiment with unlambda next?


March 31, 2005, 11:26 AM

Perhaps I should make a plain text editor / debugger for Whitespace, that does absolutely nothing and hope that nobody will notice... Still, nice work.


March 31, 2005, 11:38 AM

Cool thing...I wastet about two hours with it*g*


March 31, 2005, 12:13 PM

Man, this sounds like fun! I'd never heard of Befunge before. Don't listen to the "waste of time"-posters - the important thing is that you have fun programming. Most of what I have programmed may sound like a complete waste of time to others, but I had fun doing it, and that's what matters.

Good work!


March 31, 2005, 01:15 PM

Oh man, this is the best use of creative boredom EVER.


March 31, 2005, 01:21 PM

No, to have fun while producing nothing useful or creative is a waste of time. Just like watching crap tv is a waste of time. Just like a hamster running in a wheel is a waste of time. You're not a hamster, you're a living, thinking, feeling being - you should be ashamed of yourself for wasting the great opportunities afforded to you at the expense of poorer people in your own country and in other countries across the globe. For you to have enough disposable income to own a PC and have spare time to do something like this, many many people have had to give up any hope of having the same. That's how capitalism works. Be grateful, and do something useful.


March 31, 2005, 01:37 PM

At least, your work is funny.. and diferent from what we see everyday everywhere..
I hate peoples who give lessons !! Even more when the lesson is stupid !


March 31, 2005, 01:55 PM

I will never feel that it's a waste of time or shame when I'm entertaining myself and others. Period.


March 31, 2005, 01:57 PM

I hope you knew that by saying "and don't give me any of that waste of time crap.", that 123409125 posters were going to comment on your program being a waste of time :p

Btw that program is such a waste of time!

It's a much better use of time than what I use my time for tho, for sure. Good job.


March 31, 2005, 02:19 PM

First of all: Whatever you program, you learn from it. The OP may have learned lots about graphics programming, or compiler construction, or OOP or whatever, and he had fun doing it. And the Number One tip I've learned about becoming a better programming is having fun, to love what you do.

Now, knackered, I don't know if your post was serious, but I'm going to assume it was. Do you really think that every programmer in the world, be they newbies or proffesionals, have a duty to produce software that will cure diseases, earn lots of money for some company, predict natural disasters or in some other way help the human race? For most of us, programming is just a hobby, like skiing, playing computer games, painting or watching movies.

If you want to help the less fortunate of the world, go donate some money to the Red Cross and shut up. Let people do what they want with their spare time.


March 31, 2005, 02:30 PM

Seems like an obvious troll, but I'll bite:

to have fun while producing nothing useful or creative is a waste of time.

If you really believe that, you'd better stop wanking ;)

I would argue that what he produced is USEFUL for anyone interested in Befunge.

One twist is the memory tracker feature. It paints the background red if the cell has been written to, green if read from and blue if it has been executed.

Seems pretty CREATIVE to me. I also like the name Fungus =)

Finaly, comparing writing even a completely useless program to watching crap TV doesn't work. Watching TV is a passive, while programming is not.

But some people just like to pee on other people's parades... Whatever. Have a nice day!



March 31, 2005, 02:57 PM

Aahhh...I see you all have met knackered. Well, have fun. ;)


March 31, 2005, 03:14 PM

An EXCELLENT waste of time! Great work!

Befunge is stack oriented? Anything like FORTH? I LOVE FORTH! I wrote several implementations years ago - the first one in BASIC. Now there's a world class waste of time.

Possibly the only greater waste of time was the time knackered's parents spent raising him/her/it.

Uselessness is next to godliness.


March 31, 2005, 04:05 PM

And I thought my c++ code is unreadable ;-)

Nothing is a waste of time if you use the experience wisely.


March 31, 2005, 07:51 PM

I really had quite a bit of fun with that Matricks, nice work :)

Even made a number guesser, hiding the number in the stack by writing a bunch of zero's in between compares :P

PS: Also, would you mind uploading your Roman prog? I think it'd be interesting to see :)
Edit Again: I just copied it from your screenshot.. That's really neat! Awesome work!

Albert Sandberg

April 01, 2005, 12:59 AM

I've been programming demos for 10 years. I haven't released that many. I have coded almost each day, no money for it. Do i feel bad about that? Heck no, I had my fun doing it, and I'm not in the computer business.

We don't have to own money on everything we do for it to make sense, we don't have to cure cancer and aids in our free time, just because that would be more needed by the world. We have the power of choice, and we choose to have fun.



April 01, 2005, 02:25 AM

I'd go for a new version supporting malbolge! Or just "ook!" to warm up a bit.


April 01, 2005, 03:09 AM

Or a new version supporting Concurrent Befunge-98. Multithreaded Befunge, fingerprints (extentions) and 32 bit cells. That's the shit! :)


April 01, 2005, 05:35 AM

Heck, I was only joking. Have fun, be happy. The worlds problems are not your fault, you only consume, and what's wrong with that?

Joakim Hårsman

April 01, 2005, 09:43 AM

If you would have done something useful with all the time you've spent trolling on the internet, you could have fed entire nations.


April 01, 2005, 11:08 AM

Just to get you started:


April 01, 2005, 11:48 AM

Yeah, programing only for fun is great !!! Just another activity to preserve your brain from the TV garbages. And not as dangerous as a nuclear bomb experiment !


April 01, 2005, 12:20 PM

I find that the people who use the word 'troll' against people expressing alternate opinions in discussions tend to have little else to's usually the only contribution they ever make to discussions. I do hope you prove this observation to be false, Joakim....maybe by perhaps trying to express why you think my opinion on time wasting is misguided...something, say something other than 'troll'.


April 01, 2005, 12:51 PM

What I find funny is how a lot of ppl here thought those who said it was "a waste of time" were being serious. They were obviously joking along with what matricks said, "Because it was fun and don't give me any of that waste of time crap. :)"


April 03, 2005, 12:42 PM

Why would ANYONE waste time on such a project like this?

Comeone, write graphicscode in a sensefull language or dont do it at all.


April 03, 2005, 01:27 PM

No, you miss the point. This is programming art at its best. This is what fascinates me. You've just got to love that ascii, binary, assembler, hexadecimal, bit-turning world.

This thread contains 37 messages.
First Previous ( To view more messages, select a page: 0 1 ... out of 1) Next Last
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.