Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

227 Neutral

About Henderson

  • Rank

Personal Information

  1. Henderson

    Searching with custom data

    Before you get to deep down that path maybe you should look at the FBVector before even worrying about sorting.  If you are hand-rolling your own, I assume that you are also trying to defeat efficiency opportunities that std::vector leaves laying around (they are mentioned in that link).  If you aren't doing it for those reasons then why?  I am just curious.   I would also assume that though at some point you will *want* to use the STL.  If that is the case, do you really want to have a mashup of STL and non-STL sorting methods?  I really don't think so speaking from a place that had literally that kind of shiz as it is a complete cluster mess.
  2. I have to agree on the DDoS attack above...often there is no reason.  A few startups I have been with have been hit without reason.  Github gets DDoS all the time and they don't go out of their way to get their site blacklisted.  
  3. Henderson

    Starting out with networking

    I personally would not use boost asio as a learning tool.  It actually impedes learning as it has abstracted away most of the learning that could be had by struggling with the underlying sockets and such.  There are definite benefits to learning the underlying constructs as you will learn that writing portable code is hard (winsock, epoll, kqueues, etc) and you often are really only targeting 1 or 2 platforms anyways.  Additionally, the code base is very complex for a learner to go thru and furthermore you need to understand the trade-offs being made by the authors (design vs performance, etc).  All of that is much weight if your goal is to just learn networking.     For me personally, I would go thru this if I wanted to learn basic networking.  
  4. When in doubt, I review this site at the high level.  This site is also pretty good for comparing licenses.
  5.   So if you setup your own cloud in say Amazon Web Services (AWS) for example: You control the DNS with Route 53 and have to manage this for any change of machine IP modifications, etc You control the machines that the DNS routes too You control the security groups (basically a simplified firewall) of what ports are exposed, what machines can talk to other machines, etc...Yes, you control your own security here. You can control what machines can access what data (external stores (S3 buckets, Glacier, RDS, etc) You control how it scales by either doing it manually or using a service like Elastic Beanstalk You will quickly learn about automating deployments as doing so in this kind of environment doesn't scale manually You control when/where security updates are applied and also though must provide some heads up to a customer or then again you get to learn about having redundancy/fail-overs.  So that means that you get to learn about something called load balancers not to mention an automation framework such as Chef, Puppet, SaltStack, etc. You learn how much it really costs to self-host...shiz ain't cheap as it scales The more that I think this thru if your goal is to learn, why aren't you doing this?     Note: There are many good alternatives to Amazon such as DigitalOcean.  Please check them out; I just used AWS here as it is what I presently use for my stack.  If you want to give it a shot, ping me and I can help you with the initial setup.
  6. There are risks to any hosting.  The question should be, "Am I okay with the risks of putting my personal machine out on the internet as a web host?".  The risks are commonly: Scalability: This model is hard to scale to match load with increased growth as it requires more hardware (quickly).  This makes services like DigitalOcean and Amazon great; click button, scale. Maintainability:  Are you willing to put in the time to put in effort keep software (Apache, etc) up to date to avoid the continual stream of exploits from being used? Some hosting providers may do this, many do not Data loss: Are you willing to accept the loss of anything on that machine and anything on the associated network to be lost in the worst case event?   Extra costs: Are you willing to put up the cash for a static IP and beefy connection that hosting requires?  Hosting providers amortize this cost over several thousand clients.  If you are going to do this for real, you probably want to do this unless you like pissed off clients. Note that VMs don't actually solve most of these issues except the data loss issue.  Typically though once in, you can route out on your local network to "find" things as an attack vector unless you have some network skillz.  I don't recommend doing what you want to do.
  7. In regards to your, how do you measure the stuff comment:   If this is purely out of interest, you will find your answer is platform dependent.  A great starting point is the Intel Software Tuning, Performance Optimization, and Platform Monitoring forums assuming you are on an Intel platform.  If you spend some time on the forum, you'll find it pretty amazing at some of the work that goes into measuring these variables.  It is a great place to ask these kinds of questions but also the how do I fix it kind.
  8. Henderson

    How would you create a Weapons class?

    Yep, sure look at newer code and make the decision yourself.  At the end of the day, they are your trade-offs to make.   For a great source of trade-offs, here is a great write-up from Thoughtworks.
  9. Henderson

    How would you create a Weapons class?

    It is probably worth taking a look at what others have done to model weapons in this domain:   Doom 3 BFG   Quake 3 Arena   Torque 3D   There are tons of other engines out there that you can check out on Github.  Inheritance is a common pattern it would seem for such a model based solely upon browsing others code.
  10. Henderson

    Application runs twice in Visual Studio

    Strange, is it repeatable on another machine or just that one?
  11. Henderson

    Advice on coding style

    Good point, here are references for all them.  I just walked thru your list in order and provided references, etc where needed.   Effective Modern C++, Item 10 for scoped enum reference Using pollution Effective C++, Item 33 inline trivial functions User inputs an integer value, implicit conversion to enum, no default case to report invalid data to user Already mentioned above Input not mapped to those in the defined enumerations are considered in my opinion undefined in the program (Secure Programming Cookbook for C and C++, recipe 3.1).  Add error cases in a default label in the switch statements, use a scoped enumeration, or add error checking prior to the switch statements. Sure <chrono> works std::time_t, etc method parameters passing explanation, not planning to dive into this here but there are tons of resources available online
  12. Henderson

    Advice on coding style

    Well put on the currency issue.  That was the road I was heading down but didn't put it quite so elegantly (edge cases rant).
  13. Henderson

    Advice on coding style

    Also, I noticed the downvotes....what exactly are you not liking here?  
  14. Henderson

    Advice on coding style

    Floats suck for beginners (and others) because they require documents for all the potential edge cases that look like this:   http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html   A link with some fun pitfalls, https://randomascii.wordpress.com/2012/06/26/doubles-are-not-floats-so-dont-compare-them/   I'm not saying to avoid them in general btw just not the most beginner friendly item here.
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!