Why don't we pay say $50 to FSF for them to host my data forever? For that money they would store my bookmarks, my address list, etc etc etc, and I would get it from their servers once or twice a day.
That way we could sponsor them, which is good, and I also think we could all trust them.
the server gives the programmers enough control that the "write once / run anywhere" myth doesn't bite them in the ass
Bullshit, and I think you know it! WORA works very very well on the server side.
HTML and round-trip processing proved far superior for quickly and easily building decent, usable UIs
HTML sucks (I mean totally sucks) for building UIs. It is the worst we've ever seen since the GUI was born.
Java lives on in the server-side world as a kind of VB-for-people-who-hate-Microsoft
That is just rediculous! Java is the most advanced language ever developped for server side programming. Comparing it with VB is silly, and calling us Microsoft-haters is insulting.
How do *YOU* make sure the code you write is of good quality.
The answer must involve a discussion on what characterizes good code, *AND* how this particular person gets his/her code to that goal.
It should reveal if the person doesn't understand what quality is, and/or if they have no idea how quality code gets written. A good programmer needs to know both these things.
It is a really hard question, and I think it would be pretty obvious if you try to bullshit yourself around it.
It just struck me at lunch today that it is pretty strange that the US government haven't put more force on the car industry to try to limit the abysmal fuel consumtion of american cars. After all, it is the huge dependency on oil that gets the US stuck in frying pans like the Persion Gulf and the mid east.
I know, the car industry (with AAA and other friends) have lots of lobbyists in Washington, but we're talking about foreign policy now, and the risk of wide scale wars. Shouldn't that be pretty high on the presidents agenda?
OK, this may come as surprising to many, and it sure did to me, but my experience is that regression testing doesn't work, i.e. it doesn't find bugs.
I had this grandiose idea that we would run all our unit tests as one big regression test every night, and it would alert us when our server broke. It didn't turn out that way. Instead, when the server was changed, we ended up having to rewrite the unit tests, and in many cases that turned out to be a royal pain. So we stopped maintaining the unit tests. When one, and later two, unit tests were constantly failing, then nobody cared any more about broken regression tests.
There are benefits with unit tests, though:
If you write the unit tests before you write the code, then you will force yourself to specify (in code) how your system will be used, which is way better than stupid UML diagrams. Yes, I don't like UML.
Testing your code before you ship it makes perfect sense, of course. It will catch many bugs.
So, my experience is that stringing unit tests together into a regression test suite is not worth the effort. Sorry JUnit, I also loved the idea when I first read about it, but I don't think it works.
The only way (I think) to stop these kinds of "attacks" might be if the users can rate the content. That way users can help eachother in localizing and avoiding the crappy files. Not sure how it could be implemented, though, and I'm not sure how to avoid the record companies from creating massive amounts of clients that all give positive ratings on their own crappy files...
...it shouldn't matter one iota what other people are using.
Reality check! If everyone else except you are using IE, then what is the chance that anyone will bother fixing their web-pages so that they're viewable by your Mozilla browser?
Globalization often means that products are produced in one part of the world and shipped to another part of the world. This requires energy, often through the use of fossil fuels, which when used produce gases that harms the atmosphere.
Sharp (who, in my opinion has always been a third rate electronics manufacturer)
What? They've been doing excellent PDAs and calculators for over 15 years. They certainly know what they're doing. Have you ever held a Zaurus 5500 in your hand? It gives you a very good quality impression.
Whatever you do, don't write any documents at this time. Instead put everyone (if possible) in one big room, with pens and whiteboards along all the walls. Supply lots of coffee, food, snacks and soft drinks.
Let them hash out all the details of what you believe the customer wants. If you have a real customer available, chain him to a table in that room and don't let him go until you're satisfied.
Write down user stories on post-it notes, stick them to the walls, sketch UI designs and user interactions on the whiteboards. Don't worry about documentation! What matters is that you all have the same vision and understanding of what to do.
Documentation on paper is just about the worst medium possible for transferring information from one person to another. It is one way, it is low bandwidth, it is not visual (unless you have lots of pictures and such). It basically sucks. Two or more persons by a whiteboard is the best possible technology for information transafer. The ultimate solution is if you have a printing whiteboard, which can give you a hard copy of what you just jotted down.
The real documentation, on paper or on the web, can come much later, when things have stabilized a bit. In the end it may never be needed, in case your project is cancelled.
All these tips comes straight from the book Agile Software Development, by Alistair Cockburn. The best SW related book I've read in years!
This guy is "president of CHC-3 Consulting, teaches software engineering to corporate and university audiences, and writes frequently on computer topics". Still he failed to mention function points (an old measure of product size) or use cases (a more modern measure of product size).
He also fails to recognize that programming is a group activity, where one person can be seemingly unproductive, but in reality being vital for the productivity of the group. Typical such persons are mentors, which spends some of their time helping others. Mentors may not produce a single line of code, but still be the most valuable person in the group.
Alistair Cockburn does in his modern classic "Agile Software Development" state that software development is a "Cooperative Game of Invention and Communication". Therefore the productivity is best measured at the team level, since they are, in the end, cooperating.
Also, I think it is quite clear that use cases, or user stories, or whatever you wish to call them, are the best way to describe the wishes of the customer. Fulfilling these wishes are ultimately the only thing that matters.
So, I would say that the number of finished use cases per unit of time, for the whole team, is by far the most meaningful measure of productivity.
Another way to avoid the spam robots is to use an image displaying your email address. Anyone can read that image, and manually type in name@domain.com, but no spam bots are smart enough (yet?) to do an analysis of the image to extract the email. For an example of this, check the email address to Malcolm Dunn at the top of this page:
The JCP (Java Community Process) gets lots of critique from many in the open source community, since they claim it is basically run by Sun. It isn't open in the same way as ANSI, ISO or ECMA standardization. I would argue that it is open in other ways, where ANSI/ISO/ECMA are closed, or limited.
However, could you enumerate exactly in which ways Sun as a company is granted extra priviliges in the JCP, compared to other companies, and elaborate upon why these extra priviliges are there? Removing them could be a huge boost of the popularity of Java within the open source community.
The machine runs PersonalJava 1.2 with all the optional packages included! This basically comes down to JDK 1.1.8 with some extra security stuff from JDK 1.2. The Collections package is also included, so it is a sort of hybrid JDK 1.1 and 1.2 environment. This means that you have JDBC, RMI and whatnot to play around with!
I haven't started programming for it yet, but I was really happy with what Java support it has.
Why don't we pay say $50 to FSF for them to host my data forever? For that money they would store my bookmarks, my address list, etc etc etc, and I would get it from their servers once or twice a day.
That way we could sponsor them, which is good, and I also think we could all trust them.
Mats
As long as the banner size is the same, so I can use Bannerblind... ;-)
the server gives the programmers enough control that the "write once / run anywhere" myth doesn't bite them in the ass
Bullshit, and I think you know it! WORA works very very well on the server side.
HTML and round-trip processing proved far superior for quickly and easily building decent, usable UIs
HTML sucks (I mean totally sucks) for building UIs. It is the worst we've ever seen since the GUI was born.
Java lives on in the server-side world as a kind of VB-for-people-who-hate-Microsoft
That is just rediculous! Java is the most advanced language ever developped for server side programming. Comparing it with VB is silly, and calling us Microsoft-haters is insulting.
Mats
I think this is a good question:
How do *YOU* make sure the code you write is of good quality.
The answer must involve a discussion on what characterizes good code, *AND* how this particular person gets his/her code to that goal.
It should reveal if the person doesn't understand what quality is, and/or if they have no idea how quality code gets written. A good programmer needs to know both these things.
It is a really hard question, and I think it would be pretty obvious if you try to bullshit yourself around it.
Mats
It works, as long as you're not BCC:d.
Mats
It just struck me at lunch today that it is pretty strange that the US government haven't put more force on the car industry to try to limit the abysmal fuel consumtion of american cars. After all, it is the huge dependency on oil that gets the US stuck in frying pans like the Persion Gulf and the mid east.
I know, the car industry (with AAA and other friends) have lots of lobbyists in Washington, but we're talking about foreign policy now, and the risk of wide scale wars. Shouldn't that be pretty high on the presidents agenda?
Mats
Plus, an empty ';' is a NOP. :-)
Mats
A friend of mine wrote this C++ code once:
// Some other code here
void SubClass::foo()
{
BaseClass:;foo();
}
It became an infinite loop... can you see why?
Mats
I had this grandiose idea that we would run all our unit tests as one big regression test every night, and it would alert us when our server broke. It didn't turn out that way. Instead, when the server was changed, we ended up having to rewrite the unit tests, and in many cases that turned out to be a royal pain. So we stopped maintaining the unit tests. When one, and later two, unit tests were constantly failing, then nobody cared any more about broken regression tests.
There are benefits with unit tests, though:
So, my experience is that stringing unit tests together into a regression test suite is not worth the effort. Sorry JUnit, I also loved the idea when I first read about it, but I don't think it works.
Mats
One book about software metrics:
0 534956009/ ref=cm_mp_fil/002-5413933-8950461
Software Metrics: A Rigorous and Practical Approach
http://www.amazon.com/exec/obidos/ASIN/
A wonderful read!
Mats
I'll buy one as soon as I can:
http://www.sipixdigital.com/
Mats
LLNL funded and houses the ASCI White supercomputer, among other cool projects.
Since when is it cool to simulate nuclear bombs?
Mats
I would definitely go with Sirius.
Even the few "commercials" on NPR irritates me.
Normal commercial channels drives me nuts.
Mats
The only way (I think) to stop these kinds of "attacks" might be if the users can rate the content. That way users can help eachother in localizing and avoiding the crappy files. Not sure how it could be implemented, though, and I'm not sure how to avoid the record companies from creating massive amounts of clients that all give positive ratings on their own crappy files...
Mats
...it shouldn't matter one iota what other people are using.
Reality check! If everyone else except you are using IE, then what is the chance that anyone will bother fixing their web-pages so that they're viewable by your Mozilla browser?
Mats
And forget about the problem!
Mats
Well, their whiskey is clearly too good to use for fuel...
Mats
Globalization itself is not evil...
Globalization often means that products are produced in one part of the world and shipped to another part of the world. This requires energy, often through the use of fossil fuels, which when used produce gases that harms the atmosphere.
This fact is often sadly neglected.
Mats
Sharp (who, in my opinion has always been a third rate electronics manufacturer)
What? They've been doing excellent PDAs and calculators for over 15 years. They certainly know what they're doing. Have you ever held a Zaurus 5500 in your hand? It gives you a very good quality impression.
I would say the number of unique patterns are much more important. At least to me in my everyday programming.
Whatever you do, don't write any documents at this time. Instead put everyone (if possible) in one big room, with pens and whiteboards along all the walls. Supply lots of coffee, food, snacks and soft drinks.
Let them hash out all the details of what you believe the customer wants. If you have a real customer available, chain him to a table in that room and don't let him go until you're satisfied.
Write down user stories on post-it notes, stick them to the walls, sketch UI designs and user interactions on the whiteboards. Don't worry about documentation! What matters is that you all have the same vision and understanding of what to do.
Documentation on paper is just about the worst medium possible for transferring information from one person to another. It is one way, it is low bandwidth, it is not visual (unless you have lots of pictures and such). It basically sucks. Two or more persons by a whiteboard is the best possible technology for information transafer. The ultimate solution is if you have a printing whiteboard, which can give you a hard copy of what you just jotted down.
The real documentation, on paper or on the web, can come much later, when things have stabilized a bit. In the end it may never be needed, in case your project is cancelled.
All these tips comes straight from the book Agile Software Development, by Alistair Cockburn. The best SW related book I've read in years!
Mats
This guy is "president of CHC-3 Consulting, teaches software engineering to corporate and university audiences, and writes frequently on computer topics". Still he failed to mention function points (an old measure of product size) or use cases (a more modern measure of product size).
He also fails to recognize that programming is a group activity, where one person can be seemingly unproductive, but in reality being vital for the productivity of the group. Typical such persons are mentors, which spends some of their time helping others. Mentors may not produce a single line of code, but still be the most valuable person in the group.
Alistair Cockburn does in his modern classic "Agile Software Development" state that software development is a "Cooperative Game of Invention and Communication". Therefore the productivity is best measured at the team level, since they are, in the end, cooperating.
Also, I think it is quite clear that use cases, or user stories, or whatever you wish to call them, are the best way to describe the wishes of the customer. Fulfilling these wishes are ultimately the only thing that matters.
So, I would say that the number of finished use cases per unit of time, for the whole team, is by far the most meaningful measure of productivity.
Mats
Another way to avoid the spam robots is to use an image displaying your email address. Anyone can read that image, and manually type in name@domain.com, but no spam bots are smart enough (yet?) to do an analysis of the image to extract the email. For an example of this, check the email address to Malcolm Dunn at the top of this page:
http://www.henricson.se/mats/upl/
The JCP (Java Community Process) gets lots of critique from many in the open source community, since they claim it is basically run by Sun. It isn't open in the same way as ANSI, ISO or ECMA standardization. I would argue that it is open in other ways, where ANSI/ISO/ECMA are closed, or limited.
However, could you enumerate exactly in which ways Sun as a company is granted extra priviliges in the JCP, compared to other companies, and elaborate upon why these extra priviliges are there? Removing them could be a huge boost of the popularity of Java within the open source community.
Thanks!
Mats Henricson
The machine runs PersonalJava 1.2 with all the optional packages included! This basically comes down to JDK 1.1.8 with some extra security stuff from JDK 1.2. The Collections package is also included, so it is a sort of hybrid JDK 1.1 and 1.2 environment. This means that you have JDBC, RMI and whatnot to play around with!
I haven't started programming for it yet, but I was really happy with what Java support it has.