Domain: sdmagazine.com
Stories and comments across the archive that link to sdmagazine.com.
Comments · 35
-
Backstory comment, bunch of links...
I mentioned this in my journal almost 2 years ago (yet another rejected submission:) All links are still good, mostly covering the e-book and fair access for the blind.
There are over 10 million visually impaired people just in the US who are being blinded by the DMCA. On the back page of Software Developer, Warren Keuffel has a commentary (free reg) that summarizes what he found to be issues still brewing over the use of the DMCA to prevent people from implementing technology designed to translate eBooks into Braille. XML is being used now to facilitate the translations of eBooks and other electronic formats and to help disabled people get simple access to reading material that others of us may take for granted. The DMCA effectively blocks many of these new innovations (go figure). Is short, the American Federation for the Blind has sent comments the US Copyright office, Congress is looking at the issue, The Association of American Publishers is fighting it, all the while fair-use and disabled students continue to suffer. -
Backstory comment, bunch of links...
I mentioned this in my journal almost 2 years ago (yet another rejected submission:) All links are still good, mostly covering the e-book and fair access for the blind.
There are over 10 million visually impaired people just in the US who are being blinded by the DMCA. On the back page of Software Developer, Warren Keuffel has a commentary (free reg) that summarizes what he found to be issues still brewing over the use of the DMCA to prevent people from implementing technology designed to translate eBooks into Braille. XML is being used now to facilitate the translations of eBooks and other electronic formats and to help disabled people get simple access to reading material that others of us may take for granted. The DMCA effectively blocks many of these new innovations (go figure). Is short, the American Federation for the Blind has sent comments the US Copyright office, Congress is looking at the issue, The Association of American Publishers is fighting it, all the while fair-use and disabled students continue to suffer. -
Online top 6
All the current suggestions from other posters I would agree with, Dr. Dobbs, ACM, IEEE, CUJ. But probably, like regular media, the smaller players are picking up the slack, even if they are web only. ServerSide, JavaLobby, IBM Systems Journal, Software Development, Artima Developer, JavaWorld, and DeveloperWorks are a few of the excellent ones I regularly read.
-
Re:An uneducated guess...
Uhm, additionally?
My post was about Linux & Windows... try keep on the topic I used, please, thanks.
BUT, there is RealBasic & I mentioned it in another reply here, it WILL write one codebase for Win32, Linux, & Macs. I have not tried it, and it is relatively an "infant" still, but imo?
A "baby hercules" really... especially for a 'write once, run everywhere in TRUE std. stand-alone .exe non-interpreted form" from a single codebase type of app on ALL 3 platforms.
Again - I haven't tried it, but like the sound of it already... especially imo, for the future of OS' being more "interoperable" & also having more common apps too!
By the by -
Linux folks & places like IBM as well, see the URL's below, HIGHLY AWARDED & RECEIVED KYLIX with great appreciation apparently:
(Also, @ tradeshows & such for it as well as mags for it)
Linux people have HIGHLY awarded & reviewed Kylix as an excellent tool!
See here in these:
http://www-128.ibm.com/developerworks/db2/library/ techarticle/0211swart/0211swart2.html
&
http://builder.com.com/5100-22-1064560.html
"Best Linux Development Tool: Borland Kylix 2
Borland wrapped up a double play by taking home our Best Linux Development Tool award for Kylix in yet another landslide. Kylix finished with 50 percent of the final vote. I was mildly surprised to see KDE Studio finish as first runner-up with 14.4 percent in our Linux category, slightly ahead of Metrowerks CodeWarrior for Linux with 12.4 percent. Its interesting to note that these three tools accounted for over 75 percent of the votes cast in this category, so obviously these companies are doing something right."
http://www.zdnetasia.com/builder/program/dev/0,390 45513,39163332,00.htm
http://www.programmersheaven.com/zone2/articles/ar ticle317.htm
"One of the potentially exciting things about Kylix is being able to write Apache web server shared modules."
http://sdmagazine.com/jolts/2002/year_01.htm
Tons more too, I could fill the page so... Heck, just search "Awards" and "Kylix" on GOOGLE, you will see I am not b.s.'ing you!
(32 pages worth of them) :)
APK -
Re:??? HUH ???
The Agile Manifesto has been around for a while and is generally followed by good programmers.
Wrong and wrong.
It's only been around since August 2001. We knew how to deliver quality software well before that.
And there's no way that "Agile"(c) methods are "generally followed by good programmers". No way in hell. You clearly have fully consumed the Kool-Aid, buzzwords and all. That's fine for you, but stop speaking for "good programmers" in general. We don't appreciate it. You should read http://www.sdmagazine.com/documents/s=825/sdm0208j / this manifesto.
Here it is http://tayek.com/~ray/xptools/fragile.html registration free. -
I recommend this article
A recent article in print about automated unit tests for legacy code was
"Managing That Millstone"
By Michael Feathers
Software Development
January 2005
http://www.sdmagazine.com/documents/s=9472/sdm0501 c/sdm0501c.htmlIt included suggestions for how to inject unit tests into code which isn't loosely coupled, some tips on how to refactor to get loosely coupled interfaces, & what you can do when neither of those approaches will work. It was a valuable & enjoyable read for me, at least.
gene
-
Re:AOP has its uses (without going to production!)The first I read about using AOP to enfoce contracts was an article by Gregor Kiczales in the Dec. 2004 issue of Software Development. I copied this example into my notes:
declare error: within (com.acme.lower..*)
I can't pull SD's website right now, but it looks (from Google) like the full article might be here.
&& call (com.acme.upper..*) :
"Lower layer should not call upper layer."; -
But at least they are failing!
Maybe it's a shift in how things are being labelled.
This month's Software Development magazine has an article (P22 - No More Chaos. Checked their site and the article itself is not online, but it is listed on the main page.) that says that they were unable to find any actual failed projects in 2004, even after surveying 10,000 US companies!
So maybe instead of projects failing, they are just taking the extra needed time to get them done right, but then getting thumped for being late.
"Well Mr PHB, either that project is late, or we write it off as a failure. What's going to look better?" -
if not java == cobol: - java is not cobol
Raise your hand if you know anything about cobol.
..."Don't see any hands" Why are people comparing a language still popular in the year 2005 to a language used in the sixties and seventies. If Sun could really create a fast VM, and people are actually excited about downloading a JRE. I see java being used as a lower level language over higher dynamic languages like Jython/Ruby/Groovy. All of the eyes should be focused on the team that reduces the java startup times, the 100MB memory footprint. And for the sake of Moses. Get rid of the default "I-am-too-cool-look-and-feel". If Sun does this, possibly adopts a dynamic language project. Sun could actually go after MS, possibly even google. Look at the recent jolt awards. Most of the best software engineering projects were java based. Cobol, java is not. Elegant, not that either? http://www.sdmagazine.com/jolts/ Cobol has a little different feel than... dog.jump(); ... 100200 MAIN-LOGIC SECTION. 100300 BEGIN. 100400 DISPLAY " " LINE 1 POSITION 1 ERASE EOS. 100500 DISPLAY "Hello world!" LINE 15 POSITION 10. 100600 STOP RUN. 100700 MAIN-LOGIC-EXIT. 100800 EXIT. -
Test First ProgrammingSoftware Development Magazine had an article about test first programming of a GUI application that describes a method of incorporating the automated testing into the application.
The example GUI application is a simple game, but the methodology could be used for any GUI application.
From the article:The big question was how to handle all the stuff that would normally be considered GUI code-specifically, the hit-testing: Where do users click, and what should happen when they click there?
I suspected that hit-testing would be the most complex part of the application, so I wanted to ensure that I had tests for it. It also didn't belong in the model, since that should contain only basic game concepts. I needed an intermediary class somewhere: The Swing code would get a mouse event and delegate it to this intermediary class. The intermediary would interpret the mouse coordinates and determine if something had to happen. It would possibly do this by interacting with the model. If anything did happen, an event would be broadcast back to the Swing class.
The author goes on to discover, after searching with Google, that he had developed "a pattern known as Model-View-Presenter (MVP), a variant of Model-View-Controller (MVC)."
In MVP, the View actually serves as both the view and controller (presenting output and managing input). The Model is the Model, as in MVC. The extra middle layer is considered a bridge between the View and the Model. It's specific to the application and is often considered throwaway if the View needs to change (for example) from Swing to HTML. In this situation, the Model would remain unchanged.
Martin Fowler has a good description of how the Model View Presenter works.
The example source code is available on the site. It utilizes an automated Java test suite called JUnit
Software Development Magazine is a magazine targeted at software developers, and there is no charge to subscribe to it. -
Test First ProgrammingSoftware Development Magazine had an article about test first programming of a GUI application that describes a method of incorporating the automated testing into the application.
The example GUI application is a simple game, but the methodology could be used for any GUI application.
From the article:The big question was how to handle all the stuff that would normally be considered GUI code-specifically, the hit-testing: Where do users click, and what should happen when they click there?
I suspected that hit-testing would be the most complex part of the application, so I wanted to ensure that I had tests for it. It also didn't belong in the model, since that should contain only basic game concepts. I needed an intermediary class somewhere: The Swing code would get a mouse event and delegate it to this intermediary class. The intermediary would interpret the mouse coordinates and determine if something had to happen. It would possibly do this by interacting with the model. If anything did happen, an event would be broadcast back to the Swing class.
The author goes on to discover, after searching with Google, that he had developed "a pattern known as Model-View-Presenter (MVP), a variant of Model-View-Controller (MVC)."
In MVP, the View actually serves as both the view and controller (presenting output and managing input). The Model is the Model, as in MVC. The extra middle layer is considered a bridge between the View and the Model. It's specific to the application and is often considered throwaway if the View needs to change (for example) from Swing to HTML. In this situation, the Model would remain unchanged.
Martin Fowler has a good description of how the Model View Presenter works.
The example source code is available on the site. It utilizes an automated Java test suite called JUnit
Software Development Magazine is a magazine targeted at software developers, and there is no charge to subscribe to it. -
Test First ProgrammingSoftware Development Magazine had an article about test first programming of a GUI application that describes a method of incorporating the automated testing into the application.
The example GUI application is a simple game, but the methodology could be used for any GUI application.
From the article:The big question was how to handle all the stuff that would normally be considered GUI code-specifically, the hit-testing: Where do users click, and what should happen when they click there?
I suspected that hit-testing would be the most complex part of the application, so I wanted to ensure that I had tests for it. It also didn't belong in the model, since that should contain only basic game concepts. I needed an intermediary class somewhere: The Swing code would get a mouse event and delegate it to this intermediary class. The intermediary would interpret the mouse coordinates and determine if something had to happen. It would possibly do this by interacting with the model. If anything did happen, an event would be broadcast back to the Swing class.
The author goes on to discover, after searching with Google, that he had developed "a pattern known as Model-View-Presenter (MVP), a variant of Model-View-Controller (MVC)."
In MVP, the View actually serves as both the view and controller (presenting output and managing input). The Model is the Model, as in MVC. The extra middle layer is considered a bridge between the View and the Model. It's specific to the application and is often considered throwaway if the View needs to change (for example) from Swing to HTML. In this situation, the Model would remain unchanged.
Martin Fowler has a good description of how the Model View Presenter works.
The example source code is available on the site. It utilizes an automated Java test suite called JUnit
Software Development Magazine is a magazine targeted at software developers, and there is no charge to subscribe to it. -
Test First ProgrammingSoftware Development Magazine had an article about test first programming of a GUI application that describes a method of incorporating the automated testing into the application.
The example GUI application is a simple game, but the methodology could be used for any GUI application.
From the article:The big question was how to handle all the stuff that would normally be considered GUI code-specifically, the hit-testing: Where do users click, and what should happen when they click there?
I suspected that hit-testing would be the most complex part of the application, so I wanted to ensure that I had tests for it. It also didn't belong in the model, since that should contain only basic game concepts. I needed an intermediary class somewhere: The Swing code would get a mouse event and delegate it to this intermediary class. The intermediary would interpret the mouse coordinates and determine if something had to happen. It would possibly do this by interacting with the model. If anything did happen, an event would be broadcast back to the Swing class.
The author goes on to discover, after searching with Google, that he had developed "a pattern known as Model-View-Presenter (MVP), a variant of Model-View-Controller (MVC)."
In MVP, the View actually serves as both the view and controller (presenting output and managing input). The Model is the Model, as in MVC. The extra middle layer is considered a bridge between the View and the Model. It's specific to the application and is often considered throwaway if the View needs to change (for example) from Swing to HTML. In this situation, the Model would remain unchanged.
Martin Fowler has a good description of how the Model View Presenter works.
The example source code is available on the site. It utilizes an automated Java test suite called JUnit
Software Development Magazine is a magazine targeted at software developers, and there is no charge to subscribe to it. -
Software Development Magazine SurveySD Magazine has an excellent 2003 Survey that slices and dices salaries by age, experience, region, etc. - US only. Free registration required.
-
Software Development Magazine SurveySD Magazine has an excellent 2003 Survey that slices and dices salaries by age, experience, region, etc. - US only. Free registration required.
-
The Craftsman
Software Development Magazine has been running a series for about the past year called The Craftsman written by Robert C. Martin. It focuses on a young apprentice writing a java app with his mentors. Nothing is done that doesn't involve a test first.
While the series itself is kind of slow, it is a good introduction to TDD, and I really enjoy Robert's writing style. Might be able to lead you to some more examples.
-
Re:Rebuttal
and here is an article that tells why agile processes, XP in particular, work:
The Bottom Line (free registration required) -
Re:Sugar consumption
Please,
Programmers are the field famous for venerating Jolt Cola.
-
Ethics of Free SoftwareA few years ago, Bertrand Meyer penned a fascinating article, "The Ethics of Free Software". (Printed in Software Development magazine (reg req'd), but mirrored many places including here and here.)
Meyer criticizes the self-assumed ethical superiority of ESR, RMS, and others, and in particular notes the "gun evangelism" ESR intertwines with his open-source evangelism.
This thoughtful article should be required reading for all overly-strident geeks.
-
Re:How much XP is there in the real world?
Of course I would forget to mention that those articles are from Software Development Magazine...
-
It won the 2002 Jolt AwardI bought the book last June because it got the 2002 Jolt award for Books. I rarely got disappointed by Jolt award winners (books and otherwise), and this book is no exception - it rocks!
If you're interested, you can get a free subscription to the print edition of Software Development Magazine. It's one of the few high quality freebees (and no, I am not affiliated with them). Also, as Scott Myers got mentioned here a few times: He writes for SD Magazine once in a while.
-
It won the 2002 Jolt AwardI bought the book last June because it got the 2002 Jolt award for Books. I rarely got disappointed by Jolt award winners (books and otherwise), and this book is no exception - it rocks!
If you're interested, you can get a free subscription to the print edition of Software Development Magazine. It's one of the few high quality freebees (and no, I am not affiliated with them). Also, as Scott Myers got mentioned here a few times: He writes for SD Magazine once in a while.
-
Smartcard is $2, plus fees for access
Software Development Magazine covers the Simputer in their "Deadline" section (unfortunately, the section is only in the print edition, not online). From the article: "For $2 and a nominal rental fee, each villager can buy a smart card that stores all his or her information, and allows Internet and e-mail access." Sounds quite feasible to me.
-
Thinking in Java
The best Java book that I have seen so far is "Thinking in Java" by Bruce Eckel. Here is why.
While Mr. Eckel's book does covers the syntax of the language (java in this case) et. al, it also cover the meaning of the language and most of all, it covers how to think in the language (hence: the title).
Almost any developer can pickup a language and become knowledgeable with it by working on one or two projects. However, being *proficient* at your domain, and understanding coding-principles of the language for your domain, and understanding the business of being a programmer is much more difficult goal to achieve -- only time, experience, and dedication will ever get you there. It is this quality that I look for first, the knowledge of a language comes third.
Here is a link that I point people at to high-light my point: Chicken Soup for Your Modeling Soul -- I specially like item 21: "A fool with a tool is still a fool". -
Re:What is Modeling?
See Ambler's "Tools and Evidence" online at http://www.sdmagazine.com/documents/s=7134/sdm020
5 i/0205i.htm for a good definition of modeling in the context of software dev. -
Security as a Wicked ProblemI don't know how many of you get Software Development magazine, but they had an interesting article on wicked problems in the latest issue. The quick definition from the article header is this:
When you're scrambling to complete a never-ending task and no one can decide what "done" means, it helps to know that there's a name for this situation--and it's not a four-letter word.
This is essentially what the problem is with developing security plans--you never really know when you are done. The other problem is that you never have one true answer. Sure a national ID card seems like a good idea, but is it the right answer to the right question? Anyway, you can find the article here: Wicked Problems. -
Re:Good Article; Don't forget the Less/Non TechsMy only concern with the article is that it seems to suggest that you can't make contributions without being a "hard-core" programmer. This seems to contradict much of what I've heard from other Free and Open Source projects. They generally take the position that if you can write a decent bug report (what happened and under what circumstances, not 'it broke!'), or create documentation, you can be helpful too by using the software and doing the above.
Another good way to get involved in a project is testing. If you some limited programming or scripting skills you can write unit tests, and test scripts to help find bugs. In the process you'll help the project, learn more about the project, and hopefully improve your own skills. Adding test routines that detect old bugs can help to prevent them from creeping back into the code, and help look for similar bugs elsewhere.
My first programming job was doing maintance on a large system, and it taught me some key concepts that young and inexperienced programmers don't always take to heart, myself included. I learnt the benefit of defensive programming, of useful code comments, of writing proper documentation and of testing.
Interested people might find this article about getting into QA work from Software Development magazine useful.
-
Re:Good Article; Don't forget the Less/Non TechsMy only concern with the article is that it seems to suggest that you can't make contributions without being a "hard-core" programmer. This seems to contradict much of what I've heard from other Free and Open Source projects. They generally take the position that if you can write a decent bug report (what happened and under what circumstances, not 'it broke!'), or create documentation, you can be helpful too by using the software and doing the above.
Another good way to get involved in a project is testing. If you some limited programming or scripting skills you can write unit tests, and test scripts to help find bugs. In the process you'll help the project, learn more about the project, and hopefully improve your own skills. Adding test routines that detect old bugs can help to prevent them from creeping back into the code, and help look for similar bugs elsewhere.
My first programming job was doing maintance on a large system, and it taught me some key concepts that young and inexperienced programmers don't always take to heart, myself included. I learnt the benefit of defensive programming, of useful code comments, of writing proper documentation and of testing.
Interested people might find this article about getting into QA work from Software Development magazine useful.
-
Another interesting HAL article
I found this article on progress toward HAL interesting.
(The magazine looks pretty good, too. Incidentally, the editors got a threatening letter from the velcro corporation for not using the velcro trademark properly.
:) )http://www.sdmagazine.com/articles/2001/0101/0101
a /0101a.htm -
Another interesting HAL article
I found this article on progress toward HAL interesting.
(The magazine looks pretty good, too. Incidentally, the editors got a threatening letter from the velcro corporation for not using the velcro trademark properly.
:) )http://www.sdmagazine.com/articles/2001/0101/0101
a /0101a.htm -
Great Language, but Inventor is an Idiot
I really liked Eiffel when I was in school (way back in the '80s). But after reading this article and others, I was forced to conclude that Bertrand Meyer is a complete idiot.
-
Extreme Rapid Development
Peter Norvig (Division Chief, Computational Science at NASA) recently reviewed 4 Dynamic environments and Lisp ranked _very_ highly. Here is the review:
http://www.sdmagazine.com/articles/2001/0103/0103e /0103e.htm -
Re:It's your *right* to copy.It's your *right* to copy software. Any software. Any Information.
Says who? Luddites may think that only physical objects has any monetary value. If so, why should a university professor earn more per hour than a McDonald's burger flipper? The only difference is the value attributed to the professor's accumulated knowledge.
Go read www.gnu.org. Especially the stuff on intellectual property.
Yes, I consider GNU to be an authority on someone's right to what they have made - though intangible in nature - in much the same way I consider NAMBLA an authority on whether having sex with children is OK... NOT!
If they want to turn intellectual pursuits into hobbies you perform after coming home from your traditional job, by all means - until they enforce that, I prefer making a living based on my skills, even if what I produce is electronic in nature.
And to further address the point: Though I disagree with Bertrand Meyer on a lot, his essay on the ethics of free software is worth a read to counter the GNU hippies.
It boils down to how someone are compensated for their efforts, whether the costs associated with creating intangibles (information) should be shared by those benefiting from it, and - apparently - to what extent all for-profit corporations are evil bastards, aka. whether GNU is an academic ivory tower with no contact with the "real world" where the rest of us make a living.
-
FREE Business Model ;-)I have been thinking about this since
/. posted a story on the ethics of free software, where the author makes a big point about that it may be more ethical if a company provides software for $50 that never crashes and comes with a money-back guarantee than free software with no warranty.It occured to me that I can't see anything stopping anybody from selling GPL software with a warranty, a warranty provided by the company that sells the software, not the developers. The no-warranty is there to make sure the developers will not get sued for failings, but businesses selling free software should be able to provide a warranty, in connection with e.g. a support program.
I don't know if this allready exists, but I think it would benefit the OSS community, as such a company is likely to do extensive and formalized tests of OSS software, and come back with patches if they find bugs.
Also, it may impress the suites that a software company offers warranty for a product others develop, out of their strict control.
-
Monty's a sharp guy.
I just read Monty's rebuttal of the "Ethics of Free Software" article, which was previously on Slashdot. I gotta say, I was impressed. Nice to see that the smart programmers are also able to express themselves in careful, intelligent, thoughtful ways outside the programming realm.
---