Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by Ronan

  1. Keep in mind it's a HTTP 200 status response, alongside Content-Length being 0 - just thought i'd clarify that!
  2. Hey, that's great Markup - they could be very useful as a starting point for those not looking to parse the full G.E to populate a database, cheers! (Although they're 403ing at the moment!)
  3. Cheers for putting that online - there's a few differences to what mine was so that's quite interesting to see how someone else would do it! I don't have much of a chance to test it at the moment, but I'm interested that a 5 second wait time is enough to not throw up any blocking errors from Jagex. Although, granted; in my testing I was parsing the item's pages after searching for pages - a further 3,400+ requests is going to change things! I did notice a couple of small things, Line 114 in Program.cs, you set reserror to indicate a WebException: catch (WebException ex) { PageErrors.Add(bs[i].ToString() + " Error:" + ex.Status); reserror = true; } if (reserror == true) { reserror = false; continue; } As far as I can tell, reserror isn't used anywhere else - it'd make more sense to just continue inside the catch-exception block rather than flag an error? I also noticed that your PageLoader class uses ArrayList as it's base class. To me that seems a little counter-intuitive, the class is making use of an ArrayList, rather than actually extending it? It seems cleaner to just have a class variable storing the ArrayList and accessors to that - less coupling that way. Lastly, I see you're not checking for Jagex blocking requests. When they block a request, they return a HTTP 200 OK status, which means no WebException is going to occur - the way to identify it is that the Content-Length response header indicates 0 length. Right now it looks like you're just skipping over this if there is no content - or, possible worst case, passing an empty string to the Json Converter? The biggest trouble I found with this is integrating it into a library such that callers either, 1) Don't have to deal with bottling issues / exceptions or 2) Have to catch the exception and re-send the request. I resorted to providing access to the library API through a gateway, where exceptions had to be caught; but alongside this I constructed an Asynchronous requester which allows callers to request callbacks when the page is retrieved - which would be whenever Jagex stop blocking the requests. Other than those, I do like it - there's a few points in there that I hadn't thought of and I like the Json parser, wasn't aware of JavascriptSerializer. Nice job! =D> If you're interested in seeing the API I constructed, I've thrown that up on GitHub: GitHub - GeApi. It's nowhere near perfect but may give you some ideas like yours did mine!
  4. Hey, my chair does exactly this! Haven't ever used it like that though, it actually is pretty comfy, although I feel like I want to be closer to the screen!
  5. Sounds like you went through the same thought process as me then - good stuff! Look forward to seeing the result.
  6. Sounds interesting - I actually experimented with this on a project not too long ago. Have you considered making it a library rather than a console application - extending it's usage a bit further abroad? Another point to note - how have you handled actually finding the IDs? The obvious initial attempt would be to iterate up to some given number testing the page responses are valid, but that's highly inefficient for both the utility and server requests! My final design used the category API to find how many items fall into each starting letter for each category, and then requested the search pages for these - which ended up compiling a list of all the valid (tradeable) IDs - as you say, ending up at around 3,400. A fairly smaller number than 20,000+! Did you do anything similar? Yet another good discussion is how you handled Jagex's temporary throttling of server requests? I've tried multiple ways; randomised timeouts, exponentially increasing timeouts, varying request time-spans - all not quite meeting an optimum point. I even attempted to craft multiple GET requests and send those along at once: still throttled. Any luck on your end? It'd be nice to have some guidelines on API usage from Jagex, but I don't believe that they'll ever be particularly forthcoming about parsing the full database quickly... Also, JSON.Net for parsing the responses?
  7. Mmm, off the top of my head - the Mug's still accessible from it's link here: /runescape-logo-mug-A14493928. If that's the correct one? Strange though, I couldn't find it anywhere in the shop, so the order may well not go through if the page is simply still there by mistake...
  8. Heh, pretty much agreed with the rest - some people suck <_<, very annoying when it happens...
  9. I think it was mentioned a while back from a forum post, apparently the 'editor' forgot to add it to the news notes!
  10. It was, heh! :) Nice fake, looks well done - character's great and I like the detail!
  11. Are you sure that it requires .NET 4? At first glance it doesn't seem to use any of the more recent features - although there's obviously more that you haven't shown. You may also want to get rid of the Linq using directive, I know Express builds automatically stick that in but it doesn't look like you're using it. Would be nice to have this released - save many people re-writing small utility classes to do exactly what this does. I'd contribute if you Open Source it. :)
  12. The 'How to use the Bestiary' explains this, it can be found here (or by clicking How to use the Bestiary at the upper-right on any monster's page). The information's also quoted below. :)
  13. Nice one! I just got round to getting that myself too. :)
  14. There's a semi-colon missing, it's http://zethara.deviantart.com/#/d321nr8 Fantastic pictures, well done to everyone! :)
  15. From what I can remember, I think it's the E74 error that is covered under the extended 3-year warranty, E73 appears to be less of a worry! If you're still under your warranty, your best bet is to go through the Microsoft Support channels. You should be able to find a support link under the Xbox website relatively easily. If I remember right you'll simply need to provide a few details that you can find on the console itself and a blurb about the problem - I found they got back to me pretty quickly. If it is going to require a send-out to them, they should provide you with a courier pick-up free of charge too! :) The biggest thing to do right now is at least attempt the Microsoft Support path, especially prior to attempting to do anything yourself to fix it. @Guydabest, I performed the X-Clamp fix on my previously dead console that Microsoft refused to fix after it failed from their first repair - it definitely solved the problem and wasn't too much work either, so it's certainly an option! You do need to be pretty careful though as a single-slip can ruin your console, and make sure you find some quality parts. However, having said that - you need to make sure it's the right fault that you're attempting to fix. E73 is (apparently) an ethernet issue, I don't see the X-Clamp fix doing anything for that. Best bet at the moment is attempting to see if Microsoft can offer any advice initially.
  16. Even if it is do-able within the signed-applet (of-course, could use some native code targeted specifically to windows, bet they'd still catch a load!), I'd bet there's ways around that - perhaps a method for generating a new-name for each run? Of-course, you've also got the issue that if the program's written in Java, you're not going to have much luck identifying anything in the list... I don't know much about the programs these bots use - but Java does feature the Robot class. I bet they could capture a screenshot of the entire system's display and check that every now and then - disregarding the potential privacy concerns of-course! :P It would require the createRobot permissions too...
  17. That's a hell of a lot of determination - must have a pretty strong motivation! Hopefully you enjoyed it all! :) Won't rate it as that's rather a perception amongst all the people - best rating is what you give it.
  18. Just watched the first episode of Nip/Tuck - was really impressed by it, very captivating. Pretty full-on right from the start though! :P Thanks for the description and recommendation! ^, I remember Hocus Pocus, heh, good film! :)
  19. Ooo, I haven't heard of Nip/Tuck - will need to take a look at it now! The books are definitely a good read, they have the same characters mostly, but have very different plots to the series. I found them quite an intriguing read though, was nice to have a different plot - didn't know what would happen! :) Aside, I didn't realise the new Supernatural series had started! Definitely going to look into that...
  20. I recently started re-watching Dexter, so good! Opening scene is brilliantly done. :) Have you read the books?
  21. Last I checked it doesn't take the info', it requires you to get the cookie stored via RuneScape's site, then uses that - the exact same way the official thing does it. The cookie simply is checked when a request is made and the server determines if it's valid - no details stored thankfully. :thumbup: Nice to see they're continuing to develop this - hopefully they'll keep going and get some really useful things in there!
  22. ABE! :smile: Heh, okay - not Abe, but still a great drawing - well done! Charcoal seems pretty apt actually... On a side note though, that series was fantastic, the characters in particular where so well done, great drawing reference. Considered drawing a Scrab? I always remember those... <_<
  23. Me too! :) I don't very often play anymore, but nice things like this are what I log on for. We'll see if I still feel like that in a while, but I think the overall feel of it's pretty good. :thumbup:
  24. Awesome capes, well done! :) Here are two images for the farming-logo, hopefully that's what you're looking for. [spoiler=Images] Cape Logo
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.