Jump to content
xisto Community

Mordent

Members
  • Content Count

    424
  • Joined

  • Last visited

Everything posted by Mordent

  1. I just want to add that, as well as being an awesome movie, the soundtrack is some fine work by Hans Zimmer (and James Newton Howard, apparently), it really adds just the right level of creepiness to the right moments and brings out the far more sinister side to a lot of the characters. As a side note, there's been plenty of talk of a third film to add to the current two, with the Riddler being the main villain for the next one (quick linky I found). Definitely on my "to-watch" list.
  2. Just a little something I came across that I found pretty clever. Enjoy!
  3. Good to see someone's on the same wavelength as me when it comes to thinking of practical uses for cooling things. Another good reason for having the cooling chips embedded in the CPU etc. would be that the manufacturer could tailor them to their specific heat output (as opposed to having a cooling unit built in to your machine devoted to cooling the entire thing down, like the common noisy fan today). Your CPU would get a lot more of the cooling devices, whereas your, say...network card (just thinking of a less used device) would have less. My question for you, of course, is where does the heat go? Judging from the explanation given, and my knowledge of A Level Physics (results in just over a week, wooo!), I'd say it effectively relocates the heat energy from one side of the device to the other. If that's the case, perhaps having them combined with the cooling unit in your computer (namely the fans/liquid cooling system) to have the current system effectively "distribute" the heat, so that all areas of the inside of the machine are at a similar temperature, with the cooling chips lining, say, the back of the case to rapidly get this heat out of the body would be a better idea? It's important to remember that all the chip does, while potentially very clever, is move heat from one of its surfaces to the other. That heat still needs to go somewhere, and unless the chips line the actual case then you're simply moving heat around internally. It has a lot of potential, but getting a clever use out of it is maybe a little trickier than you might otherwise think.
  4. My personal opinion seems to match the other two posters about the height. It could quite happily lose a quarter of its height, maybe a third, it just seems to chunky at the moment. As for the actual image itself, well beyond my ability with photoshop and the like. I'm shocking at playing with graphics, except for vector-based art. Nice work, nonetheless.
  5. I recently started playing PlanetSide again. I forgot how much I enjoyed that game... Anyway, for anyone looking for a decent MMOFPS I'd certainly recommend it. Sadly there are monthly subscriptions (around $15 / month, I believe, give or take) although you get your first month free when you buy the game (available via download). Just as a point of note, if you do end up playing I'd suggest going for the Gemini server (in North America). There is a European one (Werner), but it isn't half as busy as Gemini. Sadly, SOE (the developers) don't advertise this game anywhere near as much as they should, and although it recently had its fifth anniversary the game is still going pretty strong due to its devoted playerbase.
  6. Although I've never played 4th edition yet, I've read a fair bit about it. As a v3.0/3.5 player for most of my life (I missed the AD&D craze) I've never had any problem with the way it worked as it is. Sure, you'd get ridiculously powerful characters who could pretty much do anything they wanted, but you know what the solution to that is? Have decent players who don't try to break the system. One hard and fast rule I've got with my group is "no intentional screwing up the GM's game", and it works fine.4th edition seems to, at first glance, become far more fantasy-based and a lot less medieval. Nigh on everyone has some sort of magic-esque ability. One thing that gets me about it is the lack of consistency throughout the statistics of characters and monsters. In 3.x you could generate a monster (say, a goblin) just as easily as a "normal" race, and pretty much the same options would be open to you. Want a goblin druid? Fine, it's no harder than making an elven one.All of these "racial" traits I keep hearing about with 4th edition don't exactly inspire me to move over, and as I've got more than enough 3.x stuff to keep my group going for a good while (even though we never bothered with beyond the PHB, DMG and standard MM, plus we write all of our own campaigns/scenarios) and we can always generate more to do once these campaigns die down.
  7. Ah, perfect. Got to love how it's called SimpleXML, although damned if I spotted that when trawling through search results. :mellow:Cheers!
  8. So I was idly pondering my next PHP venture today - more on that if/when I get it done - when I realised I needed to be able to read some data in from files. Sure, I could use simple binary files (each line having the relevant data on it, etc. etc.), but I figured I'd might as well learn how to use this snazzy XML stuff I keep hearing about. So, after looking at W3Schools for a bit I couldn't find an obvious way of reading XML files in PHP. There was plenty of information of how to do it in JavaScript, but as I want to read the files in on the server rather than with the client's browser that's not much help. After searching on php.net I realised there was way more XML related stuff than I was ready for, so quite simply I'd like to know if it's possible to read XML files in using PHP (and specifically: on Xisto), how I go about it and any other little snippets of information you have on XML and PHP. Thanks in advance! Mordent
  9. Probably not quite the right place to discuss vector graphic programs - based on the sorts of software mentioned so far - but I use Inkscape far too much. It's perfect for simple graphics and logos, and utterly ideal for creating fanart of my favourite webcomic. As freeware, and compatible on a whole range of OSs, it really is a pretty damn awesome piece of software.
  10. My first main concern with FF3 was that most of my addons were entirely incompatible with it. As time's gone on, however, I've noticed that more and more of them have been updated to FF3, which is surprising considering how little-known many of them are. I've never even considered making a FF3 addon myself, but the speed with which they're updated most likely points towards relatively little change in that aspect of the browser.I've had a glance at Nightly Tester Tools, but personally I'm not one for installing something else to get the mere handful (2, I think) of addons that aren't working to work, so I'll pass on it for now.
  11. Hey all, after reading through a fair number of tutorials on this subject I decided to write a pretty detailed one myself. Apologies for those who don't like my structured layout, it's just the way I do things. Title: Creating a PHP Login Script Objective: To go through a series of basic steps required to create a method of user registration, login and permission management using PHP and MySQL. Notes: The information is designed to work fully on Xisto's hosting plans. It was designed and developed using WAMP5 (WampServer Version 2.0) with settings configured to match those used by Xisto (magic quotes and whatnot). Introduction Login scripts are a fairly commonly covered topic in PHP tutorials but nevertheless one that gives a fantastic initial grounding in both PHP and in manipulating databases. MySQL is the database of choice for this tutorial as it's particularly easy to use with PHP and works brilliantly on Xisto's servers. Where possible I'll give instructions tailored to Xisto, but 99% of the actual work was done on a local server so apologies if any of the steps aren't quite the same. Step 1: Creating the Database If you already have a database created that you can use then you can skip this step. Any good login script (registration/login/permissions) needs a database to store the user information. Creating one is relatively straightforward. Navigate your cPanel until you come across MySQL Databases (or similar). In it is a very simple interface to let you create both databases and MySQL users. Normally you'll want a user for each site you create. Xisto appends whatever name you decide to give your user to your cPanel username followed by an underscore. For instance, if your cPanel username was "foo" and you named your MySQL user "bar" then the full MySQL username would be "foo_bar". There is a limit on the length of the usernames you use. I'm not entirely sure if the limit is based on your cPanel username (i.e. a character limit to "foo_bar") or just the MySQL username suffix (i.e. a character limit to "bar"). For the purposes of this tutorial I'm going to use "fred" as my cPanel username and "tutor" as my MySQL user, giving a full MySQL username of "fred_tutor". Naturally you should replace this with whatever you end up using throughout the rest of the tutorial. Make sure you note the password you use, as it'll be very important later on. After you've created your MySQL user you need to create the database itself. Similar to the MySQL usernames, your database name will have the prefix of "foo_" (see above) to it. Choose something sensible, most likely based to fit your entire site. I'm going to be using "fred_tutorials" as mine throughout this tutorial, so obviously replace it with whatever you use. You need to give the user you created permission to manipulate the database, so (using the cPanel appearance at the time of writing) scroll down to Add User To Database. Select the user and database from the dropdown menus and hit Add. Step 2: Creating the Table Your database is most likely currently empty (certainly so if you just created on in Step 1), so we need to add a table to it. One of the easiest ways to add one is using phpMyAdmin, which is found by navigating your cPanel (near MySQL Databases from earlier). This page lets you do all sorts of things (in fact, pretty much anything) to your MySQL databases. In Xisto you can't create or delete databases, but other than that you've got pretty much free roam. So, on the left should be the name of the database you just created. Clicking on it once opens up a page with information about the structure of the database. Currently this will be empty, as you haven't put any tables in yet. Let's add one now. There are two ways of doing this: the user-friendly way or the more complicated way that lets you see what you're really doing. I'll mention the first one, but as I always use the second I'm not going to focus on it too much. Simply put, it's a way of making the functionality look prettier. Next to the "Structure" tab is a tab called "SQL". This tands for "Structred Query Language", and clicking on this lets you run queries (i.e. tasks or operations) on your database. The query we're going to run is the one below (note that the query is case-insensitive, and you should be able to copy and paste pretty much from this if you need to): CREATE TABLE `users` ( `id` SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, `username` VARCHAR(256) NOT NULL, `password` VARCHAR(16) NOT NULL, `email` VARCHAR(256) NOT NULL, `active` TINYINT(1) UNSIGNED NOT NULL default '0', `activation_code` VARCHAR(16) NOT NULL, `admin` TINYINT(1) UNSIGNED NOT NULL default '0', PRIMARY KEY (`id`), UNIQUE (`username`)) ENGINE=MyISAMSo what does all of this do? Let's take it line by line: CREATE TABLE `users` (This bit is fairly self-explanatory. We want to create a table in the current database and we want to call it "users". Tables in your databases don't have your cPanel username added as a prefix, so the table name will actually be "users". `id` SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,This is the first "field" of the table. Its name is "id", which we'll be using to identify individual users later on. It is a "SMALLINT", or "small integer". Because we say that the field is "UNSIGNED" that means it can range 0 to 65535. If we'd left it as it was then it would have values in the range -32768 to 32767. We could quite happily use the standard-sized "INT" (for "integer") here, but a "SMALLINT" can have one of 65536 different values, so that should be plenty for most sites. If you need more then firstly: dibs on a small percentage of your advertising income (I'm sure I deserve it! ), and secondly you can use "MEDINT" (short for "medium integer") instead. "MEDINT" will give you 16777216 different user accounts, so that should keep most people happy. You can look here for more information on different numeric data types. For the purposes of this tutorial, I'll be using a small integer. The next part is "NOT NULL". This means that the all entries in the "id" field have to have a value and can't just be left as NULL. NULL means that absolutely nothing has been assigned to the value. It isn't the same as an empty string. We want every user to have an id, so we make sure it's "NOT NULL". Finally, there's "AUTO_INCRMENT". Rather than having to worry about assigning each new user an id ourselves we let the database do the legwork and set the field to "AUTO_INCREMENT". Each new entry in the table will get an id one greater than the last. Provided you don't start manually playing around with the tables after people have started creating accounts (i.e. adding new users directly in or playing with individual users' ids) then this takes a fair amount of hassle out of it for us. Also to note, the line ends in a comma. This tells it that we're done with this field, on to the next line! Technically lines aren't even necessary, but it makes for easier reading so they are highly recommended. `username` VARCHAR(256) NOT NULL,Our next field is "username". This one is a "VARCHAR" type field, or "variable length string". This basically means you can have text in there up to a maximum length of the number in the brackets. In this case the maximum string length is 255 characters. That should be plenty for usernames, so no need to go any bigger. Again, we don't want NULL usernames, so we make sure the field is "NOT NULL". `password` VARCHAR(16) NOT NULL,This one's a bit more interesting. Clearly this is where we'll be storing the user's password, but all good sites encrypt the passwords rather than storing them directly. The number in brackets next to the "VARCHAR" effectively limits the length of the string to 16 characters, but as we'll be encrypting the passwords anyway (I'll be showing you how to do that later) this limits the encrypted string to 16 characters. Again, not really worth bothering yourself too much over, it'll make much more sense later on. `email` VARCHAR(256) NOT NULL,Knowing the user's email is very useful for many sites, not least for account activation (see later). This is simply where we'll be storing the users' email addresses. `active` TINYINT(1) UNSIGNED NOT NULL default '0',We're back to integers with this "TINYINT", the "active" flag. It's got a number in brackets again, limiting the length of it to 1 bit. As we also say that it can't be NULL, and that it's "UNSIGNED" (not that that really matters in this case) it has one of two states: 0 or 1. Also note the default state of "0", meaning that when a new user is created we don't have to worry about setting that to "0" as it will already be done for us. Default values are very useful and save both security slip ups (see later) and effort. This flag will be used to store whether the user has activated their account. If it's "0" then they haven't (meaning that they shouldn't be able to log in yet) and if it's "1" then they already have, so all is well. This field goes hand-in-hand with the next one. `activation_code` VARCHAR(16) NOT NULL,The activation code is another VARCHAR, again limited to 16 characters. You know those random activation codes you get in emails when you sign up to a new site? This will be used to store the users' one of those. If the active flag is 1 then it will never be needed again, but we need to store it somewhere while the active flag is 0. `admin` TINYINT(1) UNSIGNED NOT NULL default '0',Recognise this sort of entry? Yup, it's another flag. This one tells us whether or not the user is an admin. If 0 then the user is a standard member, if it's 1 then the user had admin rights. You can expand this field to include a number of permission settings by, for example, changing the name to "user_level" and increasing the number of possible states by increasing the length of the TINYINT. This makes for more interesting checks later on, and may be something I add to expand upon the tutorial later, but for now this is what we'll be running with. PRIMARY KEY (`id`),This line is a bit more complicated, and it helps if you know what a "primary key" is. In effect, it's a way of sorting or identifying individual entries from others, and in this case we use the user id ("id" field) to do this. It isn't vital that you understand this, but it helps. UNIQUE (`username`)We don't want users running around with the same usernames, so we make sure to set it so that each one is unique. ) ENGINE=MyISAMThis closes the bracket from the first line and sets the storage engine to use. In this case we'll be using MyISAM. Other options include InnoDB and range of other ones. The pros and cons of each are pretty much irrelevant at a basic level. Probably just best if you accept that you can use whichever takes your fancy until you know the ins and outs of them. One thing you may have noticed as you go through this tutorial is the constant limitation of the length of the data that we want. For example, we limit the "active" field to a TINYINT of length 1 (i.e. 1 or 0). If we didn't specify the lengths of these fields then they'd use up a lot more room in the database. A TINYINT, for example, is 8 bits long (i.e. a byte), but we only need one of them. If we didn't limit its length that'd be 7 bits wasted per user, which is a fair amount considering how much you're using (12.5% of that byte). It makes sense to think a bit more about how long you actually need your database to be, especially when you have limited storage space to spare. And that's our table created! We now have a database that we have access to which contains a table structured to our needs. Now that that's done we can actually start looking at the PHP and HTML code. -------------------- This is the intital post in my tutorial, and I'll get to writing up the rest later. I may change the odd bit as I realise that I need another field in my database etc. If you've got any comments or spot a problem with the database just give me a shout (preferably by PM) and I'll tweak it.
  12. Game Maker is much more graphics-based. Sure, you can make a text game in it (which I have, although damned if I can find the file) but it's real forte is pretty little sprites moving around a screen and interacting with each other. For online text-based games I agree with everyone else here: PHP is the way forwards. As for tutorials to get in to making one, I found it best just to go through pretty much every tutorial you can find. Googling "php tutorial" turns up over a million and a half hits, so that should keep you busy for a while. Once you've worked through, say, account creation/login tutorials you should have an idea of how to adapt that method to your particular need.
  13. Oh, I'm sure if it's fully legit (etc. etc.) then they can make money from advertising or placing certain links more favourably. This said, the amount that you could possibly earn ($50 in a year on average from someone who regularly uses search engines) isn't exactly enough to warrant me giving out my details and participating, yadda yadda yadda. Sure, it might be fine and I could earn those $50, but if I adopt that philosophy what's to stop me from signing up to some other similar service - one that might be a little less sincere - and getting ripped off?
  14. This works absolutely fine for me in both Firefox 2 and 3. Even with https sites I've yet to have a problem, and although a lot of my addons have yet to upgrade to FF3 I've noticed no other change in compatibility, so kudos to the Firefox team!Still, a nifty little bit of information, surely they could have put the ability to change the configuration in with the Options (Tools menu), though?
  15. You know, I could swear that I've seen a site nigh on identical to this one previously, even the wording of the paragraphs is the same, except for the styling of the page but it used Google instead of Yahoo! (or at least used something other than Yahoo). That doesn't strike a particularly favourable chord with me, but ah well. Either way, I'm not going to bother signing up myself.
  16. The Last Topic issue's sorted too (bottom of the board). Good to see everything back and running smoothly. As always, Xisto rocks.
  17. I've got a problem which is most likely related (linky). It seems something's majorly up with the forum in database terms.
  18. Just as an update. The problem is still there. The time now (according to my clock) is approaching 1:30 pm. The site reckons it's nearer to 2:00 pm. Just wondering if anyone else is getting this problem?
  19. Not really a hosting question, but I couldn't find anywhere better to stick this. So: The Latest Activity list at the bottom of the screen is showing up links from the past. Specifically the Last Topic column, actually, as the Last Post seems to be fine. If you're not getting the same problem, here's a screenshot. Basically all of the links in Last Topic are from way back (March-ish?). I'm also fairly sure the site clock is wrong. As I'm writing this, at the bottom is "Time is now: 22nd June 2008 - 12:24 AM", despite being much earlier than that (when I started the post, anyway, I got a little sidetracked). Any thoughts on what is up with the crazy inconsistencies? EDIT: Side note: the time it says I posted this is wrong, it's no later than 00:09 (and the screenie is from much earlier).
  20. Mordent

    Haiku

    So I suppose pointing out that each of those only has 4 syllables would be a bit irritating, then? The first is easy enough to fix, just change "bidding's" to "bidding is". The second I guess would be "the hand turns around".
  21. I know, but it makes me feel better inside for keeping all of my posts confined to one forum/place. I have this thing about structuring the universe neatly, and I'm doing my bit!
  22. 30 minutes on from your post and the site works fine for me. Maybe the DNS resolved in those 30 minutes, but else if it isn't working for you then I suspect the problem is something local. Nice site, by the way. :)Also, happy birthday to m^e.
  23. I've got no WordPress Theme experience myself, but I'd say it looks a little...busy? The middling area looks good, but the top gives me the impression of being cluttered. Dabbling in CSS myself these days lets me know how tricky it is to get anything to look even half-good, so kudos to you for making something that looks pretty neat out of it. As for the weight of my opinions, I'm always one for neat, tidy, simple presentation if possible. Not everyone likes that approach, so don't feel like I'm slating it completely. :)Also, why would I want to post on your blog when I can post here and get hosting credits for it?
  24. From Wikipedia: 15,000 * 80GB = 1.2 PB (Petabytes) as a minimum amount of hard drive capacity. Sure, a fair chunk of it probably isn't used, just as yet more is used for the OS and other such necessary software, but damn me if Google would buy too many more servers than they needed to. Still, my estimate is hardly particularly thought out or detailed. I took the liberty of doing a little more research in to some people who have made more accurate estimates. In short: the Google machine is big, scary, and makes most supercomputers cry themselves to sleep.
  25. While I'm in full support of the notion that the monarchy have no real functional purpose, being British I see no problem in us doing things the British way. If we didn't want a monarchy or were so opposed to the taxes involved then we'd have spoken up against it. Compare 62p per year per adult to the amount that actually equates to. Say there are 40m adults in Britain (a complete estimate on my part, there could well be more or less), that gives £24,800,000 per year. £25m (rounded) from the whole country to keep our national heritage? I'm not normally one for that sort of thing, but I'm not opposed to it.As for "a written constitution, preferably republican", as Miles pointed out we're not the only monarchy there, nor does our one have any real power as such. I think of them as the face of our country, a bit of advertising or whatever. I'm not up to date on the whole idea of constitutions and whatnot, but again: I've never even heard suggestion that the British are unhappy with the way things are. In oppressed countries I can vaguely understand the need to take action because of the voice of the people being silent, but as Britain doesn't fall in to that category surely we're entitled to come up with our own system of leadership and constitutional rights, yadda yadda yadda?
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.