|
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. |
On September 06 2012 10:10 DarkGeneral wrote:Show nested quote +On September 06 2012 09:53 LukeNukeEm wrote:On September 06 2012 09:46 DarkGeneral wrote:On September 06 2012 09:27 LukeNukeEm wrote:On September 06 2012 09:01 DarkGeneral wrote: 1. How do I code an Armor mitigation function/class? For example the player has 112 armor, and is level 4, the enemy is lvl 6. How do I make it that 112 turns into a certain % reduction? such that more player/monster level difference affects the % and also the more the static armor, the less stacking effect it has, such as a diminishing return or a softcap
You could do something like: dmgModifier = 100 / (100 + armor); dmgOut = dmgModifier * dmgIn; Adjust the numbers to what you feel works best for you. Sweet, I like that. Any ideas on how to play level difference into this calculation? Just do the same thing again - pretend that each level is worth 50 armor or so. either work it in the existing modifier, or create a new one and multiply both, e.g: lvlDiffModifier = 100 / (100 + 50 * lvlDiff); dmgOut = armorModifier * lvlDiffModifier * dmgIn Beautiful simplcity, now for the last aspect, how would I implement diminishing returns? As the number increases and the % approaches lets say 70% the % amount per armor point would have to curve down, what is the best way to do that?
with this approach every point in armor is already worth less than the previous point; the first point is worth 0,99009900990099...%, the second point is worth an additional ~0,970685% 100 armor = 50% dmg 200 armor = 33% dmg 300 armor = 25% dmg 400 armor = 20% dmg 900 armor = 10% dmg etc
if you want to further diminish them, you could say that everything over a certain threshhold gets squarerooted, eg: if (displayedArmor > 500) realArmor = 500 + sqrt(500 - displayedArmor);
|
Does anyone know of a PHP or JavaScript library for working out volumes of liquid in various shape tanks? Really don't want to have to spend a ton of time finding the formulas and converting it myself =/
|
On September 06 2012 14:46 wherebugsgo wrote:Show nested quote +On September 06 2012 13:16 phar wrote:On September 06 2012 00:43 wherebugsgo wrote:On September 05 2012 18:24 Frigo wrote: I also advise you to read Clean Code and learn how to use Eclipse and its various refactor options.
Don't think I'll be using Eclipse, I like emacs too much :p Eclipse is a huge timesaver for Java. If you're not going to be writing that much code it won't matter, but if you have to crank out like 4k loc a week, Eclipse helps with the RSI :\ If this is for ar Uni class, just use whatever you're most comfortable with. But the default auto complete / auto import / auto getter/setter /etc stuff that's built in to Eclipse is really handy. yeah so it's for a university class (UC Berkeley) and our "official" text editor is emacs. We have been told that we can use Eclipse if we want to, but our prof made a list of things he hates about Eclipse and most of us learned on vim/emacs anyway so it's not a huge deal.
Every reason you can come up with for hating and therefore not using any IDE like Eclipse/Netbeans is pretty much erased when you deal with projects that are so large that you can no longer keep all of the code in your head. Call hierarchies and being able to dive through code at a fast rate are imperative when dealing with enterprise type environments.
As stated, not a huge deal for when you're in Uni...just wanted to give the disclaimer that your professor's view is skewed because he's in a learning environment and not a get-shit-done environment.
|
On September 07 2012 09:20 berated- wrote:Every reason you can come up with for hating and therefore not using any IDE like Eclipse/Netbeans is pretty much erased when you deal with projects that are so large that you can no longer keep all of the code in your head. Call hierarchies and being able to dive through code at a fast rate are imperative when dealing with enterprise type environments.
As stated, not a huge deal for when you're in Uni...just wanted to give the disclaimer that your professor's view is skewed because he's in a learning environment and not a get-shit-done environment. Agree with this 100%.
"ctrl+alt+h f3 f3 f3 f3 f3 f3 f3 f3 f3... oh THAT'S what that does"
If it's just for an Uni class, go with whatever people are most likely to be able to help you out with. If emacs is recommended, use it (especially if you're already a lisp hacker).
|
On September 07 2012 16:18 phar wrote:Show nested quote +On September 07 2012 09:20 berated- wrote:Every reason you can come up with for hating and therefore not using any IDE like Eclipse/Netbeans is pretty much erased when you deal with projects that are so large that you can no longer keep all of the code in your head. Call hierarchies and being able to dive through code at a fast rate are imperative when dealing with enterprise type environments.
As stated, not a huge deal for when you're in Uni...just wanted to give the disclaimer that your professor's view is skewed because he's in a learning environment and not a get-shit-done environment. Agree with this 100%. "ctrl+alt+h f3 f3 f3 f3 f3 f3 f3 f3 f3... oh THAT'S what that does" If it's just for an Uni class, go with whatever people are most likely to be able to help you out with. If emacs is recommended, use it (especially if you're already a lisp hacker).
I was anti-IDE myself for a very, very long time. "50k LoC? Sure, i can keep that in my head, don't need an IDE". I still think VIM is the best editor ever created and i also think Eclipse is a horrible, sluggish mess. But after working with Visual Studio on a project a few years ago i learned to really appreciate IDEs. There is so much stuff that is a lot easier with a really good IDE, especially for debugging and tracing problems.
However, i agree, for university always go with what the prof recommends.
|
Why would anyone not use ide's? they only make your life easier,It's totally impossible for me without my ide tools, and environment.
Maybe he's from the older days or has not worked on large projects with multiple people...I was reading a blog by a blizzard lead programmer..and for warcraft 2, they did not even have source control o.0, ended up manually merging code and such, and were totally surprised when bugs reappeared lol.
Edit: I dont like eclipse though, it's horrible, I had to use it for an android project...and it was really sluggish.
|
On September 07 2012 16:55 dartoo wrote: Why would anyone not use ide's? they only make your life easier,It's totally impossible for me without my ide tools, and environment.
Maybe he's from the older days or has not worked on large projects with multiple people...I was reading a blog by a blizzard lead programmer..and for warcraft 2, they did not even have source control o.0, ended up manually merging code and such, and were totally surprised when bugs reappeared lol.
Edit: I dont like eclipse though, it's horrible, I had to use it for an android project...and it was really sluggish.
Some stories from reallife: Our shop development team works almost completely without IDEs. Some of them use Netbeans but they don't use anything of what is actually the important aspect of IDEs, they use it only as fancy editor with tabs and git integration... and that is for a custom developed multi-million euro online store with a complete inventory system, payment and all.
Our other team that controls the core payment and access control engine for the VOD area doesn't even use Git, they only use FTP & Notepad++ and have a ton of .20120905, .20120906, etc. files.
... and we are a "professional software development company" owned by a multi-million euro company.
Oh, and i quit to the end of this month. Sadly, i know that it's not much better in any other company.
If you ever find yourself working without IDE or source/version control system, stop and think. Then contrinue to work with IDE & VCS.
|
How is VCS compared to GIT/SVN?
|
On September 07 2012 17:45 KaiserJohan wrote: How is VCS compared to GIT/SVN?
VCS = Version Control System. It's just the general term for all the version control systems like git and svn. Not to be confused with VSS which is actually awful.
Also, git is the best once you understand branching, which is something i try to teach some of my colleagues since a year and they haven't grasped even the basic concept and whenever one of them overwrites a change from a merge conflict due to stupidity, my boss says "If that continues to happen, we'll go back to FTP" -.-
|
On September 07 2012 18:44 Morfildur wrote:Show nested quote +On September 07 2012 17:45 KaiserJohan wrote: How is VCS compared to GIT/SVN? VCS = Version Control System. It's just the general term for all the version control systems like git and svn. Not to be confused with VSS which is actually awful. Also, git is the best once you understand branching, which is something i try to teach some of my colleagues since a year and they haven't grasped even the basic concept and whenever one of them overwrites a change from a merge conflict due to stupidity, my boss says "If that continues to happen, we'll go back to FTP" -.-
Oh lol, yes I confused VCS with VSS.
I usually use SVN, but with git I have some wierd experience with my tortoiseGit client for some reason, the tortoiseGitcache process is really buggy (like some files not show as versioned or commited, takes 50% of cpu all the time, etc) for me atleast, but seems to work fine for others.
For me SVN does everything I need it to do, but is there any case where SVN fails and Git does better?
|
relevant for git: http://geekandpoke.typepad.com/geekandpoke/2012/07/simply-explained-2.html
we could start a war about git vs hg, personally i find hg to be more user friendly, although as i understand git does offer a few more advanced features that mercurial doesn't have, but i haven't got around to needing any of them yet.. if git confuses you and you can chose for yourself what to use, you could try mercurial. Although i don't know if there is such an easy "register and you get a repository" thing for mercurial like github for git, you'd need your own server if not.
/edit: tl doesn't like image embed, so linking to page instead^^
|
On September 07 2012 19:04 MisterD wrote:relevant for git: http://geekandpoke.typepad.com/geekandpoke/2012/07/simply-explained-2.htmlwe could start a war about git vs hg, personally i find hg to be more user friendly, although as i understand git does offer a few more advanced features that mercurial doesn't have, but i haven't got around to needing any of them yet.. if git confuses you and you can chose for yourself what to use, you could try mercurial. Although i don't know if there is such an easy "register and you get a repository" thing for mercurial like github for git, you'd need your own server if not. /edit: tl doesn't like image embed, so linking to page instead^^
I too find hg to be easier than git, but maybe that's just because it's what I use most.
I recommend Bitbucket as the hg equivalent of github (it also supports git). You get unlimited repositories (accessible by up to 5 users) for free (you have to pay for repositories accessible by more users).
|
On September 07 2012 18:57 KaiserJohan wrote:Show nested quote +On September 07 2012 18:44 Morfildur wrote:On September 07 2012 17:45 KaiserJohan wrote: How is VCS compared to GIT/SVN? VCS = Version Control System. It's just the general term for all the version control systems like git and svn. Not to be confused with VSS which is actually awful. Also, git is the best once you understand branching, which is something i try to teach some of my colleagues since a year and they haven't grasped even the basic concept and whenever one of them overwrites a change from a merge conflict due to stupidity, my boss says "If that continues to happen, we'll go back to FTP" -.- Oh lol, yes I confused VCS with VSS. I usually use SVN, but with git I have some wierd experience with my tortoiseGit client for some reason, the tortoiseGitcache process is really buggy (like some files not show as versioned or commited, takes 50% of cpu all the time, etc) for me atleast, but seems to work fine for others. For me SVN does everything I need it to do, but is there any case where SVN fails and Git does better?
Git is a lot more advanced, especially concerning branches and such. Also, it has a different philosophy which is not that easy to understand if you come from an SVN/CVS background. It took me a few weeks of using it until the good parts actually clicked and i understood it all.
If you have a big project on which multiple people work, like for example the VOD websites on which i work as the core developer, and there are sub projects where you create several features that are based on the original version but consists of several parts, the branches come in very handy.
For example our current structure:
master ----- Live \ \_ branch ticket_1234 - Ticket 1234 from the bug-tracker \ \_ branch ticket_2345 - Ticket 2345 from bug-tracker \ \_ branch mobile_dev - Main development branch for the new mobile version of our website \ \_ branch ticket_3456 - Ticket 3456 for a bug in the mobile version
All developers working on the mobile website that we are launching soon are always branching off the mobile_dev branch and once their feature/bugfix is complete, they merge the ticket branch into the mobile_dev branch. Until then, the mobile_dev branch stays unaffected by anything they do, so they don't disrupt the work of other developers.
The developers working on the normal system are branching off the master branch and all their changes are unaffected until i merge their changes into the live system. Until then i can freely pull and push (SVN: update and commit) without any danger of accidently getting something into the live system.
If there is a change in the live system, for example a critical bugfix, i can merge the new live status it into the mobile_dev branch so i don't have to bother with losing changes once the mobile version goes live.
None of the junior developers or web designers ever interacts with the master branch, only me and my successor merge stuff into live and whenever we make pull (SVN: update), we don't have to worry about accidently getting more than we wanted.
It's really easy with git once you understand how it works.
Another advantage: Git is a distributed system, that means if we had git when our VCS server had a harddrive failure, we could have just copied a developers repo on the new server and continued working but since we had SVN we lost everything and had to restore everything by hand - of course at the loss of the complete development history.
|
If you have a really big project (for some definitions of the word "big"), git just straight up doesn't work, it's too slow:
http://thread.gmane.org/gmane.comp.version-control.git/189776
For large code bases, you need something underneath. You can use git on top for the smaller pieces, and still get most of the awesome goodness that git provides. Or you can break it up into smaller projects. Or a bunch of other solutions. But just plain git on a really large repo won't work.
|
On September 07 2012 16:49 Morfildur wrote:Show nested quote +On September 07 2012 16:18 phar wrote:On September 07 2012 09:20 berated- wrote:Every reason you can come up with for hating and therefore not using any IDE like Eclipse/Netbeans is pretty much erased when you deal with projects that are so large that you can no longer keep all of the code in your head. Call hierarchies and being able to dive through code at a fast rate are imperative when dealing with enterprise type environments.
As stated, not a huge deal for when you're in Uni...just wanted to give the disclaimer that your professor's view is skewed because he's in a learning environment and not a get-shit-done environment. Agree with this 100%. "ctrl+alt+h f3 f3 f3 f3 f3 f3 f3 f3 f3... oh THAT'S what that does" If it's just for an Uni class, go with whatever people are most likely to be able to help you out with. If emacs is recommended, use it (especially if you're already a lisp hacker). I was anti-IDE myself for a very, very long time. "50k LoC? Sure, i can keep that in my head, don't need an IDE". I still think VIM is the best editor ever created and i also think Eclipse is a horrible, sluggish mess. But after working with Visual Studio on a project a few years ago i learned to really appreciate IDEs. There is so much stuff that is a lot easier with a really good IDE, especially for debugging and tracing problems. However, i agree, for university always go with what the prof recommends. You can have the best of both worlds: https://github.com/jaredpar/VsVim (I'm sure there's something similar for other IDEs, like *bleh* Eclipse). I've used it for a few months and it worked pretty well. I'm not a VS guru though, so I don't know if it works well with some of the more advanced features.
On September 08 2012 06:59 phar wrote:If you have a really big project (for some definitions of the word "big"), git just straight up doesn't work, it's too slow: http://thread.gmane.org/gmane.comp.version-control.git/189776For large code bases, you need something underneath. You can use git on top for the smaller pieces, and still get most of the awesome goodness that git provides. Or you can break it up into smaller projects. Or a bunch of other solutions. But just plain git on a really large repo won't work. A 10 gigabyte repository? I don't think I'll see that much code in my entire life -.-
|
On September 08 2012 07:32 delHospital wrote:Show nested quote +On September 07 2012 16:49 Morfildur wrote:On September 07 2012 16:18 phar wrote:On September 07 2012 09:20 berated- wrote:Every reason you can come up with for hating and therefore not using any IDE like Eclipse/Netbeans is pretty much erased when you deal with projects that are so large that you can no longer keep all of the code in your head. Call hierarchies and being able to dive through code at a fast rate are imperative when dealing with enterprise type environments.
As stated, not a huge deal for when you're in Uni...just wanted to give the disclaimer that your professor's view is skewed because he's in a learning environment and not a get-shit-done environment. Agree with this 100%. "ctrl+alt+h f3 f3 f3 f3 f3 f3 f3 f3 f3... oh THAT'S what that does" If it's just for an Uni class, go with whatever people are most likely to be able to help you out with. If emacs is recommended, use it (especially if you're already a lisp hacker). I was anti-IDE myself for a very, very long time. "50k LoC? Sure, i can keep that in my head, don't need an IDE". I still think VIM is the best editor ever created and i also think Eclipse is a horrible, sluggish mess. But after working with Visual Studio on a project a few years ago i learned to really appreciate IDEs. There is so much stuff that is a lot easier with a really good IDE, especially for debugging and tracing problems. However, i agree, for university always go with what the prof recommends. You can have the best of both worlds: https://github.com/jaredpar/VsVim (I'm sure there's something similar for other IDEs, like *bleh* Eclipse). I've used it for a few months and it worked pretty well. I'm not a VS guru though, so I don't know if it works well with some of the more advanced features. Show nested quote +On September 08 2012 06:59 phar wrote:If you have a really big project (for some definitions of the word "big"), git just straight up doesn't work, it's too slow: http://thread.gmane.org/gmane.comp.version-control.git/189776For large code bases, you need something underneath. You can use git on top for the smaller pieces, and still get most of the awesome goodness that git provides. Or you can break it up into smaller projects. Or a bunch of other solutions. But just plain git on a really large repo won't work. A 10 gigabyte repository? I don't think I'll see that much code in my entire life -.-
Well, our repository for one of the VOD projects is 4GB in size... ... mostly because the idiot who initialized the git repository after our SVN harddrive crashed also accidently committed several video files into it and when i first had to use that repo (i was busy on another project at that time), it was already too late to redo it properly.
10GB is for pure code projects not too unlikely, though. You won't reach it in a year or two but after a few years in a big team the archive can grow really, really big. At that point the most sensible solution is to split the project up into sub projects. For example we have payment, user management and our two core VOD projects in seperate git repositories eventhough no part can work without the other since there are different people working on the different parts anyways. That way they don't need to check out everything.
|
On September 06 2012 14:46 wherebugsgo wrote:Show nested quote +On September 06 2012 13:16 phar wrote:On September 06 2012 00:43 wherebugsgo wrote:On September 05 2012 18:24 Frigo wrote: I also advise you to read Clean Code and learn how to use Eclipse and its various refactor options.
Don't think I'll be using Eclipse, I like emacs too much :p Eclipse is a huge timesaver for Java. If you're not going to be writing that much code it won't matter, but if you have to crank out like 4k loc a week, Eclipse helps with the RSI :\ If this is for ar Uni class, just use whatever you're most comfortable with. But the default auto complete / auto import / auto getter/setter /etc stuff that's built in to Eclipse is really handy. yeah so it's for a university class (UC Berkeley) and our "official" text editor is emacs. We have been told that we can use Eclipse if we want to, but our prof made a list of things he hates about Eclipse and most of us learned on vim/emacs anyway so it's not a huge deal. emacs is a good thing to know, it's quite a powerful text editor, but Eclipse is not just a text editor, it's an IDE, if you're writing a complex project, there is no reason to use emacs over eclipse if you have the option.
|
Kentor
United States5784 Posts
On September 04 2012 16:34 wherebugsgo wrote: anyone have any tips on learning Java?
I come from a strong Lisp (Scheme specifically) background and I know Python fairly well in addition. I need to learn Java this semester. Very basic general stuff can be helpful for me. I like knowing the constraints or specifics of a language regarding its very basic ideas: things like, in Lisp everything has the value #t except for #f, whether doing tail-recursion has any benefits over regular recursion, (in Python tail-recursion has no benefit) syntax things to consider (parentheses in Lisp anyone? Also the fucking colons after all the loops in Python kept screwing me over lol) Sup, glhf with Hilfinger. If you don't like his lectures just do a youtube search for CS61B for Shewchuk's lectures; they're really good. I don't think the Sun JVM does tail call optimization, not that knowing this is super important for this class. And only true is true and false is false, unlike in many other languages where everything is true except for false, nil, 0, etc. I also recommend reading the Head First book. I thought it was pretty good.
|
On September 08 2012 07:32 delHospital wrote:Show nested quote +On September 07 2012 16:49 Morfildur wrote:On September 07 2012 16:18 phar wrote:On September 07 2012 09:20 berated- wrote:Every reason you can come up with for hating and therefore not using any IDE like Eclipse/Netbeans is pretty much erased when you deal with projects that are so large that you can no longer keep all of the code in your head. Call hierarchies and being able to dive through code at a fast rate are imperative when dealing with enterprise type environments.
As stated, not a huge deal for when you're in Uni...just wanted to give the disclaimer that your professor's view is skewed because he's in a learning environment and not a get-shit-done environment. Agree with this 100%. "ctrl+alt+h f3 f3 f3 f3 f3 f3 f3 f3 f3... oh THAT'S what that does" If it's just for an Uni class, go with whatever people are most likely to be able to help you out with. If emacs is recommended, use it (especially if you're already a lisp hacker). I was anti-IDE myself for a very, very long time. "50k LoC? Sure, i can keep that in my head, don't need an IDE". I still think VIM is the best editor ever created and i also think Eclipse is a horrible, sluggish mess. But after working with Visual Studio on a project a few years ago i learned to really appreciate IDEs. There is so much stuff that is a lot easier with a really good IDE, especially for debugging and tracing problems. However, i agree, for university always go with what the prof recommends. You can have the best of both worlds: https://github.com/jaredpar/VsVim (I'm sure there's something similar for other IDEs, like *bleh* Eclipse). I've used it for a few months and it worked pretty well. I'm not a VS guru though, so I don't know if it works well with some of the more advanced features. Show nested quote +On September 08 2012 06:59 phar wrote:If you have a really big project (for some definitions of the word "big"), git just straight up doesn't work, it's too slow: http://thread.gmane.org/gmane.comp.version-control.git/189776For large code bases, you need something underneath. You can use git on top for the smaller pieces, and still get most of the awesome goodness that git provides. Or you can break it up into smaller projects. Or a bunch of other solutions. But just plain git on a really large repo won't work. A 10 gigabyte repository? I don't think I'll see that much code in my entire life -.-
10 gigabytes goes pretty quick when bring in external tools like VTK, ACIS, Python, Syncfusion for the GUI, etc.
|
On September 08 2012 07:32 delHospital wrote:Show nested quote +On September 07 2012 16:49 Morfildur wrote:On September 07 2012 16:18 phar wrote:On September 07 2012 09:20 berated- wrote:Every reason you can come up with for hating and therefore not using any IDE like Eclipse/Netbeans is pretty much erased when you deal with projects that are so large that you can no longer keep all of the code in your head. Call hierarchies and being able to dive through code at a fast rate are imperative when dealing with enterprise type environments.
As stated, not a huge deal for when you're in Uni...just wanted to give the disclaimer that your professor's view is skewed because he's in a learning environment and not a get-shit-done environment. Agree with this 100%. "ctrl+alt+h f3 f3 f3 f3 f3 f3 f3 f3 f3... oh THAT'S what that does" If it's just for an Uni class, go with whatever people are most likely to be able to help you out with. If emacs is recommended, use it (especially if you're already a lisp hacker). I was anti-IDE myself for a very, very long time. "50k LoC? Sure, i can keep that in my head, don't need an IDE". I still think VIM is the best editor ever created and i also think Eclipse is a horrible, sluggish mess. But after working with Visual Studio on a project a few years ago i learned to really appreciate IDEs. There is so much stuff that is a lot easier with a really good IDE, especially for debugging and tracing problems. However, i agree, for university always go with what the prof recommends. You can have the best of both worlds: https://github.com/jaredpar/VsVim (I'm sure there's something similar for other IDEs, like *bleh* Eclipse). I've used it for a few months and it worked pretty well. I'm not a VS guru though, so I don't know if it works well with some of the more advanced features. Show nested quote +On September 08 2012 06:59 phar wrote:If you have a really big project (for some definitions of the word "big"), git just straight up doesn't work, it's too slow: http://thread.gmane.org/gmane.comp.version-control.git/189776For large code bases, you need something underneath. You can use git on top for the smaller pieces, and still get most of the awesome goodness that git provides. Or you can break it up into smaller projects. Or a bunch of other solutions. But just plain git on a really large repo won't work. A 10 gigabyte repository? I don't think I'll see that much code in my entire life -.-
I agree on that one. A git status on a 1.2 gb source repo takes about 30 seconds, which is a hell of a lot faster than cvs. I dont know what companies have a 10 gb repo. It should have been split up before it got to that size. Imagine how long it would take to build that.
|
|
|
|