Avatar of Captain Jordan
  • Last Seen: 1 yr ago
  • Old Guild Username: Captain Jordan
  • Joined: 11 yrs ago
  • Posts: 1111 (0.28 / day)
  • VMs: 0
  • Username history
    1. Captain Jordan 11 yrs ago
  • Latest 10 profile visitors:

Status

Recent Statuses

10 yrs ago
Current My life has been reduced to 200 measley characters, and I can't even seem to make use of every one.
10 yrs ago
Now I want a trophy.
10 yrs ago
Having trouble waking up today.

Bio

User has no bio, yet

Most Recent Posts

In Mahz's Dev Journal 10 yrs ago Forum: News
A lot of people like recruiting from both casual and advanced. And a lot of people who fit in advanced don't yet dare go there because of the unfortunate elitism history that section had. Fortunately, not many of the elitists remain. Unfortunately, not nearly enough players remain in advanced. This new IntCk system should help on that. Quick thought... Will the system be able to "remember" the search parameters? Say if someone can't stand RPing in anime settings... Will it be able to remember that and consistently filter those away, or will said filter have to be enabled each time?
A quick and dirty way to do this would simply be to expose the filter settings in the URL. Then people can bookmark the URL and poof, settings "saved." That is, unless Mahz really wants to add database fields for it, and update them every time someone changes their search, and restore them every time someone searches their IntChks, which sounds mysteriously similar to an unread message feature. ;)
In Mahz's Dev Journal 10 yrs ago Forum: News
@Captain Jordan: GraphicsMagick and ImageMagick are language-agnostic command-line utilities (C libraries). Pretty much every language that runs on the server including Javascript (via Node.js runtime) has wrappers for it. Or you can just execute commands on the shell from the server-side language. For example, in Javascript: conosle.log(yield shell.exec('ls')) => 'file1.txt\nfile2.txt\nflower.png'. I think you may be looking at server-side Javascript (not much different than Python, Ruby, Scheme, ...) through the lens of client-side Javascript running in the browser. The latter is obviously very limited. The main drawback of Javascript is that it's single-threaded, but same with Python and Ruby and PHP -- effectively -- due to their global interpreter lock (GIL). You simply shell out CPU-bound operations to other processes. In this case, ImageMagick/GraphicsMagick, which may spin up a dozen threads to process an image before handing the result back to the Node.js process.
Fair enough.
In Mahz's Dev Journal 10 yrs ago Forum: News
http://aheckmann.github.io/gm/ I found this with a simple google search, and there are most likely other options out there. Definitely don't need to install a server-side language for it :D
That's the node.js module I was referring to. The dependencies are clear, the executables for GM or IM. You're right, it doesn't take the full language, but these are built in a programming language. Client-side scripting languages just can't do the math required to resize images.
In Mahz's Dev Journal 10 yrs ago Forum: News
Just because it isn't used doesn't mean it can't be installed on the server. There is no pure node.js way to do it, it would have to be done by a server-side programming language, not a scripting language like JS. At least if you wanted true rescaling (so it creates and stores an image of the correct size on the server) and not just resizing a larger image.
Yes, but why would you install something just to implement one feature that will be deprecated once Mahz decides its time to add picture uploading? No offense but I don't see the logic behind it.
As I mentioned, it doesn't have to be done with PHP. It does have to be done with a server-size language like PHP. Java, .NET, PHP, Ruby, etc., any of these would work. I'm not certain how uploading the image is going to change much, HTML, CSS and Javascript don't have the capabilities to change and store modified images on the server. Something else will have to be used, unless Mahz has a trick up his sleeve that I've never heard of. ETA: No offense taken. It's just a friendly discussion. :)
In Mahz's Dev Journal 10 yrs ago Forum: News
I'm 99% sure that PHP isn't used at all on the guild, so you'll probably have to find a purely node.js way to do it.
Just because it isn't used doesn't mean it can't be installed on the server. There is no pure node.js way to do it, it would have to be done by a server-side programming language, not a scripting language like JS. At least if you wanted true rescaling (so it creates and stores an image of the correct size on the server) and not just resizing a larger image.
Are you sure you're copying the link from the link icon (it's to the right of Raw at the upper-right corner of every post) and not the topic link? Post links look like this: http://www.roleplayerguild.com/posts/2404697 Topic links look like this: http://www.roleplayerguild.com/topics/75056-Something-Something-Title-Side Notice the word post or topic before the numbers.
This is how our catalog URLs are coming out in the URL box. http://www.roleplayerguild.com/topics/19063-precipice-of-war-there-be-spaniards-in-my-coffee/ic#post-1272608 Yet, this one works. http://www.roleplayerguild.com/topics/19063-precipice-of-war-there-be-spaniards-in-my-coffee/ic#post-508933
If you simply right-click on the link icon, and click on Copy Link Address/Location in the menu. (If you're on Internet Explorer, the menu item is Copy Shortcut.) The link you get that way will always redirect to the proper page, even if the pages or titles change.
In Mahz's Dev Journal 10 yrs ago Forum: News
The Guild already supports high res image embedding. What prevents using the same concept for profile pictures, and then have the server scale it down, and perform all the necessary alternations (such as the displayed resolution, as you mentioned)? For instance, is there anything that would make it impossible for the server to take these image URls, make the alterations server-wise, as if it were a local file, and display the altered output?
I'm fairly sure the guild doesn't actually store any images, it just points to where an image file is stored (I believe this is how websites work – I don't work on web much (read: the guild is the first real web coding I've done), so I'm not certain on that.) so it can't do anything to the image.
I'm aware that it doesn't store them, but it is completely possible to edit them. You just run the image through a "filter" of sorts before output, and it displays it according to the commands. For example, Mahz has a hack that alters profile pics images larger than 150 X 150 to attempt to display them correctly. You're correct that it doesn't do anything to the image itself, but it can change the display.
PHP has a couple modules for this, GraphicsMagick and ImageMagick. I think Node.js has a library that will interface with the PHP modules to do this. So long as the two (PHP and Node.js modules) are installed, then it's probably just a matter of taking the time, reading the documentation, and doing it. Someone with the javascript skills and wherewithal could probably write a patch and submit a pull request if they really wanted it done quickly.
In Mahz's Dev Journal 10 yrs ago Forum: News
Hey-yo, would there be some way to fix thread URLs for when you change the topic title? Or do some redirect thing? One thing me and my friends like or try to do is do post catalogs as we RP. That way we have a index of posts and brief descriptions of what was going on in that, with a link back to that post. However with title changes this has broken and every time I change the thread title we need to go through and fix our cataloging. I like the ability to change titles, brings back for me the era of goofy sub-titles. But it busts the way we link things.
Changing the title shouldn't break links. All that matters in the link is the topicid (for example, 75056 for this topic). The title is added in after, and has no impact on the resulting page. Compare: http://www.roleplayerguild.com/topics/75056-mahzs-dev-journal http://www.roleplayerguild.com/topics/75056 http://www.roleplayerguild.com/topics/75056-internet-tough-guy-was-here
Oh, so it must have been fixed prior. Whenever we click on the links to get to that post it's redirected us back to the first page of IC, and not the post we wanted. So we may need to redo our catalogs again.
Are you sure you're copying the link from the link icon (it's to the right of Raw at the upper-right corner of every post) and not the topic link? Post links look like this: http://www.roleplayerguild.com/posts/2404697 Topic links look like this: http://www.roleplayerguild.com/topics/75056-Something-Something-Title-Side Notice the word post or topic before the numbers.
In Mahz's Dev Journal 10 yrs ago Forum: News
[2]: I've been slowly moving database queries to a simple cache object I created that refreshes each cache item at some arbitrary interval in the background (source). That way cache reads are always instant. By caching the homepage's list of categories, forums, and latest posters (updated every 10 seconds), I reduced the homepage load time from 20-50ms to <1ms on localhost.
I'm laughing so hard when reading this post. It's nothing you said (well, no, it's everything you said), it's just that... After you posted this, I started brainstorming with a friend of mine via instant messenger. My thoughts were:
Me: okay, so I'm curious about something Me: in a normal forum, when you load a page (like the main index) it tells you how many posts are in a particular forum, or other such statistics Me: behind the scenes, every time you load the page, the database is being queried for this data and grabbing its most current numbers Me: so here's my curiosity Me: what would happen if, during, say, the act of posting a new topic, the forum simultaneously updated the database and queried the new statistic for that post Me: then recorded it on a flat file with just basic stats Me: then page loads would pull from that file rather than the db Me: would the cheaper costs to the database outweigh the potential problems (deadlocking, overwrites, page loading errors, etc)? Friend: dunno Me: 'twould be interesting to experiment if it hasn't already been tried Me: I'm thinking like the basic stats Me: like stuff on the main page of the forum, which is loaded most frequently Me: so basic post counts for indidvidual boardstotal member numbers Me: stuff that doesn't need to be updated by the second
As you can see, my friend was extremely helpful with this brainstorm. It went nowhere. But now I see you effectively doing the same thing. And it makes me happy, @Mahz.
In Mahz's Dev Journal 10 yrs ago Forum: News
I'll be working on the guild tomorrow all day as I usually do every Saturday. What feature should I implement? Some random big ideas: - Etherpads - A new interest check system where all interest checks just show up on one big list with a lot of filtering options. I would probably fit a tagging-system into this feature. - Dice - Unread post tracking
As much as I'd love to see the first two, I think unread post tracking is most needed. The first three are icing on the cake, the fourth is a critical function of modern BBs.
In Mahz's Dev Journal 10 yrs ago Forum: News
Who should be able to edit the pad(s)? I suppose this might be where the "co-GM" concept makes sense. Need some general thoughts/advice on where to take it. At worst, it's just a chatbox with collaborative griefing.
I dunno if I like the idea of the Etherpad being RP-wide. I'd rather see integration into PM conversations. If you are going to make it RP-wide, then a GM/Co-GM might have the ability to check off the following permissions: * GM only (Co-GM obviously can't set) * GM & Co-GM(s) * All RP participants (defined by posting in IC/Character thread to avoid casual OOC commenters) * All Guild members * Specific people (with textbox to enter comma-delimited usernames) That's a fair few permissions, but it should cover the wide range of needs. It could probably be paired down to remove GM-only and Specific people if feature creep avoidance kicks in.
© 2007-2024
BBCode Cheatsheet