Conversation

Notices

  1. So the wacky idea I have relates to deleting posts. I want the database to check if there are any posts that refer to the to-be-deleted post in their replyto column and if so just replace the post content with [deleted] or something similar and empty out all the mentions, tags, and groups data while preserving its replyto column. All of this so that conversation chains won't be broken when a post is knocked out of the middle. If nothing refers to the post, then the row can be properly deleted- if present it will then check the replyto post to see if it's also been flagged for deletion and clean it up too if nothing refers to it, etc up the chain until it hits a post that either hasn't been deleted yet or still has references to it. I won't ask if this is possible. I know it is. But I wonder if it's something I *should* do.

    Wednesday, 09-May-12 04:34:48 UTC from web
    1. @toksyuryel sounds like censorship. Terrible big Brother censorship.

      Wednesday, 09-May-12 04:35:35 UTC from web
    2. @toksyuryel This was talked a couple of times. StatusNet doesn't allow that.

      Wednesday, 09-May-12 04:37:01 UTC from web
    3. @toksyuryel It's already been looked into, the current version wont let you do anything useful like that.

      Wednesday, 09-May-12 04:37:32 UTC from web
      1. @colfax @nerthos I'm not talking about statusnet, I'm talking about the reimplimentation of it I'm designing.

        Wednesday, 09-May-12 04:38:39 UTC from web
        1. @toksyuryel Oh well. If you know how to make it work, it would indeed be useful

          Wednesday, 09-May-12 04:39:36 UTC from web
          1. @nerthos I know how to do it, the question I'm having is whether it belongs in the database or in the application. Either way I'm still going to write the database code for it just to get the practice and see how it performs.

            Wednesday, 09-May-12 04:41:43 UTC from web
        2. @toksyuryel Will it be compatible with the existing plugin system?

          Wednesday, 09-May-12 04:42:07 UTC from MuSTArDroid
          1. @widget Step one is simply ensuring the API is compatible. Are the plugins written in PHP or do they use a different language? If they're in PHP then I can't support them but if they're in something like say lua I can try. It really depends on what the plugins expect, and given how badly statusnet is designed I can't imagine the plugin system does a good job of seperating them from the implimentation so in all likelyhood all plugins will be unsupported. This isn't likely to be a problem though as many of them have functionality that ought to be included anyway. This is looking pretty far ahead though, right now I just want API compatability while getting the system implimented in ways that aren't horrible.

            Wednesday, 09-May-12 04:47:19 UTC from web
            1. @toksyuryel The plugins are in PHP like everything else. Using Lua doesn't really make any sense, but I wouldn't put that kind of decision past the StatusNet developers.

              Wednesday, 09-May-12 06:56:48 UTC from MuSTArDroid
            2. @toksyuryel Rather than reimplementing StatusNet entirely, why don't you clone the master branch on gitorious and start from there? It might be easier that way. Also while you're at it you could add more event handlers. That's one thing that always bothered me about the plugin system. It's impossible to change what you want because there aren't enough hooks.

              Wednesday, 09-May-12 07:00:12 UTC from MuSTArDroid
              1. @widget Because I want to change the database, change the web server, and change the programming language. I hate MySQL, I hate Apache, and I hate PHP. Statusnet is so badly designed that it needs to be rewritten from scratch anyway, so why not do it using tools that aren't horrible? Besides, reimplimenting it is only phase one. I also plan to extend it. The final product will be something different but fully compatible with the Statusnet API.

                Wednesday, 09-May-12 07:06:16 UTC from web
                1. @toksyuryel I disagree that it's THAT bad. The structure it decent, it just needs a little more fleshing out. //// Why do you hate LAMP so much?

                  Wednesday, 09-May-12 07:10:25 UTC from MuSTArDroid
                  1. @widget Apache and MySQL are both comically bad pieces of software infamous for a wide range of systemmic failings from stability, to flexibility, to performance, to security (*especially* security). nginx and PostgreSQL, respectively, completely destroy them in every conceivable way.

                    Wednesday, 09-May-12 07:18:02 UTC from web
                    1. @toksyuryel Make your software database agnostic if you can. That way people can use MySQL if they want.

                      Wednesday, 09-May-12 07:20:16 UTC from MuSTArDroid
                      1. @widget No can do I'm afraid. I'd lose access to a LOT of features if I did that, and frankly I tend to view MySQL as the Internet Explorer of databases (most professional DBAs I've spoken with do so as well; they're the ones that recommeneded PostgreSQL to me, in fact).

                        Wednesday, 09-May-12 07:23:53 UTC from web
                        1. @toksyuryel Why not? You could just have two versions of every function. One that uses the roundabout MySQL way, and the other that uses PostgreSQL. Or something.

                          Wednesday, 09-May-12 07:26:22 UTC from MuSTArDroid
                          1. @widget I'll leave that to someone who cares. I'm not going to spend all that energy trying to make the thing work even half as good on such an inferior system that frankly nobody in their right mind should ever use. MySQL is and has always been a toy, completely unsuitable for real-world professional workloads.

                            Wednesday, 09-May-12 07:31:17 UTC from web
                            1. @toksyuryel That's why it's so popular and widely supported I guess.

                              Wednesday, 09-May-12 07:31:42 UTC from web
                              1. @ceruleanspark Lots of things that are terrible are popular, because they focus on being popular instead of on being good. It's a marketing thing.

                                Wednesday, 09-May-12 07:35:02 UTC from web
                                1. @toksyuryel I think you and MySQL have some issues you need to sit down and work out. For a long time, MySQL was in fact (as was apache) the unquestionable best-thing. That is why it's popular. It's still IMO, the most pick-up-and-playable DBMS. (Admittedly, pick-up and playability just tends to lead to people shooting themselves in the foot, genitals and face, but still)

                                  Wednesday, 09-May-12 07:38:57 UTC from web
                                  1. @ceruleanspark As far back as 2003 I was in contact with a professional DBA who swore by PostgreSQL and had nothing but contempt for MySQL. He would often tell me stories about the amazing queries he wrote and how they would be impossible to replicate in MySQL. The perception that MySQL was ever "the best" has always been marketing, helped along by its pick-up-and-playability as you called it.

                                    Wednesday, 09-May-12 07:44:53 UTC from web
                                    1. @toksyuryel The thing is, (and it is by no means a good or right thing), the vast majority of developers kind of...aren't DBA's. A frankly disturbing quantity of them known next to nothing about database design. To them, the best database is the one that they know how to use. The advanced features and benefits of postgres are alien to them simply because they occupy a tier beyond their comprehension.

                                      Wednesday, 09-May-12 07:47:59 UTC from web
                                      1. @ceruleanspark I blame this for the rise in "Apps using NoSQL solutions in situations where a proper relational database is a better idea". "I don't know how to write performant SQL, ergo, SQL is bad."

                                        Wednesday, 09-May-12 07:49:50 UTC from StatusNet Desktop
                                        1. @ceruleanspark I think another problem is that the database system can have TOO MANY features. If you're doing anything beyond simple calculations within the database there's probably something wrong. (this is me talking with what little experience I have)

                                          Wednesday, 09-May-12 07:54:21 UTC from MuSTArDroid
                                      2. @ceruleanspark I like to think I've read enough Zed Shaw and Eevee posts by now to no longer fall into that category. But there's probably a few things I'm using only because I happen to know them.

                                        Wednesday, 09-May-12 07:52:22 UTC from web
                                        1. @toksyuryel Going back to your original question, you shouldn't be putting programattic logic in your database.

                                          Wednesday, 09-May-12 07:53:56 UTC from StatusNet Desktop
                                          1. @ceruleanspark Probably not. But regardless it'll be good practice and I can check how it performs; who knows, maybe it'll actually perform really well. But most likely I'll end up shifting a lot of it into the API handler instead. I dunno. I just started all this a couple days ago and then my entire OS went kiwi up on me when I tried to restart X. I should be able to start actively testing this stuff by Thursday. Until then I have nothing concrete to offer.

                                            Wednesday, 09-May-12 07:59:00 UTC from web
                                            1. @toksyuryel All I know is that my Database Design instructor would slap my face if I did it. Whether that makes it good practise or not is another matter.

                                              Wednesday, 09-May-12 08:11:38 UTC from StatusNet Desktop
                                2. @toksyuryel The whole deal is, even if MySQL is terrible as you say, there's plenty of software out there that uses it, so server admins install it on their servers because their users need it. When new software gets written, the devloper goes, "let's see what my target audience is using." If the target audience is "anyone" then the obvious choice is MySQL. If however, the target audience is companies, then sure, go with Postgres, because they're likely to be running a VPS anyway. The problem is targeting only companies severely limits the amount of developers that will get involved with improving your software, unless it's so holycrapamazing that every company wants to use it. (Even then, companies aren't exactly known for sharing improvements, are they?)

                                  Wednesday, 09-May-12 07:42:59 UTC from MuSTArDroid
                                  1. @widget I am targeting the sort of users that have the resources to run something on the scale of statusnet with a community at least as large as RDN's. I trust them to be utilizing proper hosting strategies.

                                    Wednesday, 09-May-12 07:47:15 UTC from web
                            2. @toksyuryel You won't have a successful project if your users can't install it. Just saying.

                              Wednesday, 09-May-12 07:34:16 UTC from MuSTArDroid
                              1. @widget Any decent host will support it as these are all professional-grade tools with widespread industry support and respect. Find a new host if yours doesn't. (realistically, you should be hosting software of this nature somewhere you have root access anyway so available platform software is entirely moot as you choose what is present)

                                Wednesday, 09-May-12 07:39:17 UTC from web
                        2. @toksyuryel MSSQL would be the Internet Explorer of databases though, right? MS can't seem to do anything to standard.

                          Wednesday, 09-May-12 07:28:35 UTC from MuSTArDroid
                          1. @widget Oh man. I once tried to use that thing. Never again.

                            Wednesday, 09-May-12 07:30:36 UTC from web
                          2. @widget Hilariously even MSSQL is better than MySQL.

                            Wednesday, 09-May-12 07:32:51 UTC from web
                            1. @toksyuryel That's a joke right? MySQL at least works.

                              Wednesday, 09-May-12 07:36:09 UTC from web
                    2. @toksyuryel Who develops Postgres anyway?

                      Wednesday, 09-May-12 07:21:03 UTC from MuSTArDroid
                      1. @widget "PostgreSQL Global Development Group", according to the website. It started out at Berkeley as just "Postgres" and after leaving they added support for SQL and changed the name a couple times.

                        Wednesday, 09-May-12 07:27:14 UTC from web
                    3. @toksyuryel Especially considering a number of hosts only My.

                      Wednesday, 09-May-12 07:22:28 UTC from MuSTArDroid
                      1. @widget *only offer MySQL.

                        Wednesday, 09-May-12 07:24:00 UTC from MuSTArDroid

Affiliates

Fluttershy.org Brony Aerospace Bronies UK PonySquare
Cornify