tag:blogger.com,1999:blog-201873772008-07-17T19:13:06.340-04:00LatoblogMichael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comBlogger46125tag:blogger.com,1999:blog-20187377.post-3487253114919494502008-07-17T14:26:00.003-04:002008-07-17T14:39:32.794-04:00Permission EscalationSo I've been progressing with the admincp. Unfortunately with a module as important as this I've had to rethink certain things.<br /><br />Initially, the admincp was put into as a module, but a lot of hard coding was done to separate it as much as possible (it makes its own session, it attempts to deal with itself as a seperate entity apposed to the rest of the modules, and so on).<br /><br />I've recently decided it just seems inconvient to have it so seperated because I actually wanted to streamline the board and admin panel so you can switch between them with ease. I also wanted to add a bit of security.<br /><br />So, I've come up with permission escalation. Here's how it works:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_tAWvhtNuBBU/SH-QpeydwPI/AAAAAAAAAGM/-u2uf7Mram8/s1600-h/passwd.PNG"><img style="cursor: pointer;" src="http://bp3.blogger.com/_tAWvhtNuBBU/SH-QpeydwPI/AAAAAAAAAGM/-u2uf7Mram8/s400/passwd.PNG" alt="" id="BLOGGER_PHOTO_ID_5224053135086829810" border="0" /></a><br /><br />This screen will come up if you have never entered your password in that session (if you used the login form, that counts as entering your password and you will not see the prompt, but if you used cookies to login, it will ask you everytime you create a new session).<br /><br />Upon entering your password successfully, your session becomes escalated, and gives you access to more sensitive options such as the admin panel. I hope to eventually add this for moderator options as well but it'll be a while before I implement that.<br /><br />Permission escalation is simply a flag for the current session, its up to the programmer which pages will require it, and any registered user may be required to use it. The method I've implemented it make it super easy for other modders to use it on their own pages as well.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-41147076648762553432008-05-10T14:05:00.003-04:002008-05-10T14:07:20.467-04:00Short Latova related updateSome people are asking me what im up to because of lack of updates. I'm actually working right now with different ways of making a modular admin CP. Nothing really to say about it, im trying out different concepts and seeing how they work, I've had about 3 "do-overs" so far.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-6476152619850542712008-05-02T03:38:00.002-04:002008-05-02T04:16:07.933-04:00Mario Kart Wii reviewA lot of good stuff going on this month. I grabbed myself a copy of mario kart wii before I get back into school.<br /><br />I've always liked mario kart, I'm not nuts for the hardcore racing games, mario kart wii is one of those "everyone can enjoy" racing games. I've played all the versions, my least favorite was double dash, even though quite a few people think highly of it the whole two person thing didn't seem very mario kart like.<br /><br />Anyho, some of the new features are things like 12 players, motorcycles, online play, new items, and a few other things. Unfortunately each new mario kart game seems to remove a lot of the skill required to be a good player and replaces it with luck. Its their way of making sure that people who aren't good at the game have fun too by keeping them in the race and giving them a chance at winning. I have this one friend who whenever we play with him (he knows hes not good), his entire strategy is to hang back in 12th place and look for the "bullet item" (it rockets you with no steering required fairly far forward, and will knock out anyone who gets in its way). Unfortunately the gap between veteran and crappy players is closing in, and nothing frustrates you more than getting hit by a blue shell inches in front of the finish line when you've been first place the entire time.<br /><br />Mario Kart wii contains many, many unlockables. The game is practically 1/3rd of its true content when you start it up brand new, so to get a solid multiplayer account going to unlock all the karts, characters and so on you're going to end up doing a lot of single player. I have no idea why there are so many unlockables, because if you bring just the game it to your buddies house whos never played on his system you don't even have half the courses available to play. Thus begins a very frustrating many hours.<br /><br />Mario kart is known for its mutliplayer fun. The fact that it forces you to already start playing single player is frustrating already. The unlockables go as far as 150cc grand prix and theres actually another 150cc after that which unlocks called "mirror mode" (all the courses are backwards, its a gimmick) which forces you to do the most difficult mode for a second time. 50cc and 100cc I found to be fair and fairly fun. But 150cc is just all luck.<br /><br />No matter how perfect you are at mario kart, the AI simply hates you, and loves to combo you. Basically what comboing is (its what I call it, probably not an official term), is when you get hit by something, lets say a blue shell, and it stops you dead. Then the AI who is now passing you will use their items, and the heavier cars will bump into you. Which means you will be basically bombarded. Theres nothing you can do about it. I have easily gone from 1st place with a reasonable lead to dead last. I've been comboed as much as 5 separate hits without me having the ability to do anything.<br /><br />The worst part is that comboing seems to be more frequent on the last lap. The items which can cripple your ranking appear to come far more often then any previous mario kart game I've played. I recall in mario kart 64 a blue shell probably happened once every 3 or so tracks you play on, in the wii version you can have probably around 3 blue shells launched to the poor guy in first place. Really, a sensible strategy people actually use is actually to remain in second place on purpose until the final stretch.<br /><br />The game actually expects you to finish in first for an entire cup (which is 4 tracks, 3 laps each, you have to have a high ranking for more points, most points wins) an on top of that some unlockables require you also to get exceptional times while playing with the AI. Basically you play 150cc hoping to hell that the AI behind you isn't going to combo you back into 12th place after you finished 3 tracks and you're on the final lap of the last one. I've found myself just quitting a grand prix simply because I knew that I can't recover from a certain race. Regardless, im playing single player just to get the unlockables and then never touching it again.<br /><br />The local multiplayer is of course lots of fun. I highly recommend to just disable the AI so you're just playing with your buddies. But by doing this most of the courses seem awkwardly large. One of my complains about the multiplayer is that when you play with 3 people, it actually splits the screen up 4 ways and uses the 4th screen as a useless spectator scrolling screen. I don't know why they couldn't just make first player have a bigger screen (or give the option). The other problem is when the screen is split up 4 ways the game severely cripples the quality and there's a noticeable drop in frame rate. This is because of the processing power required on the wii, but there's such a noticeable difference which i never noticed compared to previous games. Regardless, the multiplayer is what you should be buying the game for.<br /><br />Last is the online portion, which allows for 2 people to play (probably better as 4 seeing how crippled the experience gets when the screen is split 4 ways). Its a huge change over brawl, I've never been in a laggy game, it always connects perfectly, and its a lot of fun. Racing against 12 real people across the planet is much more fun then playing against the AI. They actually got the online right this time.<br /><br />I still do wish that nintendo did some kind of unified online system and voice chat, but apparently someone at nintendo thinks there will be preadators out there. It would of been nice to have something, because nintendo can easily whip something up to become comparable to xbox live, but sadly thats probably not going to happen.<br /><br />Mario Kart Wii score: 4/5.<br />Definately a really great game, but the need for unlockables and the frustrating single player experience are definately negatives. However its a very solid multiplayer game, and even if you don't have a few buddies to play the game with you can hop online and find some strangers to play with, although I would of liked the option to talk with them... even if it is just me cursing about red shells.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-8515844419075359072008-04-21T21:41:00.001-04:002008-04-21T22:22:35.898-04:00Rainbow Six Vegas 2 ReviewI've been bitching about this game, my friend suggested I should write a review. So I will.<br /><br />I bought my xbox about a year back. Vegas was one of the games I got with it, I loved it. It was a lot of fun, regardless of its shortcomings. I don't get much use of my 360 anymore and I'm trying to sell it, I would of sold it before but vegas 2 was supposed to be the successor to the game I first loved so I waited for it. Later I found out it was on the PC and got that. What a mistake.<br /><br />Metacritic gives vegas 1 a 89/100 (xbox wise) and 83/100 for vegas 2, so you'd assume it'd be maybe just as good (prehaps slightly worse) then its predecessor? Nope, ubisoft ripped us all off.<br /><br />The game features a better system for getting your equipment all over again through specialized points of some kind, has slightly better graphics (but not near the leap with vegas 1) and few gameplay changes. The engine itself makes itself painfully obvious that its the same vegas 1 engine with improvements. Not many improvements were made at all, its a very lazy sequel.<br /><br />The sound still randomly cuts out. I have no idea why they couldn't fix a bug from the first game, but its there with great frequency, theres no way they couldn't of picked up on that. One of the things they promised was better AI. I've seen them go as far as to try to block my view by shooting extinguishers (which doesn't do much to stop me), tell each other to "aim for the head" or "aim for their leader" which doesn't seem very realistic of terrorists to say to each other much less even do in all circumstances. The last thing is the extremely watered down gameplay.<br /><br />One of my complaints with the first game was how useless sniper rifles, the armor system and silencers were (all my favourite things). They're even more useless now since there's not very much of an advantage with any of them. Inaccurate submachine guns have the same headshotting ability as my sniper rifle, because almost all the time you'll be in close quarters or controlling your shots. The game punishes you for not wearing full armor since the game appears to be designed around the fact that probably everybody is going to wear full armor so theres really no point in even including the armor feature in the game. Last the silencers are absolutely useless since majority of the time you're only supposed to use them in certain situations when the game wants you to, the rest of the time your foes have ESP and automatically know where you are.<br /><br />The other problem is with the fact that now the AI can one hit kill you, you'll be going back a fair bit. There is so much scripting in this game that after you've done the same encounter like 4 times, you automatically know where everybody is, or will come out, and it never changes. It's like duck hunt with assault rifles (the ducks get them too). If you dare to deviate from the predefined gameplay the developers set out, they will punish you for it. So the only reason you'd be doing anything differently is purely for style, which means nothing.<br /><br />The story is absolutely horrible. It was bad enough they left the last game in a cliffhanger, I have not got to the ending (im close though) but what is supposed to be the climax is boring me to death. It gets worse, the voice acting of everybody in the game is really bad (especially the character you play as, "Bishop", whom you can be male or female). I like games that get me excited when the characters sound like they're in those situations. Logan from the first game was a pretty good voice actor, but both the male and the female voice actors for this game sound so dull.<br /><br />Speaking about how lazy the sound is for this game, I found that like the first game, a lot of dialog/sound effects don't sync up with whats happening on screen. Its like watching a dubbed movie. Whats worse is that most of the sound effects are the exact same from the first game. Even the music is the same from the first game.<br /><br />The AI in both campaign and terrorist hunt haven't changed much. Regardless of a silencer, they all walk out in a linear fashion from wherever they are spawning from and come magically to where you are. No coordination, no "oh wow look at that pile of bodies, maybe I shouldn't go there", no "the guy in front of me just died, I'll just go exactly where he was going".<br /><br />You could argue "don't fix what ain't broke", but then don't charge me 50 bucks for what ain't broke.<br /><br />Almost every review site out there does some sort of weird score out of 100 that means very little. My score will be out of 5. A perfect 5 doesn't mean the game is perfect, but it means you should definitely buy it because its a great game even if you aren't a fan of shooter genre. A 0/5 means avoid at all costs.<br /><br />Rainbow Six Vegas 2 score: 1/5.<br />Buy it if you never played vegas 1 and you're a huge fanboy, but you can easily save yourself 30 bucks and just play vegas 1. It's much of the same thing.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-70233293246173178772008-04-13T01:06:00.006-04:002008-04-13T01:15:46.148-04:00For SyphonAll the features in this blog post are dedicated for Syphon! :D<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_tAWvhtNuBBU/SAGVEPdOhJI/AAAAAAAAAE8/Yo0mjigE2RI/s1600-h/Screenshot-Latova+%3E+This+is+a+spam+topic+-+Mozilla+Firefox+3+Beta+5.png"><img style="cursor: pointer;" src="http://bp1.blogger.com/_tAWvhtNuBBU/SAGVEPdOhJI/AAAAAAAAAE8/Yo0mjigE2RI/s400/Screenshot-Latova+%3E+This+is+a+spam+topic+-+Mozilla+Firefox+3+Beta+5.png" alt="" id="BLOGGER_PHOTO_ID_5188592145808655506" border="0" /></a><br />You can see the new dropdown with the complete topic moderation features of Latova. I don't really intend on adding anything more. You can also see how topic and post moderation are now split into two separate dropdowns on separate sides of the page.<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_tAWvhtNuBBU/SAGVePdOhKI/AAAAAAAAAFE/xt29iTcYpa4/s1600-h/Screenshot-Latova+%3E+Delete+Topics+-+Mozilla+Firefox+3+Beta+5.png"><img style="cursor: pointer;" src="http://bp1.blogger.com/_tAWvhtNuBBU/SAGVePdOhKI/AAAAAAAAAFE/xt29iTcYpa4/s400/Screenshot-Latova+%3E+Delete+Topics+-+Mozilla+Firefox+3+Beta+5.png" alt="" id="BLOGGER_PHOTO_ID_5188592592485254306" border="0" /></a><br />It will now also ask you before deleting or purging topics.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_tAWvhtNuBBU/SAGVrPdOhLI/AAAAAAAAAFM/nDTK7O9zTd8/s1600-h/Screenshot-Latova+%3E+Test+Forum+-+Mozilla+Firefox+3+Beta+5.png"><img style="cursor: pointer;" src="http://bp1.blogger.com/_tAWvhtNuBBU/SAGVrPdOhLI/AAAAAAAAAFM/nDTK7O9zTd8/s400/Screenshot-Latova+%3E+Test+Forum+-+Mozilla+Firefox+3+Beta+5.png" alt="" id="BLOGGER_PHOTO_ID_5188592815823553714" border="0" /></a><br />Deleting topics in latova no longer mean they're removed. Its another level of "hidden". Deleted topics can be posted in, but you can make it so your moderators can only delete topics, incase they make any errors or you decide to reverse their decision to delete it. Topics that are deleted will be automatically purged 30 days after deletion.<br /><br />If you actually want to hard delete the topic (actually remove it from the database), you'll have to purge it. Theres a new moderator option for admins and global moderators for that, and if you choose to you can let your moderators purge as well.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_tAWvhtNuBBU/SAGW2vdOhMI/AAAAAAAAAFU/B4UlhYpXLgI/s1600-h/Screenshot-Latova+%3E+Test+Forum+-+Mozilla+Firefox+3+Beta+5-1.png"><img style="cursor: pointer;" src="http://bp3.blogger.com/_tAWvhtNuBBU/SAGW2vdOhMI/AAAAAAAAAFU/B4UlhYpXLgI/s400/Screenshot-Latova+%3E+Test+Forum+-+Mozilla+Firefox+3+Beta+5-1.png" alt="" id="BLOGGER_PHOTO_ID_5188594112903677122" border="0" /></a><br />Also, hidden topics are here as well.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-37322030217707428212008-04-03T13:55:00.000-04:002008-04-03T13:59:22.341-04:00Online list changesOne cool thing I'm planning. When a person is viewing the same module that you're viewing, the names will go bold. Also, every module will have the option of putting it on all the pages (so the online list will be on the forum, wiki, portal, etc, multipule pages).<br /><br />Another cool thing I've already, is if you hover over names it'll tell you what they're doing (like whats on the online list). Heres an example (the picture is missing a cursor which doesn't show up when taking a screenshot):<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_tAWvhtNuBBU/R_Ua6DedTSI/AAAAAAAAAE0/hgEt81UsFKM/s1600-h/viewing.png"><img style="cursor: pointer;" src="http://bp0.blogger.com/_tAWvhtNuBBU/R_Ua6DedTSI/AAAAAAAAAE0/hgEt81UsFKM/s400/viewing.png" alt="" id="BLOGGER_PHOTO_ID_5185080130654784802" border="0" /></a>Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-50947226763307021292008-01-11T10:14:00.000-05:002008-01-11T10:22:39.785-05:00Search results<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_tAWvhtNuBBU/R4eICk7g03I/AAAAAAAAAD8/MpWwgFT2PW0/s1600-h/Screenshot-Debug+Latova+%3E+Search+Results+-+Mozilla+Firefox.png"><img style="cursor: pointer;" src="http://bp3.blogger.com/_tAWvhtNuBBU/R4eICk7g03I/AAAAAAAAAD8/MpWwgFT2PW0/s400/Screenshot-Debug+Latova+%3E+Search+Results+-+Mozilla+Firefox.png" alt="" id="BLOGGER_PHOTO_ID_5154237876403229554" border="0" /></a><br />New search results page. Some noticeable differences is that the URL no longer contains a random hash of the results, meaning you can actually send your friends the link to the search, or even bookmark it and access it anytime in the future. Searches are cached for about 30 minutes, but when you access that same url again it remakes your search since all of your search parameters are in the URL, the only difference is that it only adds new results but it doesn't actually change anything that you were looking for. In this search I was looking for posts with the phrase "test", the only 'issue' I can see per say is if I link an admin to a search when I'm a regular user, their results may be different from mine if theres a hidden forum with the phrase "test" in there that I, as a user can't see. So if I tell them to "look at the first result" their first result may be in a hidden forum while mine will be in a normal forum. However it will be such a rare issue, anything I'd do to prevent that would pretty much ruin it so I'll keep it the way it is.<br /><br />Another cool thing is that Latova will still reparse content, even in searches. If a post or signature needs to go through the parser again, it will. Also, image resizing, autoparsing, bbtags, etc, they all of course work as expected.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-41286423458204177552008-01-08T19:20:00.000-05:002008-01-08T19:25:37.440-05:00Kernel level functionI'm nearing completion with the 0.2.0 release.<br /><br />One neat little change I placed in there was the use of the kernel level function. Its essentially a "reserved" function for use in any module made by anyone, and latova will call upon it to execute different things for more advanced developers.<br /><br />If you're totally new to latova or something, no worries, nothing in this function is actually required per say, but it enables closer integration. You first have to flag the module under lat_kernel_pages as "system" meaning it can execute the kernel level function.<br /><br />It essentially so far has 4 kinds of abilities, handling search form display, quick search option overrides, commiting searches, and reparsing content. Later I may add more, and its totally flexible.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-8693633010496034442008-01-08T02:29:00.000-05:002008-01-08T02:34:24.140-05:00Search form<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_tAWvhtNuBBU/R4Mm007g02I/AAAAAAAAAD0/5D2IvMSOLvQ/s1600-h/screenshot2.png"><img style="cursor: pointer;" src="http://bp0.blogger.com/_tAWvhtNuBBU/R4Mm007g02I/AAAAAAAAAD0/5D2IvMSOLvQ/s400/screenshot2.png" alt="" id="BLOGGER_PHOTO_ID_5153005087645291362" border="0" /></a><br /><br />I likey. It's very simple. I struggled with a way to choose what forums to search, and I finally nailed it. The "forums to search:" box will get a vertical scrollbar for long amounts of forums, its skinable, and its a lot easier for some people then multiselect boxes.<br /><br />I orginally had "search within posts/titles", but I removed it. I can see a bit of a point of it but I'm going to leave it out and just have it search both by default.<br /><br />Oh yeah ignore the top where it says 'omg', its a placeholder for switching between search types.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-13533546560523987292008-01-05T02:30:00.000-05:002008-01-05T02:31:58.532-05:00PM popup changed<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_tAWvhtNuBBU/R38yU07g01I/AAAAAAAAADs/v-ATxQduASI/s1600-h/screenshot1.png"><img style="cursor: pointer;" src="http://bp0.blogger.com/_tAWvhtNuBBU/R38yU07g01I/AAAAAAAAADs/v-ATxQduASI/s400/screenshot1.png" alt="" id="BLOGGER_PHOTO_ID_5151891832122168146" border="0" /></a><br />I figured that the PM popup was weird when it takes up your entire screen, so I made it smaller and more simple.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-47920653374698243172008-01-04T14:38:00.000-05:002008-01-04T14:40:44.766-05:00BBtags popup<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_tAWvhtNuBBU/R36Ltk7g00I/AAAAAAAAADk/l-pQr_S-UXo/s1600-h/BBtags_1199475488375.png"><img style="cursor: pointer;" src="http://bp2.blogger.com/_tAWvhtNuBBU/R36Ltk7g00I/AAAAAAAAADk/l-pQr_S-UXo/s400/BBtags_1199475488375.png" alt="" id="BLOGGER_PHOTO_ID_5151708638882091842" border="0" /></a><br />Well, its done. In other news, I killed the email tag. It's underused, and rarely to people ever actually put them in public view seeing how spambots and stuff are around these days.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-79426733923674499642008-01-02T19:11:00.000-05:002008-01-02T19:19:08.567-05:00Offsite image resizingThis took me a while but I finally finished it. Both the [img] tag and autoparsing follow under this.<br /><br />I added a javascript offsite image resizer thingy.<br /><br />It actually works fairly well.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_tAWvhtNuBBU/R3wopE7g0zI/AAAAAAAAADE/N3xjnWPkPB4/s1600-h/screenshot1.png"><img style="cursor: pointer;" src="http://bp2.blogger.com/_tAWvhtNuBBU/R3wopE7g0zI/AAAAAAAAADE/N3xjnWPkPB4/s400/screenshot1.png" alt="" id="BLOGGER_PHOTO_ID_5151036759968109362" border="0" /></a><br /><br />It looks like that. The image I used was a wallpaper on my laptop. It will resize it, and you can additionally actually define different sizes for different types of content as well (signature, small, medium, large). It works fairly well, Theres only one problem I encountered and that is that if the image is too big it will automatically go onto its own line.<br /><br />Some of the cool things is that only clicking "view full image" will actually view the full thing, if you made the image into a link latova won't override that. Another neato thing is that if you have javascript disabled, it will revert to just showing you the fullsize image (but it still won't deform pages, as the CSS will kick in just like in the current latova kernel versions). Last, small images like your own custom smilies will still appear within text perfectly fine.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-47774470914212777772007-12-18T23:32:00.000-05:002007-12-18T23:36:18.915-05:000.2.0 release coming...Theres 4 things left before I release 0.2.0<br /><ul><li>System maintenance mode for modules (haven't started)<br /></li><li>Search (started, about 15% complete)</li><li>Finish name change handling (almost done, 80%)</li><li>BBtag popup and help language entries (about 40% done)</li></ul>I'm aiming for the release before the weekend. This is going to be a very large release, many fixes, improvements, and optimizations.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-51440124036393633282007-12-17T13:46:00.000-05:002007-12-17T13:58:41.590-05:00Username changes and bbstuffThe one feature I've been looking to add for a long time is here at last. Changing usernames. A few boards do some things like having more than one username (one for display and one for login) or whichever. I feel that just adds to the complexity. Changing this will change your login name and everything. People can even take your old name if they choose to (so be careful!)<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_tAWvhtNuBBU/R2bEcB2gdVI/AAAAAAAAACo/3fc3FYk-vFY/s1600-h/screenshot1.png"><img style="cursor: pointer;" src="http://bp0.blogger.com/_tAWvhtNuBBU/R2bEcB2gdVI/AAAAAAAAACo/3fc3FYk-vFY/s400/screenshot1.png" alt="" id="BLOGGER_PHOTO_ID_5145015610129806674" border="0" /></a><br /><br /><br />Basically by default (always changable) your users have 3 name changes within a 30 day period. This stops them from changing it too often but gives some flexibility if they make a mistake. This feature can actually be disabled completely if an admin is compelled to as well.<br /><br />When submitted, all content is changed so the new username will appear, instantly. I'll be adding a "system" flag onto modules, which will allow developers to make one function within their code to allow latova to perform maintenance tasks when the admin so choses, one of which will be name changing. One neat thing is:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_tAWvhtNuBBU/R2bEch2gdXI/AAAAAAAAAC4/DlcN-ZKSG7g/s1600-h/screenshot3.png"><img style="cursor: pointer;" src="http://bp2.blogger.com/_tAWvhtNuBBU/R2bEch2gdXI/AAAAAAAAAC4/DlcN-ZKSG7g/s400/screenshot3.png" alt="" id="BLOGGER_PHOTO_ID_5145015618719741298" border="0" /></a><br /><br />Quotes now have links to profiles and will ALSO change in all posts when a user quotes another user.<br /><br />Lastly I've almost finished up on the new bbtag stuff. The layout has been changed slightly to make for room for more things as seen below.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_tAWvhtNuBBU/R2bEcB2gdWI/AAAAAAAAACw/BYnq697GxAY/s1600-h/screenshot2.png"><img style="cursor: pointer;" src="http://bp0.blogger.com/_tAWvhtNuBBU/R2bEcB2gdWI/AAAAAAAAACw/BYnq697GxAY/s400/screenshot2.png" alt="" id="BLOGGER_PHOTO_ID_5145015610129806690" border="0" /></a><br /><br />The limits are now clearly defined, and now you can finally see all the bbtags that you are allowed to use and more information on them. Image limit counts for both autoparsing and use of the [img] tag. "Media" limit is basically the video limit, but the reason I called it media was because it does not necessarily have to be videos. It can be any kind of plugin, flash games, sounds, whatever you can imagine, you can put it in as media. By default however, latova only allows for videos, but I've left it open to almost limitless modifications.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-2364809190569848782007-12-16T18:11:00.001-05:002007-12-16T18:19:59.548-05:00Zack Ladwig gave me a cool idea to "hint" certain popups and notifications to make their purpose more clear, it brings more attention to the fact that they aren't standard boxes.<br /><br />For action notifications:<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_tAWvhtNuBBU/R2WwpB2gdSI/AAAAAAAAACQ/J9vbgX8Jjqs/s1600-h/screenshot1.png"><img style="cursor: pointer;" src="http://bp3.blogger.com/_tAWvhtNuBBU/R2WwpB2gdSI/AAAAAAAAACQ/J9vbgX8Jjqs/s400/screenshot1.png" alt="" id="BLOGGER_PHOTO_ID_5144712368258839842" border="0" /></a><br /><br />For errors:<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_tAWvhtNuBBU/R2WwpR2gdTI/AAAAAAAAACY/wAEMjm9GtWw/s1600-h/screenshot2.png"><img style="cursor: pointer;" src="http://bp0.blogger.com/_tAWvhtNuBBU/R2WwpR2gdTI/AAAAAAAAACY/wAEMjm9GtWw/s400/screenshot2.png" alt="" id="BLOGGER_PHOTO_ID_5144712372553807154" border="0" /></a><br /><br />And for form errors:<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_tAWvhtNuBBU/R2Wwph2gdUI/AAAAAAAAACg/khmvUPYN230/s1600-h/screenshot3.png"><img style="cursor: pointer;" src="http://bp1.blogger.com/_tAWvhtNuBBU/R2Wwph2gdUI/AAAAAAAAACg/khmvUPYN230/s400/screenshot3.png" alt="" id="BLOGGER_PHOTO_ID_5144712376848774466" border="0" /></a><br /><br />Edit: I've made the colours more lighter in the backgrounds but I didn't update the screenshots.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-61529070106222826522007-12-16T17:28:00.000-05:002007-12-16T17:38:15.233-05:00Parser CleanupThe last time I jumped into the latova parser was when I did the whole cache thing where posts appear as real time. I never actually made real changes to the parser, just how the parser recaches content.<br /><br />It's actually been a fair bit of time since I've touched that area. Basically its undergone many, many changes over time but I haven't actually gone through it and read it line from line to see if it makes sense what I'm doing. So, I did that today. Oh boy.<br /><br />I found little bits and pieces of things that I experimented with but never finished, and it seems like all the parsing related items have way too many arguments. Latova's code structure has changed over time but I've never really updated the parser, I've just always kept things so they "work". The amount of excessive code is really out of control so I'm going to fix that up and finish up bbtag permissions for today.<br /><br />BBtag permissions is coming along nicely. If someone goes reading through it, it'll probably be seemingly more complex than it had to be but it was all for a good reason.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-57563763556537596882007-12-14T16:40:00.000-05:002007-12-14T17:00:48.667-05:00Yeah so, the plan is that I'm going to release 0.2.0 sometime during the holidays with many additions, fixes, and new features. I'm currently working on the smilies popup (which will be the basis for the bbtag popup as well).<br /><br />Heres how it looks:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_tAWvhtNuBBU/R2L4kh2gdRI/AAAAAAAAACI/xx4idOiCm5w/s1600-h/Screenshot-http:--127.0.0.1+-+Smilies+-+Mozilla+Firefox.png"><img style="cursor: pointer;" src="http://bp2.blogger.com/_tAWvhtNuBBU/R2L4kh2gdRI/AAAAAAAAACI/xx4idOiCm5w/s400/Screenshot-http:--127.0.0.1+-+Smilies+-+Mozilla+Firefox.png" alt="" id="BLOGGER_PHOTO_ID_5143947030856496402" border="0" /></a><br /><br />Things are looking pretty good so far. I'm working on the bbtag permissions, something I promised from the beginning and I intend to deliver on. The permissions work on a per-group basis. For each group you can set:<br /><ul><li>If a group can even use the bbtag (if they are not allowed to it will not show up as a button or in the bbtag popup menu).<br /></li><li>How many times a user in that group can use a bbtag, by default all bbtags are set as unlimited.<br /></li><li>How many images can be placed in one piece of content.</li><li>How much embedded content can be placed in one piece of content.</li></ul>It will follow the same "permission profiles" technique I used for forums. However Latova is designed for dynamic website needs, not all content is treated equally. Some content is larger and should have greater limits, some are smaller and should be restricted to simple only. For the time being I have not restricted access to any bbtags (with the exception of img, which I'll explain later). Essentially setting individual permissions boil down to 4 areas:<br /><ul><li>Signatures: It's just the bit of text that appears after things you post up. You can post up to 3 images in here and 0 videos by default.<br /> </li><li>Small Content: Smaller things like comments on content, "shouts", or other things. You can post 0 images and 0 videos by default.<br /></li><li>Medium Content: Standard things like posts, private messages, and so on. You can post 10 images and 3 videos by default.<br /></li><li>Large Content: Typically one per page. Like tutorials, wikis, articles, and so on. You can post 25 images and 10 videos by default.</li></ul>Keep in mind, none of these limits are hardcoded. If you want to give your users the ability to post 100 images in any of those areas, you are free to do so. The limits are set to those numbers by default to try to have the best page loading speeds and help prevent abuse, but if administrators feel inclined to they can change the limits for groups as well so administrators can post 100 images but users cannot.<br /><br />One problem I faced was with the inclusion of the img tag and autoparsing, now there are technically two different image counters. My first idea was to combine them by having the autoparse limit actually be the same as the img limit and sync them together. The problem lies with if an administrator decides to delete the img tag but still wants to keep autoparsing, or prehaps creates a bbtag that shares functionality similar to the img tag. So I had the idea to set bbtags to "inherit" image or embedded content limits.<br /><br />So you will not be permitted to set inidividual limits on those bbtags for any group because latova will assume it has simular functionality to the autoparsing of image or video tags and just use the limits you dictated for those for each group.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-90353766569780186712007-12-12T14:51:00.000-05:002007-12-12T14:54:53.768-05:00In your post you simply put:<br /><br /><div style="text-align: left;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_tAWvhtNuBBU/R2A70li-YPI/AAAAAAAAAB4/RL6rsf3DxG8/s1600-h/screenshot2.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_tAWvhtNuBBU/R2A70li-YPI/AAAAAAAAAB4/RL6rsf3DxG8/s320/screenshot2.png" alt="" id="BLOGGER_PHOTO_ID_5143176549075149042" border="0" /></a><br /></div><br /><br /><br /><br /><br /><br />And your resulting post is:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_tAWvhtNuBBU/R2A70li-YQI/AAAAAAAAACA/_Tf70JMe0y8/s1600-h/screenshot3.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_tAWvhtNuBBU/R2A70li-YQI/AAAAAAAAACA/_Tf70JMe0y8/s320/screenshot3.png" alt="" id="BLOGGER_PHOTO_ID_5143176549075149058" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />This so far works for png, jpg, jpeg, and gif image types, and youtube, 5min.com, and metacafe are the only video sites that autoparse. You can always add your own, although some will not work. Sites like dailymotion and break.com I tried but theres not enough data in the url for me to embed video.<br /><br />Of course, if you don't want it to autoparse just put the link in [url] tags.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-13972473867522559112007-12-08T15:40:00.000-05:002007-12-08T15:44:06.687-05:00<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_tAWvhtNuBBU/R1sBbVi-YOI/AAAAAAAAABw/_bqmVerS4FY/s1600-h/screenshot2.png"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_tAWvhtNuBBU/R1sBbVi-YOI/AAAAAAAAABw/_bqmVerS4FY/s320/screenshot2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5141704968725487842" /></a><br />I had a bit of time to do this. It's nothing fancy. I'm just going to put a lot of "no limit" options for flood controls and whatever.<br /><br />There IS technically a limit for pms regardless that you set it to infinite. The limit is 65535, it'll stop you if you ever manage to reach that.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-56106908519962100472007-12-05T01:43:00.000-05:002007-12-05T01:44:32.661-05:00Nothing to reportExams next week. I need to finish them. Christmas is coming :DMichael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-59588407970051685432007-11-21T10:59:00.000-05:002007-11-21T11:01:07.465-05:00Spiderman....Changes to the latova online list....<br /><br /><img src="http://img131.imageshack.us/img131/3821/screenshot1zl7.png"/>Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-5498994878531815982007-11-19T10:33:00.000-05:002007-11-19T10:49:35.577-05:00I've gotten some work done on the search, and have generally been working away at little things here and there. Things are going pretty good right now, the workload from school is nothing I can't handle, and I've been playing a bit of Call of Duty 4 (one amazing game). In general my life is pretty balanced right now.<br /><br />The search for latova is something I've really been trying to perfect. In the best case scenario I want to have something close to google style. One thing I've always disliked about forums and such is inconsistent search forms. Everybody in the world uses search engines. I understand why that most software out there makes awkward search forms sometimes, its because companies like google have the pleasure of having unlimited server capacity virtually, while most people who use software do not. Still, I'm going to put effort into making the search as familiar to what people are used to as possible.<br /><br />What I'm planning so far is to have two modes, simple and advanced. Simple, is what you see from search engines these days. One textbox, and the search button. This will come up by default, quick search uses this, and it generally uses preset default settings to give people the best results. This should generally be fine for 95% of people using search out there. It will find the most recent posts, on their subject. They can find the most up to date information of what they want using that.<br /><br />The second mode is advanced. This will be the cluttered but advanced form that we all know already from other software. If people want more advanced search options or want that classic feel, this is where they can go.<br /><br />One of the other main problems is that when I make a spelling mistake or want to make a slight change to my search, flood control kicks in and doesn't let me. I can see where this can be a problem, as searching is resource consuming and it can commonly be used for server attacks. The typical user makes only a few searches within the same time period before stopping to read the results. So, instead of having one search every 15 seconds, I'm thinking 3 searches every 60 seconds by default.<br /><br />The other thing I want to have is a simple box at the top of your results allowing you to redefine your search. Search engines do this, I have no idea why board software has generally not caught up in the best of usability of what big search engines have brought us.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-29594367145687042142007-11-14T12:25:00.000-05:002007-11-14T12:57:06.026-05:00So the blogging continues....I stopped updating after I thought nobody was reading it (there was very little comments). I only really had a link to the blog through the signature, nothing official, so I just assumed due to lack of comments nobody was interested. I got a few people telling me they read it, so I'll try to keep updating. If someone bugs me from time to time in case I forget to update it, or something.<br /><br />The release went fairly well. I got a few people testing the software and they found some interesting bugs. One of the biggest bugs that has plagued the system on maplantis and such is the desyncing bug which appears to have been completely fixed in the newer kernel.<br /><br />The current biggest bugs are the "last forum" syncing of subforums (if a forum has two subforums and you post in one of them, the other one will go blank, which is something I didn't test much). The second bug which isn't so huge is that the number of users online tends to be inaccurate, especially when a person first visits a page.<br /><br />Some of the better things that I like in latova is the new username display system. I purposely made the display of usernames run through a function to allow for great flexibility later. I forsee plugins like miniavatars, clan/group tags, name colors, and so on when I get the plugins working right.<br /><br />Speaking about the plugin system, I'm going to talk a little more about how that works. Modding board software is a huge thing right now, but the problem with that is administrators have to manually open files and edit them for the modding to work. I'm aiming for Latova's plugin manager to work almost exactly like how the extensions work for firefox.<br /><br />You upload the file, import it into latova, and latova will try to keep you informed on any new versions of the software and such. <br /><br />One thing I really want is if the server supports FTP and the user feels like it, they can add far more automation into the actions they take. Basically the first time they commit an action that can use FTP, they are given the option to enter in their FTP details (server, username, directory, password, etc), and then save everything they put in except for the password for security purposes. Then from that point on, you would only need to type in the FTP password everytime they want to make installations and upgrades to mods or the software itself.<br /><br />What I am potentially looking into is an semi-automated updater, where the user would only have to enter into their admin control panel, click the link indicating there is an update, type in their FTP password and their software is upgraded with the latest latova kernel and such without having to touch an FTP client. This also brings up the concern of updates and automatic installations where I can't exactly prohibit any dangerous code from executing. If the plugin says to email the contents of the users table to some gmail account, I cannot stop them. The only thing the user can do is read the code and verify that it is up to date.<br /><br />My solution to this is to have code moderators. People could volunteer their time to read patches and code to verify they don't contain any sketchy executions and then approve it. Once that is done the module will be marked as "safe", as installing unsafe modules will first stop to warn you about the risks before it continues.<br /><br />Thats it for today. I'll save some more of my thoughts for antoher time.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-9484014782094590582007-09-17T01:36:00.000-04:002007-09-17T01:43:31.269-04:00More time is requiredI was shooting for a Saturday launch but that just didn't happen. My laptop started acting up and I didn't get any work done two of the days in the week.<br /><br />Vista is a horrible operating system. It's basically ME2. I can't even tell you how slow it is and how many times it has crashed. I really gave it a chance but I'm better off getting more work done in MS DOS.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.comtag:blogger.com,1999:blog-20187377.post-46750244528836804112007-09-07T19:48:00.000-04:002007-09-07T19:52:52.455-04:00Polishing Development ReleaseThe first development release is coming up, I've been hard at work on that. I'd say I'm more than half way done. I've done some nice things, like having regular HTML tags now serve a purpose as becoming the headers and such. Additionally all the sections are being tested fully with IE6, IE7, firefox, opera, and safari. The only issue which cannot be resolved is IE6's PNG transparency support. Development time also slowed down to fully make IE6/7 compatible, which was no easy task. I want to refrain from using hacks as much as possible so CSS modification is easier for developers of all skill levels.<br /><br />The code is finally getting polished off, I've adopted the Check -> Execute way of doing things, where the checking permissions and "doing" a common action are seperated, incase someone wishes to call upon the functions from elsewhere. A lot of the CSS is now easier to read and is simplified, and of course everything follows all W3 standards.Michael Lathttp://www.blogger.com/profile/07813000599346948468noreply@blogger.com