Reputation
4,353
Top tag
Next privilege 5,000 Rep.
Approve tag wiki edits
Badges
1 11 21
Impact
~115k people reached

Aug
20
awarded  Famous Question
Jul
13
comment Determining game item prices based off of player trades/in-game economy
Not that gbjbaanb's answer isn't good, but it is generally a good idea to wait a few days before accepting an answer in order to encourage more answers. Once an answer has been accepted then people tend to not add their own answer unless they feel particularly strongly about their own opinion.
Jul
13
comment Determining game item prices based off of player trades/in-game economy
Does your price for goods use a common currency or do you barter by trading goods for goods? It matters quite a bit as to the model you would end up with.
Jun
26
comment A layer of abstraction too far?
If the CDM message will only ever contain one kind of service command format then you are correct, it probably is unnecessary. However, the point of CDM is to be able to send widely disparate types of message/command formats encapsulated in a common transport format. So if you add a new format of message then your translator now needs to know how to convert both the old command format and the new command format. Once again, if only two formats, it might still be reasonable, but at some point it will become unwieldy. IMO, you might as well do it right the first time. It's not much extra effort.
Jun
15
comment Divide time available by task type
@Ezi In which case ANY schedule you create is meaningless. Instead just do the part that Bart suggested that you can do. Put everything in one big list in priority order and as developers need a task to work on they take the top one from the queue.
Jun
15
comment Testing strategy for coupled systems
@dulac There's multiple levels of testing. Both the AdminView and ReadOnlyView teams should verify that their software works according to their requirements as they understand them. That is software acceptance testing. Afterwards, you would then test the 2 software systems together. That's system testing. 2 separate activities. If more than 2 software systems exist then sometimes there's a 3rd level of testing called integration testing where parts of the system are tested with each other to make sure they work together. There are shortcuts but conceptually all of these are separate activities
Jun
15
comment Split program to smaller programs
Not sure what you mean by "All the signals I send back forth to it would be checked multiple times". It probably doesn't matter much in your case because you can just make sure a thread that crashes doesn't crash your main application and the main app restarts the thread just as reliably as your multi-program approach. In the multi-program approach, you could have a "Communications" program that does the sending and receiving to the radio and internally you have interprocess communications routing commands and receiving status and responses.
Jun
15
comment How to quantify the work perfomed by a developer/programmer?
I agree totally with the first 3 paragraphs but I don't think you need to do anything to evaluate how well developers are doing in a team environment other than pay attention and listen to what is happening day in and day out. No need for meetings, no need for reviews. Just pay attention. This is harder to do when teams are disjointed, people work alone on projects or the manager is on manager row instead of with the team, then I guess you'll need to do the stuff you are suggesting. I am always amazed at how quickly the pecking order of skill level and usefulness works itself out on teams.
Jun
1
comment verify a defect is a production defect or not
I guess I'll modify my answer somewhat with a caveat. If the development team doesn't have something representative of the production system then it makes sense for someone who does have access to do this check. I've been on a few projects like that where the hardware was very expensive and software was given a limited window where they got to do their development and integration testing with the hardware but then they lost the hardware after that. But that's a special case, my original response applies in the general case.
Jun
1
comment verify a defect is a production defect or not
Re: "QA tends to have more hours available". Huh! Where did that come from? Every place I have ever worked, QA is short-staffed and responsible for multiple projects. As developers, we are always trying to pry them away from other projects to work on ours. So no, they don't have any hours available, let alone more hours available. No reason to add more tasks to their queue when determining whether a problem currently exists in production or not can frequently be answered by the developers just by hearing what the problem is without needing to duplicate it on the production system.
May
28
comment verify a defect is a production defect or not
QA documents defects. If QA goes the extra step to describe all the steps to duplicate the defect then they are already going above and beyond. Thus, I agree with you, the dev manager is definitely wrong. Sometimes our QA documents the steps but many times that isn't easy for them to determine exactly. All we ask for from QA is to be sure to save the log files. We can figure it out from there. If the dev team didn't build in sufficient diagnostics into their application then that's their fault.
May
28
comment Flat files for events and alarms
This problem has had people struggling since the early days of computing. You just need to pick your poison. Flexibility versus robust but rigid. Doc Brown gave the best solution. Keep version strings. If you load an old version then replace it with the new version of the file. That only works if new fields have some reasonable default values that you can set. The other option is not to keep versions but set default values if the file is not in expected format and save the new version file. Once again, there's some types of data where this works, other types of data where it breaks the system.
May
28
comment How to deal with different programming styles in a team?
Coding standards can largely be automated nowadays. Requiring people to run each source file through whatever tool you are using before checking the file in will go a long way towards preventing most coding standards violations. I guess what the tools won't catch are the hackers with really ugly practices like the OP's new person sounds like. Seems like code reviews and rejecting undesired styles is about the only way to fix a hacker.
May
28
comment When is an object of real world a (computational) object in OOP world?
@svidgen - The OP seems to be looking for some specific rules to apply. I was expanding on your post to further amplify that there are no specific rules. Any rules someone comes up with will work in some cases but not others. I said this same thing elsewhere but thought your example provided yet another opportunity to try and convince the OP that what they are looking for can't be found.
May
27
comment When is an object of real world a (computational) object in OOP world?
There's a REALLY LARGE degree of subjectivity. While a Cup might sound like a great idea for a class in your current iteration, you may know that your next upgrade will have a different kind of liquid container. Thus, LiquidContainer would probably be a superior choice because you very well might get that additional functionality for free doing it that way versus having a Cup Class and then needing to create a Glass and Bucket Class later on.
May
27
comment When is an object of real world a (computational) object in OOP world?
Here's how I use domain models. I draw the domain model. Then each domain class becomes a subsystem. I then design each subsystem depending on what it needs. That could end up with a subsystem being made up of only 1 class (very rare) or a subsystem that contains 25 classes. The subsystem can even contain a class with the same name as the domain class. It all depends on what makes sense. I focus on easy to understand. Someone else might focus on easy to implement. Someone else, easy to modify. There aren't specific rules that can be applied, just application of knowledge, skill and experience.
May
27
comment When is an object of real world a (computational) object in OOP world?
There are no rules to apply in all situations. If there were then nobody would need you or me or other programmers. Somebody could write a program that does all this by just applying rules. There are guidelines, a class has behavior and data etc...but no rules, which is what your saying there are 2 conditions. If the class helps to make your system easier to understand, either by "organizing other classes", "performing functionality" or "any other reason" then it is a legitimate computational unit. Of course some ways of deciding are better than others but that's a whole other topic.
May
27
comment When is an object of real world a (computational) object in OOP world?
Your understanding is incorrect because there is no universally agreed definition of "computational object". There's even no universally agreed definition of OOD or OOP. The answer to your question is that any physical/conceptual object can be a computational object when it makes sense in the context of your application. Meaning that, it might make perfect sense that Person is a class in one application and be perfectly wrong in another application even though Person shows up as a domain object in both applications.
May
27
comment If I have a method that needs verification in order to proceed, do I call it inside the method or before?
This seems like the obvious answer. A good API interface makes it hard for the user to use your API incorrectly. If you require the user to call VerifyOrder before using SaveOrder then you are asking for problems. So when the customer comes along and says you are saving invalid order data, it isn't the user whose code isn't functioning correctly. It's yours. You let the bad data get through, regardless of whether you commented the heck out of your method description that they have to call VerifyOrder first. Your SaveOrder method still did the wrong thing.
May
27
comment Environment-aware Code
This should be the accepted answer because it is more general purpose. There are times when changing config files or databases doesn't solve the environment problem. What if you want the code to run on your PC and on the embedded hardware without having to recompile or use different builds? Config files won't solve this unless there's some code that can tell where the app is running. The idea above is to severely limit where the environment information is known. I do it slightly differently but with the same general concept in mind.