In my observation, if you don't have enough info to create a starting schema, then you need to do some more analysis.
This is exactly the problem. How do you get any analysis if the customer doesn't know what to ask for. Applictions evolve. The flexibility offered by an unstructed data store like XML lets you eveolve the data model like the rest of the application.
You gloss over the hard part with "etc..." Attributes or even structured child tags can not be anticipated and built into the schema or else by the time you do then you've just built an XML database.
You can store anything in a SQL database, but you do have to take the time to design it and migrate the data as the schema changes.
Spending lots of time and money designing a system that the customer can not imagine is a waste of money, because you will have to change the design as the business units focus on what they want, normally after they see your initial results.
Sometimes you have to use duct tape.
I have one app in production that uses XML files as data stores. There are about 24 users. I also have apps in production with 1000s of users that use 20GB+ SQL databases. I use apps that utilize lisp dumps for fast read only datastores (in addition to emacs). There is a place for everything.
What sort of relational schema do you use to save the above data? How do I query for orders with 2 items? orders with yellow items? yellow apples? How about the items that a customer who bought a chair and a yellow apple in possibly different trips has bought? XPath and XQuery do these sorts of things. The down side is most implementations don't use indexes, so they are slow on huge datasets.
The beauty of XML is the flexibility. It is just like using an OODB without having to first define the classes. That's also why it doesn't efficiently fit in a relational DB.
To get efficiency, the schema needs to be well defined, then you might as well stick it into a relational database. Sometimes, it is best to to define the schema later in the game, after you figure out what you are doing.
The house I recently purchased has an expensive high efficiency washing machine that uses very little water. The house also has an open geothermal system that pumps water from a well, extracts heat, then dumps it into the stream out back at up to 60 gal/minute.
I think the previous owners were very proud that the washing machine saved water and the geothermal heating system saved electricity.
[I'm not too concerned about the geothermal unit, there are springs around the house with water gushing out.]
The feature of open another window strongly associated with this one, but in the backgroundis not a feature that I recommend as "part of the OS". It should probably be part of the windowing toolkit, but tab panes normally are.
Ah. I'm not the target audience. Forgive my jibes at the web site. I was looking specifically for the cost of a point to point device.
I am interested in consumer grade point to point solutions for 5 miles. DIY with Lunix, an old PC and 802.11b is a pain in the butt, and the consumer grade devices like DLink and Orinoco just don't work very well.
The Omni Node looks very cool. Have you investigated doing something similar with 802.11b directional antennas instead of optics?
No, my PS/2 has firewire and USB. Much of my network experience is via plip, ppp, slip, and the 25$ network. I think I could put something together (there are IP over usb and ip over firewire).
and like in every object system, it is very important you get the design (and objects) right before you start coding
And, like in every programming project, your requirements are incomplete, so your model will be incomplete, so you need to allow for flexibility. OO DBMS that I have used don't allow for that flexibility (schema evolution), so we build layers on top of the OODB, just the same as we do for relational DBs. I don't see the advantage. By the time we are done optimizing a relational DB, it has all the same indexes that the OODB would have, but we were able to evolve the system, instead of designing it all up front.
I suppose I could argue for an OO DBMS if the number of transactions was high enough and application had a static set of requirements (general ledger, trade system, etc.).
Far from exploiting them [Germany, Japan, or Italy], the US spent a whole lot of money and effort to ensure they were rebuilt.
I wonder if this isn't what North Korea is trying to do. Force us to blow them up, them rebuild them. I just don't see why else antagonizing the largest military in the world would benefit them at this point.
Sounds terrible, but "out the door" is completely different than IT. For in house development, the greater cost is maintenance. In IT, rarely do you get to throw the product over the wall. Even as a contractor to multiple companies, I get called back to work on things that I haven't seen for 6 years.
6 year old C code is easier to read than 6 year old perl.
There is no cure for bad programmers (not the person, the whole package of technical skills, communication, and tools) and I would argue that a bad programmer is worse than no programmer.
And the "right" language is not just a technical question. If the company only has Java, VB, and COBOL experience and the permanent staff isn't very flexible, the right language probably isn't perl, no matter what the problem is.
On the other hand I've worked in companies that could grok any language. We even made them up when we needed to.
When I saw the article, I immediately searched for 'Office Space'. Definitely the closest it gets that I have seen. As a contractor, I've seen a lot of cubes, offices, labs, war rooms, closets, etc. but they are all the same.
When family wants to know what work is like, I point them to watch Office Space.
I personally will not consider Reiser or EXT3 and could go into detail as to why. I have strong opinions as to what types of filesystems belong in production, and these will not qualify.
How can a stupid statement like this get moderated to the top? Unsubstantiated claims like this should only be allowed to criticize Microsoft. Comments critical of Linux must be backed up with hard data.
I personally will not consider this comment and could go into detail as to why. I have strong opinions as to what types of comment belong in/., and this will not qualify.
I have recently written an SH7055 CPU emulator and I want to try to build my own CPU. I realize that a CPU on an FPGA will be slow, but I'll learn why the SH2 was designed the way it was, instead of the way I think it should have been.
I would also like to play with multiple simple dedicated use cores on a chip.
I started in ObjC when all Objects were void* (now I think there is normally more checking). I loved it.
Then I did 6 years of Java and C++.
A year ago I started working with my original coworker on a large project in Java. He is still using a not very strongly typed programming style (lots of casting and parameters of type Object). It is extremely hard to understand what is going on. There are sections of code that have strong static typing and they are much easier to understand, because the type is obvious. I don't need to go digging through the code to find out if I have a list of switches, switchFamilies, or references to archivedSwitches; the type can tell me right there what I'm dealing with.
After almost 10 years of corporate IT programming experience at 6 different companies, I find that strong typing is appropriate for large jobs with higher turn over and dynamic typing may be more powerful for jobs with a few guru programmers that need job security.
I have a much better (though terrible, but better) understanding of the popular models of the universe after trying to work out the details to my own model (similar to yours).
They are all just models. Reread the first chapter to Brief History of Time.
In my observation, if you don't have enough info to create a starting schema, then you need to do some more analysis.
This is exactly the problem. How do you get any analysis if the customer doesn't know what to ask for. Applictions evolve. The flexibility offered by an unstructed data store like XML lets you eveolve the data model like the rest of the application.
You gloss over the hard part with "etc..." Attributes or even structured child tags can not be anticipated and built into the schema or else by the time you do then you've just built an XML database.
You can store anything in a SQL database, but you do have to take the time to design it and migrate the data as the schema changes.
Spending lots of time and money designing a system that the customer can not imagine is a waste of money, because you will have to change the design as the business units focus on what they want, normally after they see your initial results.
Sometimes you have to use duct tape.
I have one app in production that uses XML files as data stores. There are about 24 users. I also have apps in production with 1000s of users that use 20GB+ SQL databases. I use apps that utilize lisp dumps for fast read only datastores (in addition to emacs). There is a place for everything.
Joe
<oderlist> /> /> />
<order id="1" customer="Aunt Bea">
<apple type="golden" color="yellow"
<orange
</order>
<order id="2" customer="Bob">
<car type="pinto" color="yellow"
</order>
</orderlist>
What sort of relational schema do you use to save the above data? How do I query for orders with 2 items? orders with yellow items? yellow apples? How about the items that a customer who bought a chair and a yellow apple in possibly different trips has bought? XPath and XQuery do these sorts of things. The down side is most implementations don't use indexes, so they are slow on huge datasets.
The beauty of XML is the flexibility. It is just like using an OODB without having to first define the classes. That's also why it doesn't efficiently fit in a relational DB.
To get efficiency, the schema needs to be well defined, then you might as well stick it into a relational database. Sometimes, it is best to to define the schema later in the game, after you figure out what you are doing.
Joe
The house I recently purchased has an expensive high efficiency washing machine that uses very little water. The house also has an open geothermal system that pumps water from a well, extracts heat, then dumps it into the stream out back at up to 60 gal/minute.
I think the previous owners were very proud that the washing machine saved water and the geothermal heating system saved electricity.
[I'm not too concerned about the geothermal unit, there are springs around the house with water gushing out.]
The feature of open another window strongly associated with this one, but in the backgroundis not a feature that I recommend as "part of the OS". It should probably be part of the windowing toolkit, but tab panes normally are.
Joe
Ah. I'm not the target audience. Forgive my jibes at the web site. I was looking specifically for the cost of a point to point device.
I am interested in consumer grade point to point solutions for 5 miles. DIY with Lunix, an old PC and 802.11b is a pain in the butt, and the consumer grade devices like DLink and Orinoco just don't work very well.
The Omni Node looks very cool. Have you investigated doing something similar with 802.11b directional antennas instead of optics?
Joe
So your companies pretty web site is a bit short on details.
What sort of cost should we expect for a point to point link and how long should we expect the maximum link to be?
Joe
No, my PS/2 has firewire and USB. Much of my network experience is via plip, ppp, slip, and the 25$ network. I think I could put something together (there are IP over usb and ip over firewire).
/. is a programmer?
Do you think that everyone on
Joe
I could play with the vector processing hardware.
Some of us are programmers, not just computer users.
Joe
(I think) I have built boot disks with PLIP, then used the parallel port to net boot.
PLIP has gotten me out of quite a few pinches when I didn't have a real network card.
and like in every object system, it is very important you get the design (and objects) right before you start coding
And, like in every programming project, your requirements are incomplete, so your model will be incomplete, so you need to allow for flexibility. OO DBMS that I have used don't allow for that flexibility (schema evolution), so we build layers on top of the OODB, just the same as we do for relational DBs. I don't see the advantage. By the time we are done optimizing a relational DB, it has all the same indexes that the OODB would have, but we were able to evolve the system, instead of designing it all up front.
I suppose I could argue for an OO DBMS if the number of transactions was high enough and application had a static set of requirements (general ledger, trade system, etc.).
Joe
Far from exploiting them [Germany, Japan, or Italy], the US spent a whole lot of money and effort to ensure they were rebuilt.
I wonder if this isn't what North Korea is trying to do. Force us to blow them up, them rebuild them. I just don't see why else antagonizing the largest military in the world would benefit them at this point.
Sounds terrible, but "out the door" is completely different than IT. For in house development, the greater cost is maintenance. In IT, rarely do you get to throw the product over the wall. Even as a contractor to multiple companies, I get called back to work on things that I haven't seen for 6 years.
6 year old C code is easier to read than 6 year old perl.
There is no cure for bad programmers (not the person, the whole package of technical skills, communication, and tools) and I would argue that a bad programmer is worse than no programmer.
Joe
And the "right" language is not just a technical question. If the company only has Java, VB, and COBOL experience and the permanent staff isn't very flexible, the right language probably isn't perl, no matter what the problem is.
On the other hand I've worked in companies that could grok any language. We even made them up when we needed to.
Joe
Wouldn't you run iSCSI as a server process for the same reasons you would run a network block device (nbd) server?
The NBD stuff looks pretty fragile; I was hoping someone would build a more robust iSCSI server for Unix.
Yah, I know. If I had the time, I would work on it.
Joe
When I saw the article, I immediately searched for 'Office Space'. Definitely the closest it gets that I have seen. As a contractor, I've seen a lot of cubes, offices, labs, war rooms, closets, etc. but they are all the same.
When family wants to know what work is like, I point them to watch Office Space.
Joe
Looks like an iSCSI client. How about an iSCSI server?
Joe
I think my wife's card was part of this. She got a call from the bank last week telling her that her card was dead.
My father runs a men's wear store. Last month sometime, he was told that any transaction that he didn't call in would result in a $50 fee.
Joe
I personally will not consider Reiser or EXT3 and could go into detail as to why. I have strong opinions as to what types of filesystems belong in production, and these will not qualify.
/., and this will not qualify.
How can a stupid statement like this get moderated to the top? Unsubstantiated claims like this should only be allowed to criticize Microsoft. Comments critical of Linux must be backed up with hard data.
I personally will not consider this comment and could go into detail as to why. I have strong opinions as to what types of comment belong in
Nooooooo. Too many application already have bad security built in. Tunnel. Use a seperate well tested secure tunnel.
Dyslexia can help on ./
I read it right the first time. I couldn't understand your complaint until I read it out loud.
the gateway will rewrite the url's to have it [.sixxs.org] appended automatically so that everything goes over IPv6.
No problem. Obviously you don't work with enough Engrish speakers.
All software. I hurt my self with hardware.
I have recently written an SH7055 CPU emulator and I want to try to build my own CPU. I realize that a CPU on an FPGA will be slow, but I'll learn why the SH2 was designed the way it was, instead of the way I think it should have been.
I would also like to play with multiple simple dedicated use cores on a chip.
Joe
Anyone have any experience with this stuff? Can I really buy this board and build a circuit to do calculations for ~$100?
I want to experiment with converting programming logic into hardware.
Joe
I started in ObjC when all Objects were void* (now I think there is normally more checking). I loved it.
Then I did 6 years of Java and C++.
A year ago I started working with my original coworker on a large project in Java. He is still using a not very strongly typed programming style (lots of casting and parameters of type Object). It is extremely hard to understand what is going on. There are sections of code that have strong static typing and they are much easier to understand, because the type is obvious. I don't need to go digging through the code to find out if I have a list of switches, switchFamilies, or references to archivedSwitches; the type can tell me right there what I'm dealing with.
After almost 10 years of corporate IT programming experience at 6 different companies, I find that strong typing is appropriate for large jobs with higher turn over and dynamic typing may be more powerful for jobs with a few guru programmers that need job security.
Joe
Great. Work out the details.
I have a much better (though terrible, but better) understanding of the popular models of the universe after trying to work out the details to my own model (similar to yours).
They are all just models. Reread the first chapter to Brief History of Time.
Joe