|
jschell wrote: 1. You must have access to systems that match each different Y. And your project schedule must include time for FULLY testing on each. This is how I do business - and software with long-term stability is the result. I would like to maintain that reputation.
The some obtuse question, do special compilers exist, was pushed on me by management. It's not really that bad an idea to check if there's a specialized method for coding/building for the VMs. My hope was, and you confirm, there is not. Asking is part of a due diligence.
jschell wrote: f you choose option 1 then you MUST have access to systems that match each environment. It doesn't matter how that is physically managed. Which is perfect agreement with what I keep telling them. They'll break down, eventually, but the waste time is frustrating.
Thanks
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "As far as we know, our computer has never had an undetected error." - Weisert | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
First of all, differentiate between hardware and software requirements.
As a developer, you need your development environment including all its dependencies (third party libraries) installed on the virtual machine. Then your references won't be broken.
Often some folders are redirected to network shares - the user's home directory need not be in C:\Documents and Settings\Username... If you hardcoded such paths, it's a good idea to correct that!
The other point is hardware redirection. VMWare view can do a lot of hardware redirection. But of course, when hardware is redirected from the ThinClient to the virtual machine, you need a driver installed on the Virtual Machine.
But you lucky guy have Windows XP ThinClients - this allows for installing drivers on the client, and even sharing a printer which is connected to the client. With Linux clients, that's practically impossible.
|
|
|
|
|
Pretty much, your description of what I should do is what I want to be doing: I long ago understood the "it works on my machine' experience.
My broken items were broken not via hard-coded paths, but rather, adding references to Windows objects via Visual Studio. That object has either moved, had its name changed, or moved with the new version of MS Office (in this case, the spell-checker was broken). This is the precise imperative why I'm insisting on a development environment in the same VM's as the users. Local printers, reinstalled at the same workstation, failed to operate: apparently it needs to be installed on the VM client that is connected physically to the (Okidata) printer. The Server folks don't want to do this - so the printer only prints Ascii streams: all but useless.
A shame, too, as you noted that our XP ThinClients allow this. That, of course, is a second side of the problem with the administrator(s) of our server farm. Eventually, he'll give in (at least for a usable environment) - but only after he's extracted a pound of flesh wherever he can.
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "As far as we know, our computer has never had an undetected error." - Weisert | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
hello
I have a problem in an exercise with rational rose here are the answers :
1) Using the wizard to create a class diagram (mode
relational as stereotype), set the class diagram of the issue 2) limiting itself to both customer and order tables. Implement code obtained to create the schema of the database corresponding oracle9i.
2) Implement diagram object databases
I created the relational schema and I generated the scrit
but I don't know how to implement diagram object database
do you have any idea
thank you in advance
|
|
|
|
|
I'm building an retail appliction where the software will be installed locally on the client. There will be a local copy of the database, and the software will do CRUD operations on it.
Then, each day the software will send inserts/updates/deletes to the server. On the server the database is identical to the local DB.
The reason for this design is that if the user cannot connect to the server, the software has to still be able to run. The customer cannot be stopped from using the software in their store because they cannot connect to the server.
To facilitate this I'm going to use composite primary keys. The first part of the key is the CustomerId, and the second is the Id of that table. So, for an Order row the key would be CustomerId + OrderId. This way, when the data is pushed to the server I will have unique keys across all customers.
The question is this... Assume a new customer downloads and installs the software. How do I get the CustomerId? I'm guessing that during setup I would connect to the server and get the next available CustomerId, and to do that I would have to store the CustomerId to the server's table right then & there. But again, what if they can't connect?
Anyone have a better idea? Any problems with this design?
Thanks
If it's not broken, fix it until it is
|
|
|
|
|
Why not use a GUID for the id field? It's better because it doesn't rely on knowledge of server values.
|
|
|
|
|
I thought of that, but then I figured I didn't want to be transmitting alot of GUID's to the server. Seems like alot of data each trip.
If it's not broken, fix it until it is
|
|
|
|
|
As much as I loath the blind use of Guids, they don't consume "that much". And no, you needn't select the Guid with each record that you're fetching, it'd only become part of the filter-statement.
Bastard Programmer from Hell
|
|
|
|
|
Kevin Marois wrote: , but then I figured I didn't want to be transmitting alot of GUID's to the server.
However each guid represents a row and the row will have data. That is more significant.
And what do you think a "lot" is exactly?
|
|
|
|
|
Kevin Marois wrote: But again, what if they can't connect?
Have them call you, you select the next identity from the server, and have them enter it. There's really no alternative to a non-existing connection.
Bastard Programmer from Hell
|
|
|
|
|
One way to deal with IDs in disconnected systems is to have the server pre-allocate a number of them and distribute them in advance to the clients (give each of them a chunk); the clients would then hold "empty records" they can fill up at their own pace.
BTW: Whatever your solution will be, you must consider that a customer could interact with more than one retail point, so sooner or later you may need a way to coalesce some records.
|
|
|
|
|
Bloody hell, we built this system in the 90s and it was a PITA then! We used GUIDs and if they cannot connect they cannot download - have them register when they download - if they do not install then delete them at some later time. There is nothing wrong with the ID/ID structure it is just more work to maintain and you are saddled with a composite primary key.
This is where I got my loathing of GUIDs they really are irritating to debug with. We also segregated the data so the user only replicated their own information locally, not the entire database!
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
I got to thinking about my design some more....
My application will be installed in a retail environment. My initial design calls for the software to work even if there's a loss of internet connection. So I thought of installing a local copy of SQL for my app to work with. Each night the app's update service would then transmit any data to the server that's not already been sent.
But then I got to thinking, it's possible for there to be multiple PC's in any given store. What if there's no network? I could offer to install a basic peer to peer network, and make the first PC the server, then all the other PC's could hit the DB there.
I went into this thinking thatI can't assume an internet connection. Do you think this is unreasonable in today's world? Should I build the app so that all data resides in the server and require them to have an internet connection? It would solve both the internet and network the issues.
Your thoughts?
Any thoughts on this?
If it's not broken, fix it until it is
|
|
|
|
|
It depends on your market, small outlets I would think. However even small outlets often have multiple POS. A large, multi shop company will require the data to be consolidated but the POS operation is decidedly local.
I would build a local environment (WPF on the desktop) and make sure you cater for a replication scenario where the local server can replicate its data to HO. Personally I see absolutely no requirement for the internet in such an environment.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Ya, it's a tough design decision. I'll sleep on it over the weekend.
Thanks
If it's not broken, fix it until it is
|
|
|
|
|
hi, my question is
if i have 3 basic colors (each made of rgb):
color1 : R:150, B:zero, G:255
color2 : R:255, B:150, G:zero
color3 : R:zero, B:255, G:150
each of them can be mixed using the formula :
new_color = floor(X*0.9)+floor(Y*0.1)
X and Y can be abasic color or a new color allready created by using the formula.
for example, if i want to mix color1 as main with color3 :
new_color(R,B,G) = (floor(0.9*150)+floor(0.1*0) , floor(0.9*0)+floor(0.1*255) , floor(0.9*255)+floor(0.1*150) ) = (135, 25, 244).
<b>I need to find a way to mix the colors in order to get a desired color, for example : R:187 B:135 G:201.</b>
so far i wrote a "brute force" program which go all over the combinations of basic colors (runing for 7 days now...)
hope there is a smarter way to solve the problem.
Thanks.
|
|
|
|
|
That's called linear equations.
150a+255b+0c=187
0a+150b+255c=135
255a+0b+150c=201
|
|
|
|
|
by solving this equation i get an answer :
X = 0.6077
Y = 0.3759
Z = 0.307
That give me nothing...
Im talking about mixing many basic colors in order to get one special, i need to find the mixing sequence.
|
|
|
|
|
At that point, the problem is half-solved. Next step would be to find how to get there...
One way, would be to mix Y and Z (and any resulting color) until you get the proper ratio by using the best 2 candidate colors that consist of Y and Z or their mix.
Once you have done that, you repeat same process with that mix and X.
The ratio for Y and Z alone would be 0.55 and 0.45.
1) 0.9Y + 0.1Z --> Mix 1
2) 0.9 M1 + 0.1Z --> Mix 2 --> 0.81Y + 0.19Z
3) 0.9 M2 + 0.1Z --> Mix 3 --> 0.72Y + 0.28Z
...
6) --> 0.53Y + 0.47Z
At that point, you would take 0.9 of that and 0.1 of Mix 3... and you get 0.549 of Y.
If you need more precision, you can do more mix...
Philippe Mori
|
|
|
|
|
Since you know the final RGB values that you need, what is the purpose of mixing other colours? Your question needs some clarification.
|
|
|
|
|
first forgive my poor english, hope i can explain better now.
It is a riddle spread out at my university.
you have 3 basic colors (no other colors are available besides the basic colors and the ones produced by mixing the basic colors)
and a machine which can mix them according to the formula i wrote.
the target color is created by mixing the basic colors or their products in the machine.
some colors take up to 1000 mixing steps so the way i try to "solve" it can take forever.
i dont know much about solving such problems so i ask for help here.
thanks.
|
|
|
|
|
Kobi_Z wrote: It is a riddle spread out at my university.
That makes it clear. However, this being primarily a technical programming forum, I'm not sure if you have come to the right place.
|
|
|
|
|
any suggestions where i can ask ?
on math forum i was told to go to programmers forum...
thanks.
|
|
|
|
|
|
This[^] might help.
"If you think it's expensive to hire a professional to do the job, wait until you hire an amateur." Red Adair.
nils illegitimus carborundum
me, me, me
|
|
|
|