I think what the fasm community needs is not so much chat, a forum is enough. What it needs is another web site which gathers and collects fasm source code through a desktop application.
It's basically the same thing as chat, only that you're not chatting, you're sharing source code through a specialized desktop app and publicises it on the fasm source code website automatically, so that we can synchronize our coding with the outside world.
For example, if you write a function to convert a number to a hex string, you can open the "fasm sharing application" and publicize that function, before you click the "Publicise" or "Share" button you must click a drop down list to find the right category the function belongs.
After you have publicised the function, anyone who visits the source code web site can add code to it, remove code from it or optimize it, and a public vote system votes for which is faster and more robust. The better code always wins and gets to stay on the website, and of course the original coder can re-download his own modified code instantly, perhaps even automatic synchronization so his local library gets updated automatically with the "always best" function in that category.
There is enough pressure and enough strains on the assembly community in its entirety, there is absolutely no room for cheap people, no room for the grumpy ones or the anti social. Either you give everything or nothing at all. If you want this community to survive, you better make all the functionality available to any user, right on his desktop, at the click of a mouse button, he has got the fastest function in his project folder instantly.
We need less of traditional ways. The traditional ways can be a luxury on top of that, if you just want to have a nice little chat with someone. But a strong foundational fasm source code website is needed, preferably with an attached sharing desktop app.
This sharing app can even be a straight command line tool, just like you update linux programs at one command, it updates everything automatically. This feature will greatly help assembly overcome the huge advantage that the C community has with their compilers and huge libraries. By having solidarity in the asm community, it can outweight C or get closer to the production capacity of C, simply by innovation and having solidarity in the asm community.
When and if such a website will be a reality, keep the source code changes anonymous to prevent the "religious gurus" from getting too much attention, the source code should be neutral so that no special attention other than the source code.
When I use the phrase "Religious Gurus", what I mean by that is that the assembly community should be focused around code, not around people. Aassembly has been about character, image, braggery for too many years. It's time to turn it around into becoming about code again, and not about people. So anonymity is highly wanted.
The question is who would be willing to launch such a website. (Oh and yes, a comment field below each code change is useful so they can comment the code, the comment shows up in the desktop app too, perhaps the changed code marked in red)
The details I've outlined here is not important, the important thing is that there is a highly organized system that makes everything run smoothly in an organized fashion. I would suggest the fasm package includes this command line tool with it by default.
With just one tiny little command line tool for updating your source code to the best available, you have all the world at your disposal with that tiny ridiculous update tool.
Now there are many problems that can arise, one is that the website turns out of control and the code they get from users is not categorized well, is not properly put inside proc endp or doesn't have well defined call convention. So there have to be a system that restricts all coders to use special naming conventions so that the functions can be downloaded and used right away, without altering it.
The website should have its focus on the functional level, not on big libraries, users must be able to subscribe to a function and when they use the update tool, it will only update the subscribed functions (if they have been changed or optimized recently). If it has a well defined system like that, it can pretty much destroy the need for portability, because that library will update so fast and so quickly that chances are you only need to reassemble your project and it will work for the next windows almost immediately. (Oh yes, give the website time to grow before you label it a failure)
...and keep focus on the functional level, sharing functions and nothing but functions (and macros of course). If you shift focus into sharing huge libraries, that is when the website will start to fail, it just won't work. People don't want big libraries, they want to pluck what they want and then leave.
So basically, when the user opens the sharing app on his desktop, he chooses a category of functions, uses his arrow key on the keyboard to scroll through the functions, press space bar to mark one he wants to subscribe to, when done, some functions will be marked for subscription and then he clicks "Download". Any calls to the command line tool will update only those functions.
I think this can make coding more fun too, when you go to sleep one night and wakes up in the morning, you run the update tool to see if someone has produced better optimized code, and then you re-assemble your project and it runs faster immediately (Compilers are outdated)
To avoid the difficulty and complexity of a public vote system (To vote which function is the better one and gets to stay), to avoid that "bureaucracy", we can implement a system of measure (A sort of documentation that the coder needs to provide that the function is actually better, perhaps a time measurement of how fast the code runs on different architectures and cpu's, a default standard that needs to be specified with every change that is publicised. That will eliminate the need for the "bureaucracy" of voting. But it is important that that system does not become so complex that it gets in the way of people so they won't share anymore, it has to be really really simple, and effective or else people stop posting.
The logo on that website must have a subtext which says "If you're cheap, you have no business being in the assembly community"
To sum it up, we need the following:
* A website purely meant for super effective sharing and updating source code (The purpose is productivity, easy re-compilation of your projects and an ever-growing-faster-and-better source code on your local computer
* We need a sharing desktop application (Someone need to code this)
* A command line update tool (Someone need to code this too)
* We need a super easy yet super organized system that does not have any pitfalls that makes the website turn out to become something that it was not supposed to become. To avoid that problem, it has to have a super strong system at its core. (Everything must be well defined from the beginning to prevent the idea from turning into something else it was not supposed to be)
As a side comment to this, there may be some people who thinks somewhat like this "I don't want to participate in this and make my code available and free for all the high level coders out there".
My response to thoughts like that is, fuck you, simply because if the high level coders out there need your code, would also mean that assembly becomes more useful in the world and that improves the likelyhood that assembly won't die.
And that is exactly what we need to do, the exact right thing is to feed them free code.
For those who can see a future in that or have the capacity to start something like this. The idea is that the source code community becomes dynamic and ever-changing. It's basically a "human compiler". The difference between a C compiler and that "human compiler" is that the human compiler is much better. The source code system will basically turn into becoming a living, breathing "human compiler".
It's the age of the machines vs piles of human heads.
I'm serious about that project and someone should start it, but I also think that I shouldn't be the one to do that as my affiliation with fasm isn't strong enough and hasn't lasted long enough. The website or the server doesn't have to carry labels with "fasm" in it, it can be a general assembly server for any assembler, with a bit more focus on fasm (secretly). I would actually recommend that the server would not be too religious about being affiliated with fasm, it creates strains and it becomes a religion, it is always wise to carry some neutrality in the names one picks. Let people know its about fasm, but don't use fasm in the name, preferably keep it extremely neutral. When you narrow things down to names, it gets narrowed down in people's heads too. You want to blow this thing up to become like what people want to imagine it to be, and the only way to let people define that website in their own terms and emotions, is to keep is as neutral as possible. It should form its own life in people's own heads.
I still believe in the idea of a common server for downloading asm functions to your local library folder in an easy way, with an update tool. There are probably a ton of ideas that can be added to it to make it even better.
Assembly has everything, but it doesn't have a system that binds it all together to attract productive people to it. What could be more amusing than to have a sharing app, with a pure and clean list of tons of functions you can download, with the security that someone will always improve on those functions, and you can re-download the fastest possible function at any time later.
If you imagine you have a large library on your harddrive, the difference between such a library and a sharing app, is that the library you personally build (in a customized way) is a dynamic library, it's always updated where the typical traditional library is static and unchanged.
You basically give power to external users over your own projects, in an indirect way. It's a sacrifice, but it's a fun and productive sacrifice to give other assembly coders that authorithy, you are relieved of some of the stress and so is the other guy at the other end.
Not only can you download source files, but include files, interfaces, premade resource dialogs and other resource files. If some guy is too happy about his dialog, he can simply just drop it in the sharing app and add it to the public server for anyone to download.
PE: Good ideas. I've always imagined a desktop application with internet access where there are categories for MATH, TEXT, FILE, IMAGE, OBJECT, etc. Let everyone contribute their functions and modules. Let the users choose which functions to incorporate in their own libraries. Let serious programmers like me disable all responses. Let there be a chat room for talk, drama, emotions, feelings and temporary messages that we don't want to stay visible permanently, faith-based discussions which may be helpful in personal relationships but are irrelevant to programming which is about truth, logic and verification.
You basically give power to external users over your own projects, in an indirect way. It's a sacrifice, but it's a fun and productive sacrifice to give other assembly coders that authority, you are relieved of some of the stress and so is the other guy at the other end. Not only can you download source files, but include files, interfaces, premade resource dialogs and other resource files. If some guy is too happy about his dialog, he can simply just drop it in the sharing app and add it to the public server for anyone to download.
I agree. It should not be an ownership thing, "my code or yours". Who cares? An internet application would not be dependent on IE or Firefox and can be used to share secure information (encrypt, send, receive, decrypt).
I'm serious about that project and someone should start it...
How serious? Who here do you think is qualified to do it? I may be able to design and/or create an Android version of this new dream community - with the option to disable responses - OR convert FASMG to C4Droid but not for FREE, not without time or money to do it.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You can attach files in this forum You can download files in this forum