I have thought about a few discussion categories/forums which I could include. I have also added the suggestion from aquarian1 of "good vibes" or "inspiring stories" category. For now, I have conceived the following scheme (34 forums at the moment, work and thinking in progress...). The first place to people projects, because I think that is to be promoted and creative people need a place where to discuss their ideas and projects and be supported ... Let me know your possible suggestions/corrections or ideas for more stuff: Your projects Your job positions Your skills Your research and articles Stories in the workplace Your problems at work Computer science Algorithms and machine learning Statistics and quantitative methods Topics in Mathematics Topics in Physics People and companies Macroeconomic and politics Work Philosophy and life wisdom Social media trends New technologies New software New hardware Real estates deals Investors lounge, finance Artworks deals Equipment deals Main Languages: C, C++, C# Main Languages: VB.NET Main Languages: Java Main Languages: Assembly Main Languages, web front end Main Languages, web back end Interpreters and data analysis tools Your hobbies and passions Health and wealth Life hacks and useful tips Chit-chat, news, opinions Inspiring stories
During sleep, a few more categories and ideas come up. Here is an updated version of the category list ("41 forums") where I have underlined some changes: You and your work: Your projects Your job positions Offer/Request services Your research and articles Your software Your videos Your tutorials Stories in the workplace Your problems at work Your topics: Computer science Algorithms and machine learning Statistics and quantitative methods Topics in Mathematics Natural sciences Arts and Humanities Our world: People and companies Macroeconomic and politics Concepts and ideas Social media trends New technologies New software New hardware Investing and deals: Real estates deals Investors lounge, finance Artworks deals Equipment deals Barter or buy/sell stuff Your tools and languages: Main Languages: C, C++, C# Main Languages: VB.NET Main Languages: Java Main Languages: Assembly Main Languages, web front end Main Languages, web back end Interpreters and data analysis tools Life beyond work: Your hobbies and passions Your Health and Fitness Your music Your DIY Life hacks and useful tips Chit-chat, news, opinions Inspiring and uplifting stories Suggestions and more ideas are welcome, of course In the meantime, I am also messing with the javascript and the databases. Did you know that I can debug while sleeping? Sometimes, when I have some problem, while in bed, I can scroll and visualize the code lines in my mind, like a movie, and find a bug that I could not find while coding. Weird but true PS Now that I am looking at it on the screen, I feel I should move up the group "Your tools and languages", possibly after "Your topics".
Here is the magic pentacle I am depicting in my mind right now, which should become the initial seed of a network: The current 5 nodes in the picture are: - a professional profile social (for me, a Link.. "replacement", without the bullshit propaganda) - a specialized journal for the city of Rome (since the local journal which operated for decades died). This would serve specifically about 3MM hectic inhabitants - a site for algorithmic trading journals and related stuff (for me, my investors, and anyone's trading journals) - my own site (algorithmic trading for Hedge Funds and investors), which will also provide a directory to the network and host articles and pointers - An international site for specialized ITA - EN cultural exchanges This is a raw starting vision, then more nodes could possibly be attached (some more specific topics or localized needs could be "assigned" to enthusiasts/competent people worldwide for maintenance and profit) ...
I am also thinking about the DB structure. So far, I have come up with the following prototypical scheme: The structure and relationships depict in practice a hierarchical structure where we have: Forums (or categories) > threads > posts and also the categories (forums) are grouped. In the example above the "groups" of forums would be You and your work, Your topics, ... and so on. The groping of the forums is not done on an application level but only on a presentation layer. This is to avoid excessive "nesting" which could become confusing to the user. For a bit of originality, I have imagined a system more articulated than the classic "Like"/"Dislike" for each post, but the user has multiple (nondisjoint) choices for post "evaluation". The "UserExtendedInfo", will hold info about the professional user profile (if he wants to show it). The user's "profile" could also contain any kind of pictures or videos (just like ordinary posts). Let me know if you have suggestions/corrections ...
Now that I think about it, the local (Rome) advertising site, I will need the user to be able to easily remove the ads. Since within this type of structure, the ads will be "threads", I will need to add some flag to allow that behavior, at least within certain categories (or forums). Clearly, in a discussion forum (like those on ET, for instance), most of the time we do not want to allow a thread removal. Apparently, what takes more time is the post editor and especially all the async upload functionalities. Also keeping track of the last positions of a user within each forum and thread requires some patience. While coding, I am keeping an eye also on my investor's accounts which are all doing fine. You can follow a demonstration in my tread in the ET Journal forum: https://www.elitetrader.com/et/thre...-and-market-drift.364633/page-50#post-5829546 Here are in addition the results of a new investor (1MM start cap, 156 days) from the US 80K is not bad for the time elapsed and the start cap. He had a bit of DD, touching -50K (not a big deal relative to the account size), but that happen before the introduction of the scalping mechanism on the long legs. So we should be fine. Currently, using just 40% of the funds (I usually keep it around 50%, especially when volatility is low). Anyway, working hard on the javascript. I really hope to finish soon
For the local (Rome) social media/ads I have so far identified the following 134 categories, which I hope should cover most of the needs, but I am still thinking about it... (let me know if you can think of something missing): Lavori manuali: Professionisti e mestieri Operai Agricoltura Domestici Negozi Ristorazione Trasporti Sicurezza Assistenza anziani e disabili Assistenza domiciliare, Alzheimer, Parkinson Animazione, sorveglianza bambini Sorveglianza, addestramento animali Lavori intellettuali: Informatica Ingegneria Arti grafiche Giornalismo Contabilità Immobiliare Sanità Estetica Turismo Spettacolo Vendite Servizio clienti Risorse umane Assicurazioni, banche Consulenza Legale Concorsi pubblici Lavori - Insegnanti: Ripetizioni scuola Lingue Musica Canto Insegnanti - Altro Lavori - Istruttori: Fitness Discipline da combattimento Discipline corpo libero Ginnastiche dolci Atletica Calcio Riabilitazione, posturale Istruttori - Altro Persone e incontri: Compagnia, amicizia Più di una amicizia Escort (solo maggiore età) Partner allenamento Partner studio Gruppi di allenamento Gruppi di studio Cose e animali: Fatti a mano Collezionismo Antiquariato Animali e accessori Strumenti, spartiti, libretti Elettronica, Cellulari, Audio Video, Fotografia Informatica e accessori Console, videogiochi e accessori Casa e giardino Utensili lavoro, hobby Abbigliamento e accessori Libri, riviste, giochi Auto Auto d'epoca Auto - Accessori Moto Moto d'epoca Moto - Accessori Caravan, camper, campeggio Barche, nautica Bici e accessori Commercio: Noleggio e Leasing Furgoni, veicoli commerciali Macchinari Grandi attrezzature Arredamento commerciale Attività commerciali, license, cessioni Proposte di investimento, soci capitale Regali: Regali: Oggetti, sgomberi gratuiti Regali: Animali, cuccioli Immobili: Case, appartamenti - condominio Case, ville indipendenti Terreni e rustici Box, garage Locali commerciali Affitti: Affitti - Appartamenti, stanze Affitti - Box, garage Affitti - Case vacanze Affitti - Locali Commerciali Romanità: Dialetto romanesco Cucina romana Canzoni, Poesie, Detti Storia di Roma Passeggiate romane Video e foto Ricordi del passato Celebrità amate dai romani Film su Roma Youtubers amati Politici Gatti de Roma & friends Fa' da te de' Romani Romanità - Locali tipici: Luoghi famosi e tipici romani Botteghe e artigiani tipici Trattorie, osterie tipiche Pizzerie tipiche Forni tipici Pasticcerie tipiche Bar, caffè, pub tipici Locali tipici Raccomandazioni locali Sociale: Centri per anziani Iniziative volontariato Eventi, inviti Parchi e attrazioni Sport popolare Palestre Musei, mostre, chiese Scuola: da asilo a liceo Scuola: università Trasporto pubblico Servizi pubblici Burocrazia e uffici Vox Populi: Persone scomparse/trovate Oggetti scomparsi/trovati Passaparola, info utili Segnalazione problemi città Roma Segnalazione pericoli Segnalazione truffe, scam Ringraziamenti Storie di quartiere Storie criminali e irrisolte Belle storie Discussioni libere, news Updated DB schema (shared across the network): we should be almost there... It would suck to realize you missed something important just after publishing it, but it always happens so... following Murphy's law...
TimtheEnchanter mentioned Trump's social medium. Wikipedia has a page on it: https://en.wikipedia.org/wiki/Truth_Social#:~:text=Truth Social (stylized as TRUTH,former US president Donald Trump. which mentions: Truth Social [...] is an alt-tech[2][3][4]social media platform created [...] by former US presidentDonald Trump [...] To facilitate becoming a publicly traded company[...] has been a target of SEC investigations for misrepresenting shell corporations. [...] Russian finance [...] Truth Social is modeled heavily after Twitter; users are able to make posts ("Truths", similar to tweets) [...] Truth Social was launched proclaiming itself as a "big tent" platform without political censorship, allowing for "free expression" without "discriminating on the basis of political ideology". [...] The platform has been widely accused of censorship.[88][89][90] In June 2022, several accounts were banned after posting about investigations into the 2021 United States Capitol attack [...] Following Elon Musk's proposed acquisition of Twitter, many commentators observed that a Musk-run Twitter would be likely to reduce demand for Truth Social's services With the premise that the Wikipedia article itself possibly sounds a bit biased, now when you start from the premise of being a vehicle for "truths" and proceed with shells and censorship, you can't expect to remain more than a political tool. I do not see a big problem when a single user presents their own view or even biased perspective for propaganda purposes. The problem arises, imho, when you do not allow other people to do the same, so that eventually, from the conflict or convergence of views, a more complete (and hopefully closer to "objectivity)" picture would emerge. You must not mess with the ability of the social medium (which ultimately represents a crowd of people) to "self-regulate" and find a more fair representation of whatever aspiration to the abstract ideal of "truth". In general, I do not find it very wise to reason in terms of "moral" values. In Italy, we have a famous sentence about that (from Pietro Nenni): "A fare a gara a fare i puri, troverai sempre uno più puro... che ti epura."
Working on the js... and here is also an update on DB architecture: I have added a table ("UsersFollowed") to keep info about the user connections (who is following who) [noted in green some changes.] Now that I am looking at it on the screen, I see I will probably need some additional field to keep track of sent notifications (we have 3 types of notifications so far: about thread, about users, and a "digest"). So, I will probably need to add 2 fields in the "UserExtended" Info table. In order to easily change/add database fields in this "prototyping" phase I am using the following function I made on purpose which is quite handy, as it allows you to change at will field order and add new fields without having to mess up every single time with the indexes of the DB record you get from any query. Attaching snippet code in case it can be useful to anyone or for improvement suggestions: Code: private void ReadFieldAtIndex_IncreaseIndex(object[] DBRecord, ref int Index, ref object VariabileInCuiCaricareIlDato) { // prendo dato avanzo puntatore campo var OggettoLettoDaDB = DBRecord[Index]; Index += 1; // tipo del campo da riempire Type TipoVariabileDestinazione; if (VariabileInCuiCaricareIlDato is null) { // se nullo e' nullabile, quindi per forza una stringa perche' considero solo stringhe, interi, double, date, e booleani TipoVariabileDestinazione = typeof(string); } else { TipoVariabileDestinazione = VariabileInCuiCaricareIlDato.GetType(); } if (OggettoLettoDaDB is DBNull) { if (ReferenceEquals(TipoVariabileDestinazione, typeof(string))) { VariabileInCuiCaricareIlDato = string.Empty; } else if (ReferenceEquals(TipoVariabileDestinazione, typeof(int)) || ReferenceEquals(TipoVariabileDestinazione, typeof(double))) { VariabileInCuiCaricareIlDato = 0; } else if (ReferenceEquals(TipoVariabileDestinazione, typeof(DateTime))) { VariabileInCuiCaricareIlDato = new DateTime(); } else if (ReferenceEquals(TipoVariabileDestinazione, typeof(bool))) { VariabileInCuiCaricareIlDato = false; } else { throw new Exception("Tipo non previsto"); } } else { var TipoCampoDatoDBMS = OggettoLettoDaDB.GetType(); if (ReferenceEquals(TipoVariabileDestinazione, TipoCampoDatoDBMS)) { } // ok match else { throw new Exception("Mismatch di tipo origine/destinazione"); } if (ReferenceEquals(TipoCampoDatoDBMS, typeof(string))) { VariabileInCuiCaricareIlDato = (string)OggettoLettoDaDB; } else if (ReferenceEquals(TipoCampoDatoDBMS, typeof(int))) { VariabileInCuiCaricareIlDato = (int)OggettoLettoDaDB; } else if (ReferenceEquals(TipoCampoDatoDBMS, typeof(double))) { VariabileInCuiCaricareIlDato = (double)OggettoLettoDaDB; } else if (ReferenceEquals(TipoCampoDatoDBMS, typeof(DateTime))) { VariabileInCuiCaricareIlDato = (DateTime)OggettoLettoDaDB; } else if (ReferenceEquals(TipoCampoDatoDBMS, typeof(bool))) { VariabileInCuiCaricareIlDato = (bool)OggettoLettoDaDB; } else { throw new Exception("Tipo non previsto"); } } } You can just call it like that: ReadFieldAtIndex_IncreaseIndex(u, IndexDato, .ObjectField) where u is the read DB record, IndexDato is a data pointer automatically advanced by reference, and .ObjectField is the field of the program object where you are storing the data.
Here is some anticipation of the look (this is one of the 4 media I am simultaneously taking care of, with a shared pure js engine obviously. Will all be different themes). This is a "user profile" page. Still working on it... Any pictures: I am consenting to store unlimited information in the profile, including any pictures, videos, or attachments. The posts will be always editable by the OP. Threads' titles can be changed anytime. Nickname, avatar, email, and password can also be changed anytime. Users can freely advertise their projects and research. The post will also be reachable as stand-alone web pages. So a user can use the URL of some interesting article/post he wrote (or his profile) independently of the social medium. Some reasons for that are the following: 1) People may need to revise their text or improve exposition after some time. Anyone's best interest is not to have posts containing wrong information or nonsense. An incentive to aim for quality. 2) People who are going to spam like there is no tomorrow will probably avoid reinserting always exactly the same post - like they do on LinkedIn - because it will be sufficient to open it for editing to have it bubble down in the list (and the thread bubble up) ... well until they get tired to do so . Clearly, other users will be able to comment on it and if the reviews are not good, the spammers may soon lose interest in the idiotic "visibility" and start producing more intelligent and profitable content... (Individual users will never be solicited to pay anything (like they do on LinkedIn). In the far future, if there is valuable traffic, in case sponsor spaces can be assigned, but only to established and reputable companies. Anyway, probably not something I need to be concerned about in my lifetime... ).
Today, Sunday, I was finally able to work a little more calmly, without too many distractions from the trading accounts (well, until midnight ). I fixed the logic of the users' notification system and this resulted in some changes at the database level. Here is an updated version of the schema: I have envisioned 3 levels: subscribed threads, followed users, and "digest" (the latter to be implemented/perfected in the future when and if the site has some traffic). I have also been messing with the js post editor (it takes a lot of time and patience to get all the small details and js is rather unforgiving, although undoubtedly fascinating). Clearly, I am trying to create a similar same nice "feeling" as I find here on ET, which I admire for the layout and editing. One thing I am doing differently is the upload logic. I noticed that our ET here uploads immediately anything pasted in the editor without explicit consent (if I remember well that functionality was added some, not long, time ago). While I understand the rationale for that behavior and while the coder made the (indeed) laudable technical effort to implement that "background" upload, I do not think it may be always appropriate. You might, by error, even upload something you do not want to (something you had in your clipboard ). Also, it often happens that a user removes several pictures from the post while editing, and also, in that case, there is no point in sending them to the server immediately, to remain unutilized forever (sure one could detect the "unreferenced" pictures scanning the post, but it's not so elegant). So I am uploading stuff only if the users really want to (via HttpRequest obviously). Another thing that is probably useful (hopefully) is the possibility to do a fast login, skipping the login system. This is done through a special link sent to any user at registration. It can be changed anytime (randomly generated), just as the nickname, the email, and the password. Also, the notification will come with a special link that can do both logins and send immediately to the desired content. I will leave the post content and the titles of the threads always editable by the authors.