I did commit to dropping the thread properties editing functionality. It was being strange and difficult to work on, so it simply will not be a thing. Instead, I moved ACL control to its own page, which will be accessible from a moderator control panel in the thread. I did a little bit of checking around the database and determined that it's best to simply try to occupy permission ID #1 first and if it's taken, use the maximum plus one. Eventually, the table will waste lots of IDs, but I'm thinking of implementing a "pack database" button for administrators. The thread ACL control works very nicely. Tick the boxes next to an ACL entry to remove it and type a name in the text box under the list to add it.
Various technical articles, IT-related tutorials, software information, and development journals
Sunday, September 29, 2013
Friday, September 27, 2013
Minecraft - Water Destroys End Portals
I recently and accidentally discovered that pouring a bucket of water onto the side of a block occupied by an End portal will destroy that part of the portal. Fortunately, only source blocks can do this, but it was very terrifying to see one ninth of my access to the End erased. I filed a bug report on Mojira, which will have the latest on this issue.
Thursday, September 26, 2013
Logofrag - Abandon Edit Ship
Debugging the edit-thread functionality has become infuriating. As such, I have decided to split it into its own page, possibly dropping support for all attributes except ACLs. It doesn't really make sense to allow people to write exceedingly long fragments after the thread had already been going with short ones. Modifying the permissions will have to be possible. Once this is finally out of the way, I can develop useful things like thread view, fragment adding, and user profile pages.
Wednesday, September 25, 2013
Logofrag - Edit Rage
I did even more head pounding and determined that the approach I created last post is not useful in Logofrag. I have tried tons of ways over the past three days to allow thread properties to be edited by the moderators, but it won't work properly. I just now got it back to a state in which thread creation works and made editing not crash the server. Editing does, however, duplicate the ACL entries and has no effect on other properties. I am getting very frustrated with this project, but I'm sure it will only take another day or two before I break past this issue and actually start doing things.
Tuesday, September 24, 2013
LINQ - Get First Unused ID
I just spent two hours pounding my head against the proverbial wall trying to get some Logofrag stuff to work correctly. After messing around with all manner of methods, I found an amazing StackOverflow answer that put all the pieces in place. This is how I finally was able to find the first unused permission ID:
Dim idsQuery = From right In data.ThreadRights Select right.RightID
Return (From n In idsQuery Where (Not idList.Select(Function(x) x).Contains(n + 1)) Order By n Select n + 1).First
I had never before used lambdas, so that's another thing I learned. They're very easy, just say whether it's a function or sub, give the arguments it takes, and write the return value.
Dim idsQuery = From right In data.ThreadRights Select right.RightID
Return (From n In idsQuery Where (Not idList.Select(Function(x) x).Contains(n + 1)) Order By n Select n + 1).First
I had never before used lambdas, so that's another thing I learned. They're very easy, just say whether it's a function or sub, give the arguments it takes, and write the return value.
Monday, September 23, 2013
Keep Calm and Resume Next
No, please never actually write "On Error Resume Next." But do enjoy this parody I made of the "Keep Calm and Carry On" posters!
Don't you love QuickBasic?
Don't you love QuickBasic?
Sunday, September 22, 2013
Logofrag - Threads
LINQ/SQL is more of a pain that I had originally thought. It requires me to figure out the next available primary key and won't allow me to access foreign key relationships as collections without them. I did manage to slog through coding-behind the thread moderator interface. Users can now create new threads and possibly reopen the properties of old ones (I haven't tested that yet). After repairing all the database things, I added a "permission denied" page that is shown when users attempt to use query string manipulation to access things they can't.
Subscribe to:
Posts (Atom)

