• Content count

  • Joined

  • Last visited

Community Reputation

208 Neutral

About JD

  • Rank
  1. I also use pen&paper for use cases and state charts. I used to use PoseidonUML(Java based) but the screen was too small and program was slow. With poseidon though, I made a nice class hiearchy chart for FoxToolkit while ago. So that would be one example where UML tool is handy.
  2. Hooray no car.

    Week ago I leaked antifreeze all over the road with my ford escort. I thought the engine head or the crankcase got split because this happened on my other escort. However it turned out that the waterpump was shot and repairs were $350. I was lucky that I didn't drove the car far from home and could get back before engine melted. Waterpump was also problem on my dodge rampage and what a pain it was to diagnose it since I had multiple problems with that car. Once the pump was replaced it was a new car basically. I used to work on my rampage but nowdays I drive to my trusty car repair shop and let them fix it. Just not worth to mess around with these fuel injection, etc. cars. My dad took apart the wolkswagen wagon engine like nine times to get the bearings installed right and it was funny seeing the engine in pieces and put together. Those were the good old days before all the fancy smancy stuff got added in that made home repairs a pain w/o proper tools.
  3. Finnish team fought to the end. About halfway in 3rd period there was some excellent uninterrupted hockey being played. I think the referee were more strict this time and some calls were questionable on both sides. Despite this I think fins allowed swedes too many powerplays and should have been more disciplined. The time taken defending during powerplay should have been spent charging forward. Fins needed more time to score and powerplays hindered them. I'm still peeved at slovaks for losing to czechs after killing everyone in preliminaries. Wouldn't it be interesting if fins won all their games? Shucks!
  4. I use accessors when they're complex and don't when they're simple. For example if you have an array and a named index into that array to get an element then I use a getter because it cuts down on user knowing too much to use my module. If I'm just querying a state var then I get it directly, no need to write an accessor and possibly incur speed hit. One thing that you need to understand is that the way the software is built doesn't guarantee any nice way of code design. It might not even work out. You would have to expel tremendous effort to get it to work nicely and then when a new feature or change is introduced it might invalidate the nice design you have. My view is try to make it nice but don't be obsessive about it. Coding is best left for the machines who don't care about code design, only that the code runs correctly and efficiently. A nice design will often times screw up your optimizations so that's something to get used to. What's troubling to me is that companies that don't know any better fall for the OOP trend thinking they can use it everywhere and while it works the end result is less than satisfactory. You got to watch out for overdesign and underdesign and adjust accordingly. Not pick out OOP and then write everything in it. It might happen that the OO code you wrote while good design wise is a pain to trace thru and that's bad for maintenance and extension.
  5. Popular Programming Languages

    I would separate C from C++ and make one extra group called OOP and maybe add design patterns group as well. People who have mastered C/C++/STL syntax can then go into OOP/patterns groups to learn more. Not to mention C#/Java/etc. coders as well.
  6. Why does no one like me?

    I wouldn't be friends with those who talk behind my back. I would tolerate them but would be distant from them. If you don't want people to walk all over you because you're nice and can't refuse them then just be assertive without hurting them. Usually, good friends do extra things for each other but they don't take advantage of each other. You have to realize when you're taking advantage of a friend and stop yourself from pushing any further.
  7. When projects get huge...

    My view is that when a project gets large there is no silver bullet solution that would make it less complex. So you have to come into terms that mistakes are going to take more time to fix and that understanding and tracing thru code will take longer. As such one needs great stamina to do well as his projects gets larger.
  8. In seventh grade I found a book on chemistry for kids and they had stuff like making mirrors, melting marble and such kids stuff. I formed a chem. club with two of my friends one of who's mother worked in chem. lab so she got us the equipment and chemicals we needed. I didn't like chemistry in my school but ever since I gained a new interest in it thru my club my grades skyrocketed. I became teacher's pet :) My teacher was a mean one, if you didn't know something she would slap your hand with a ruler and that stung. She would also yell at you for forgetting school material and psyched you all out. Then you would stand like a dunce in front of others. Anyways, she was proud after I got involved in chemistry and I breezed thru all the lab work and tests. When I got to america the teachers were made of honey in comparison. Schools are alright imo. Yeah, the unis are basically run like business so nobody cares much about you but that's life. One benefit of going to school is to experience vast array of subjects. It could help you to decide on what you want to be doing in your life. I found about programming in uni and that changed my life. The closest thing to programming we had in my highschool was writing business letters on antiquated 286's. I would have killed to have a programming course back then. I would be like 5 years ahead now.
  9. Why do people mess up "than" and "then"?

    Another one: loose vs. lose.
  10. I forgot some things from school but only because I haven't used them since. Now that I'm older I actually am interested in subjects that I thought were boring in school like history for example. My answer to this is that as kids we have our minds on other things. As a kid, it's mostly about memorization and as we get older it's about significance and meaning and less on memorization. I keep notes and they help me to remember tasks I need to do. Very helpful during programming and a good progress booster.
  11. Is it late?

    The age is not a problem. The only requirement is that you have a need to program. It's a thinking type of a job unlike manual labor where you're moving about and not thinking much. It basically boils down to sitting behind a computer and reading lots of stuff and writing on keyboard. If you have the stamina to do it then you'll be alright. Smarts I think is bit overrated because it doesn't mention that the people who are good programmers now, had to put in lot of effort into it to get there. In another words, people assume you have to be smart to do it when the fact is that you need the stamina to do it. You can always become smarter since in my experience smarts is something that you can grow over time. The more problems you solve the next one is going to be easier because of your experience and because your brain grows and becomes smarter.
  12. Many of the programs made in Lisp are not commercialy based so it's harder to know about them. They're probably used in academic circles or expert systems in financial district. App dev is more mainstream and thus the langs. need to be tied to the gui infrastracture to be useful there. Historically C and C++ were such langs. C because it was tied to unix and system dev and C++ to MFC. Maybe .net + Lisp is possible but how it turns out I don't know. I think that syntax is one part in the decision to use a lang, at least for me the other is all the infrastructure I need for both gui and non-gui app dev. I always related Lisp to AI dev and maybe it's preceived niche had a negative impact on its possible mainstream use. In any case I'm a game dev and so far I've not had the need to use Lisp nor anything outside the procedural/OO norm. I think Lisp is nice to have but not a must have lang. A must have lang. would be one you couldn't do without and most game devs do fine with C/C++ at least for now.
  13. Ok Microsoft whatever you say

    The way I understand it is that Halo games are great for consoles but fare worse when compared to PC games where competition among fps games is stronger. Therefore it's very unlikely that players would buy this game in great numbers. The vista exclusivity makes this even worse. My view is that gamers who are into halo2 have already played it on their consoles and would be buying new games instead of halo2. I mean there is just not enough value at $150 for an older game that most played already and is not center of talk anymore. As for vista, it's great for win98 users ready to move to new gen tech and forced by ihvs but winxp'ers that's a harder sell. I would have made it for winxp, perhaps even win98 and price it at $30 to sell it. Then it has a chance among other games such as Q4, HL2, FarCry, Doom3, etc. Not to mention halo2 will be fighting against newer PC games by the time it ships.
  14. Very Important!!!!

    I used ball mice before and they're allright except I hated cleaning the gum that accumulated on ball rollers every few months. I had one with metal rollers and gum ate into that and that was bad. Then I had mouse with plastic rollers and those were bit easier to clean but still cleaning is tedious. Then I got an ibm optical mouse for like $16 at walmart and wow! At first, when playing games, my hand would tend to lift the mouse but after couple of days using it I learned to slide the mouse on my mouse pad. I love the optical mouse now and no cleaning of its insides unless gum accumulates on outside of it from handling it. But that was same for ball mouse. It's a usb mouse but I use ps2 converter because I had a problem where I clicked X button on ctrl-alt-delete screen and it would freeze my computer. So I don't use ibm drivers nor usb since then. I use mouse pad to cusion the contact point my hand makes with the table. The mouse is harder to drag on the pad but that's ok. My mouse pointer doesn't jump randomly and I think mouse movement is smoother than ball mouse I used before. Maybe microsoft has an older usb ball mouse but I would stay with optical knowing the pains of ball mouse.
  15. Programmers Depression

    Just look at some tetris code to see how some else done it. Good programmers copy each other and learn that way. It's impressive but not terribly efficient to write everything by yourself. Probably necessary in cave dweller times but in modern age we just research it before we code it up. It's not about beefing up your ego but about the problem at hand and how to solve it well in minimum time. If you feel about programming as you do for some of your other hobbies then you'll be a good programmer because you'll care about it in ways that others don't. That's all that matters and small insignificant things as not knowing a particular solution at this time won't matter much in the greater scheme of things. Maybe you just need a little push. I have a nike shirt that says "Just do it!" and it means that you don't think about doing it but you just do it, imo. Also, something that the above poster said. Schools won't teach you how to think. They can't open up your mind and insert a chip that will do it for you. Well maybe in 500 years they can :) You have to learn how to think by making mistakes and learning from them by writing lots of code. In school you get punished when you fail but on your own you get wisdom when you fail. That is weight in gold and pays lots of bucks in business world. You know something the others don't know and for them to know it they too must fail to realize it, and that's costly. So they hire people who have gone thru it and can thus save them time and thus money. I'm not saying you should fail purposely just that there is always something to glean from your mistakes that will make things clearer. If you can then take CS degree but know how to code and thus implement the theories. In anotherwords you shouldn't struggle with coding when you arrive at higher level CS classes. You should be beyond that and know how to solve most problems already. That only comes if you've been coding for a while.