You're absolutely right. I've almost completed the detailed design for a certain type of communications framework, and one of the requirements was that the framework be supplied with as close an API as possible to both C++ and Java developers. Thus the component interface could not make use of templates, or multiple inheritance or anything really that did not cross easily between the two languages.
Still, in the respective designs for each language, it is becoming more and more obvious that there are many instances in the C++ implementation where the engineer will make good use of templates. In fact, I'm actually leaning toward recommending C++ as the only implementation language in part because of the benefits of templates, and just wrapping it in Java using JNI.
I think I just made up my mind, unless anyone has any strong pro-TiVo or anti-ReplayTV information?
I've had a Replay since they first came out. Got one for my mom too. Both remotes burned out their flash memory or something and needed replacing after the 1 year warranties had expired. $15 apiece. Other than that I feel I got a great deal, even at early-adopter prices. Way better than a VCR, but I don't have first-hand experience with a TiVO.
To roughly quote Stallman: making people pay money each time they use a copy of your software is the biggest disincentive you can create for its widespread adoption
Interesting to hear RMS say such a thing. He seems uninterested in widespread adoption. In fact, he seems uninterested in anything other than encouraging free software. Isn't that the whole reason behind insisting on GPL code rather than a BSD-style license? If it's not widely used, then it's only because the people who otherwise would have used it would not have kept it free.
Your offline rights to provide or recieve reproductive health services just took a trip to the shitter. A bunch of kids' rights to go to school without being harrassed, threatened or hurt because of what their parents do for a living just got trashed. But hey, it's FREE SPEECH so everything's good....
Educate me. Where exactly does the Constitution recognize a citizen's right to reproductive services or to travel to school in safety. I've read beginning to end, and I see the whole "speech" thing, but those others seem to elude me.
...at least not in regard to overturning stupid obvious patents that end up getting approved and enforced. Ooh, guess what? I figured out how to get Macromedia Director to interface with CORBA. So the hell what? Anyone with the same objective eventually would have invented the same technology, so who would think to post it as prior art.
The example of one-click shopping is even more illustrative. Something that is obvious will have no prior art, for the very reason that it's not worth publishing. What am I going to do, publish a solution for a doubly-linked list just to prevent a patent from getting issued on it?
Until the USPTO begins to recognize what's obvious, there's not enough hard drive space in the world to publish such revolutionary ideas as appending '\0' to a string of characters to signify termination.
The 96-year copyright term being longer than people's life spans is a red herring. The real, more subtle reason copyright terms are infinite is that bills keep getting passed to lengthen them. At the current rate, it is happening fast enough to allow even copyrights that are currently very old never to expire. These will be held by corporations -- 96 years is not necessarily beyond a corporate lifespan, and the copyright is a transferrable asset anyway -- and be enforceable in perpetuity.
If Shakespeare were written in a political system like we have now, his works would now be owned by Disney.
When I joined the Army, they told me right off the bat that I couldn't go off and join another country's army without getting arrested for "treason."
US Constitution, Article III, Section 3:
Treason against the United States, shall consist only in levying war against them, or in adhering to their enemies, giving them aid and comfort.
So you can join another nation's army without committing treason so long as that nation is not considered an enemy of the United States. Of course there may be other laws against it, such as maybe some section of the Espionage Act.
"With a PCi card for an extra $195, the Sun Blade 100 machine would be able to run applications on both Microsoft's Windows and Sun's Solaris operating system."
Wow, this is quite inaccurate. First off, it ships standard with 64Mb RAM, so I found I have to purchase and install the extra 128Mb chip. You don't have to buy these from Sun as they're standard PC notebook memory, but it adds to the cost.
Second, to run Windows software you need Windows. Not OEM priced, not an upgrade, the full, freakin' expensive version of whichever flavor you choose. This can be ok for businesses with a site license, but the total unit price otherwise climbs pretty quickly.
In the end, the savings are not much at all over simply buying a 600MHz Celeron machine to sit next to your Sparc.
It's so refreshing to see a prominent games developer advocating such engineering principles as architecture and design. It may seem odd to some -- natural to others -- but the very brightest game programmers I have been able to find care nothing for engineering. Any hint of process or structure means restricting creativity and stifling innovation.
There's a similar sentiment in the hacker community I have witnessed in open source projects. I've participated in a few, and I inevitably get blank stares when I ask for an SRS or architecture document so my components blend well and extend the current structure elegantly. Nevermind when I ask where in the source tree to drop my UML diagrams. I just ask that for kicks nowadays:)
In the business world, no one gets paid to write code. We get paid to ship software, and I've found that regardless of their attitude coming into the project, everyone is delighted when we ship a solid product on time and within budget. It's so rare a thing in this industry that coders get simply giddy at the thought of telling their friends they actually did it.
From my experience, a realistic estimation and budgeting system and thorough engineering process is the number one most effective perk in terms of retaining happy programmers.
This guy hit it right on the head when he spoke of changing your perspective from time to time to work the actual problem rather than just your existing design.
I've been doing this subconsciously for years, but I didn't really take note until this past Christmas. My gf and I were at Walmart buying a tree, and it was pretty friggin' sharp. To carry it to the car, I needed gloves. No gardening gloves were to be found in the garden department, so my gf asked an employee where the tools were, thinking they might be there. I instinctively re-asked the question in a different way: "Where can I find gloves suitable for protecting my hands from the tree spines?" We found then in sporting goods. The tool department was a proposed design, but analysis led me back to the core problem that needed solving.
Of course when I got home, I realized that I didn't need gloves at all. The problem was scratched/punctured hands, not an explicit need for gloves. On that same trip, we had already purchased a tarp to lay over our carpet. I could have wrapped the tree in it and not needed the gloves. So I actually failed to address the original problem to determine the most efficient solution. Still learning after all these years:)
Back to software engineering, this new focus has been of tremendous help in developing product requirements, architecture, and design. I feel much more confident that the product my team develops is actually providing a useful service to the customer, rather than usefulness being accidental to the cool technology we invented.
When O.J. was found guilty in the civil lawsuit put forth against him for killing two people he was forced to compensate the Goldman family. The fact that he compensated them did not make his killings legal.
No, the fact that he was found not guilty in a criminal court made his killings legal.
It's about efficiency. Hire an expert. Someone who knows for each risk what the probability of being nailed on it is and the downside of such an eventuality. Then look at it from the other side; what percentage of qualified engineers will balk at a given level of draconianity (I just made up a word!) and how does that affect your bottom line vs more risk and more productive personnel?
The researchers and experts exist, you just have to be willing to pay for their time. It's the exact same situation as hiring an ergonomics expert to decrease the probability of a permanent disability claim.
One of the points could very well be that there's no physical access to any of Starbucks' equipment. CAT5 isn't necessarily convenient to port with your laptop, but also jacks can be broken due to carelessness. And they can run out with a higher-than-expected volume of users.
The article doesn't seem to mention if they would be using 802.11b wireless ethernet for the link. I've got an Apple and a Compaq laptop that would be ready to go if this is the case, but I don't know if it would be worth buying a couple new cards for compatibility with this system. Anyone have more data?
I believe I've heard all the arguments about how open source development is an economic dead end, and I've heard the contradictory arguments regarding how one can generate income in open source, but I still have a question. Quite simply, how does one make money in the actual engineering of open source software. That is to say -- and with all due respect to open source developers -- how does one make money by programming it, as I've seen naught but a couple open source projects that actually were engineered.
It is easy to see that one can generate revenue by selling a packaged build, complete with documentation and support. But to be honest, the wealth is generated purely by activities unrelated to programming. Because anyone can acquire the code and build it themselves, that piece is removed from the economic equation. The end user is buying ease of use, tech support, and a brand name, not software.
So from the point of view of an engineer, I have to wonder what's in it for me, economically speaking that is. Of course I delight in the tantalizing notion that I've written something compelling, but that anyone who wants to improve it must also release their code. It's beautiful. But karma -- if you'll excuse the regrettable non-slashdot use of the word -- does not translate into income.
I am currently in a situation where a software solution is required, and an open source project is proving to be a good foundation for getting a head start on the engineering. I revel in the ability to base a commercial piece off of an open source library, and I enjoy that I'm getting paid to develop code to be released back into the wild. But I am unable to kid myself that if this piece of software were crucial to generating revenue and differentiating ourselves from our competition we would still be basing it on GPL code. The very fact that I can use it and release the result indicates that this code is not generating income, and thus it is not generating my salary.
If an entire product were to be developed open source and marketed -- much like Linux -- the economic advantage would necessarily have to be in marketing, since the software is factored out as a differentiator. Where does that leave engineers?
If I were creating a game to play across as many platforms as this, I would definitely give major consideration to using the BeOS API as a standard OO structure. It's so well laid out and enforces good coding structure so efficiently that it would be worth some time to write libraries for Mac, Win, and POSIX that emulate the API. Then the game need be written only once (plus platform-specific optimizations as needed of course).
Of the 15 most influential PC games of all time, the oldest is SimCity? Give me a break! Yeah, I'm sure Ultima Online really broke new ground with the whole concept of "massively multiplayer." Not like there were any MUDs before it. Hell, DIKU wasn't even the first, but I'd wager it was itself a major influence in even convincing anyone that wide-area multiplay was a viable route.
I know it's not a PC game, but if you want influential, check out the Atari 2600 version of Pac-Man. Horrible game, but you can't watch a movie or TV character play a video game these days without hearing the "death" sound from it.
You're absolutely right. I've almost completed the detailed design for a certain type of communications framework, and one of the requirements was that the framework be supplied with as close an API as possible to both C++ and Java developers. Thus the component interface could not make use of templates, or multiple inheritance or anything really that did not cross easily between the two languages.
Still, in the respective designs for each language, it is becoming more and more obvious that there are many instances in the C++ implementation where the engineer will make good use of templates. In fact, I'm actually leaning toward recommending C++ as the only implementation language in part because of the benefits of templates, and just wrapping it in Java using JNI.
-- ShadyG
Worse yet, I know several people who believe 10% is a decent tip.
-- ShadyG
I've had a Replay since they first came out. Got one for my mom too. Both remotes burned out their flash memory or something and needed replacing after the 1 year warranties had expired. $15 apiece. Other than that I feel I got a great deal, even at early-adopter prices. Way better than a VCR, but I don't have first-hand experience with a TiVO.
-- ShadyG
Interesting to hear RMS say such a thing. He seems uninterested in widespread adoption. In fact, he seems uninterested in anything other than encouraging free software. Isn't that the whole reason behind insisting on GPL code rather than a BSD-style license? If it's not widely used, then it's only because the people who otherwise would have used it would not have kept it free.
-- ShadyG
"Interact" is one thing. "Get screwed by" is quite another.
-- ShadyG
-- ShadyG
-- ShadyG
The example of one-click shopping is even more illustrative. Something that is obvious will have no prior art, for the very reason that it's not worth publishing. What am I going to do, publish a solution for a doubly-linked list just to prevent a patent from getting issued on it?
Until the USPTO begins to recognize what's obvious, there's not enough hard drive space in the world to publish such revolutionary ideas as appending '\0' to a string of characters to signify termination.
-- ShadyG
If Shakespeare were written in a political system like we have now, his works would now be owned by Disney.
-- ShadyG
-- Shady(IANAL)G
Wow, this is quite inaccurate. First off, it ships standard with 64Mb RAM, so I found I have to purchase and install the extra 128Mb chip. You don't have to buy these from Sun as they're standard PC notebook memory, but it adds to the cost.
Second, to run Windows software you need Windows. Not OEM priced, not an upgrade, the full, freakin' expensive version of whichever flavor you choose. This can be ok for businesses with a site license, but the total unit price otherwise climbs pretty quickly.
In the end, the savings are not much at all over simply buying a 600MHz Celeron machine to sit next to your Sparc.
-- ShadyG
-- ShadyG
-- ShadyG
There's a similar sentiment in the hacker community I have witnessed in open source projects. I've participated in a few, and I inevitably get blank stares when I ask for an SRS or architecture document so my components blend well and extend the current structure elegantly. Nevermind when I ask where in the source tree to drop my UML diagrams. I just ask that for kicks nowadays :)
In the business world, no one gets paid to write code. We get paid to ship software, and I've found that regardless of their attitude coming into the project, everyone is delighted when we ship a solid product on time and within budget. It's so rare a thing in this industry that coders get simply giddy at the thought of telling their friends they actually did it.
From my experience, a realistic estimation and budgeting system and thorough engineering process is the number one most effective perk in terms of retaining happy programmers.
-- ShadyG
I've been doing this subconsciously for years, but I didn't really take note until this past Christmas. My gf and I were at Walmart buying a tree, and it was pretty friggin' sharp. To carry it to the car, I needed gloves. No gardening gloves were to be found in the garden department, so my gf asked an employee where the tools were, thinking they might be there. I instinctively re-asked the question in a different way: "Where can I find gloves suitable for protecting my hands from the tree spines?" We found then in sporting goods. The tool department was a proposed design, but analysis led me back to the core problem that needed solving.
Of course when I got home, I realized that I didn't need gloves at all. The problem was scratched/punctured hands, not an explicit need for gloves. On that same trip, we had already purchased a tarp to lay over our carpet. I could have wrapped the tree in it and not needed the gloves. So I actually failed to address the original problem to determine the most efficient solution. Still learning after all these years :)
Back to software engineering, this new focus has been of tremendous help in developing product requirements, architecture, and design. I feel much more confident that the product my team develops is actually providing a useful service to the customer, rather than usefulness being accidental to the cool technology we invented.
-- ShadyG
No, the fact that he was found not guilty in a criminal court made his killings legal.
-- ShadyG
The researchers and experts exist, you just have to be willing to pay for their time. It's the exact same situation as hiring an ergonomics expert to decrease the probability of a permanent disability claim.
-- ShadyG
-- ShadyG
-- ShadyG
It is easy to see that one can generate revenue by selling a packaged build, complete with documentation and support. But to be honest, the wealth is generated purely by activities unrelated to programming. Because anyone can acquire the code and build it themselves, that piece is removed from the economic equation. The end user is buying ease of use, tech support, and a brand name, not software.
So from the point of view of an engineer, I have to wonder what's in it for me, economically speaking that is. Of course I delight in the tantalizing notion that I've written something compelling, but that anyone who wants to improve it must also release their code. It's beautiful. But karma -- if you'll excuse the regrettable non-slashdot use of the word -- does not translate into income.
I am currently in a situation where a software solution is required, and an open source project is proving to be a good foundation for getting a head start on the engineering. I revel in the ability to base a commercial piece off of an open source library, and I enjoy that I'm getting paid to develop code to be released back into the wild. But I am unable to kid myself that if this piece of software were crucial to generating revenue and differentiating ourselves from our competition we would still be basing it on GPL code. The very fact that I can use it and release the result indicates that this code is not generating income, and thus it is not generating my salary.
If an entire product were to be developed open source and marketed -- much like Linux -- the economic advantage would necessarily have to be in marketing, since the software is factored out as a differentiator. Where does that leave engineers?
-- ShadyG
-- ShadyG
I know it's not a PC game, but if you want influential, check out the Atari 2600 version of Pac-Man. Horrible game, but you can't watch a movie or TV character play a video game these days without hearing the "death" sound from it.
-- ShadyG
-- ShadyG
-- ShadyG