As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
One thing that I keep hearing in reference to ASP.NET and MSFT technologies is that they cost money to use. Often when they are being compared to open source languages someone will mention that one factor in favor of open source is that it's free (to an extent). My question is, when does ASP.NET actually cost money to use in terms of using the proprietary technology?
Understandably there are the hosting fees, but I'm curious about the fees outside of these hosting fees. I'm especially curious about this as it relates one-person smaller-site development (non-team/large enterprise). Any help is appreciated.
(edits)
Some excellent answers. Much appreciated
The projects that I'm looking to use the technologies for would be personal sites and very small business sites (1 or 2). The intent would of course be that these projects get much bigger. It seems that for commercial production, fees will apply. What about just basic dynamic "shared hosting" sites that provide information?
You have to measure many things when you determine cost. We recently went through an evaluation of platform choice by an outside vendor, and the recommendation is that we stay with a Microsoft.NET platform. Why? For us, the reason is that once you get to an enterprise-level product suite, the difference is not as big as people would like you to believe.
Purchasing Microsoft products is a sound choice. The initial cost might seem high, but keep in mind if you get Software Assurance on your purchase (Visual Studio, for example) you are entitled to free upgrades as long as you keep you SA current - and it is at a fraction of the cost of a repurchase. Many people think you need to buy the full retail version every time, and that is just not true. Work with a larger vendor, like CDW, to help with licensing questions. They got someone from Microsoft's Licensing Division on the phone with us and helped us choose what was right. Not high-pressured at all. They actually talked us down on some of the things we thought we needed.
MSDN subscriptions are great. I have one through my employer, but also used to maintain one personally. If you are a contractor/self-employed, it is an operational expense. Like buying full products, renewing a MSDN subscription is very inexpensive compared to a purchase, and especially considering what you get. The licensing within MSDN is rather generous, and since you are a one-person shop, if I read that correctly, one MSDN is more than enough for your non-production needs. Plus, the bundled Support Incidents are a nice plus, as well.
There are many versions of Visual Studio, from the Express Editions all the way up to the Team Editions. For example, we are rolling out Team Foundation Server right now, so our costs are obviously higher. For a startup or small shop, there are TFS hosting partners and you can get Team Explorer for free. Or you can mix and match, using Visual Studio for development and something like VSS, SVN, or countless other version control products out there.
Just because someone "goes open source", that does not mean that it is free. Yes, the platform choice might be free, and the tools might be free, but there is a definite chance that you will need a commercial library or component some day. Plus, nothing prevents you from going with Open Source products with Microsoft, either. There are many open source projects written in .NET that can be leveraged with your solutions, and Microsoft is becoming a lot more transparent. We are working on a very large, enterprise solution right now and we are using only one "commercial" product, outside of our development tooling. There is a lot of Open Source usage, and a lot of implementations cobbled from community musings and examples.
The one thing that often goes unmentioned is the human cost that goes into these decisions. Microsoft is hated by many and their solutions might not be the fastest or most robust (although I will take IIS7 on W2K8 over any other web server configuration any day) they are focusing on making people more productive at what they can do. You aren't just buying products with them, you are actually buying productivity. As someone who has worked in a few Open Source shops, I am very appreciative of all the things that they have gotten right and understand that free does not always mean better.
I have a "one-person" side business and I really recommend looking into an MSDN subscription. It will give you access to tools and technologies that you would not otherwise be able to get your hands on without going a la carte in a retail route. Talk with someone, like a CDW, to help you figure out your licensing needs. If it works out, definitely try that route. You can cover all your in-house needs in a one person shop with an MSDN subscription, most likely (for example, a lot of the products are available to install to you (as a user) up to ten times as long as the machines that they are installed on are "yours" and non-production. There are exceptions to that, but not many.)
If that does not work, try the free route. You can definitely use Mono for .NET Development, as well as the Express Editions. I know a few C# developers who swear by Mono and could not be happier.
Best of luck to you!
Often when they are being compared to open source languages someone will mention that one factor in favor of open source is that it's free (to an extent). My question is, when does ASP.NET actually cost money to use in terms of using the proprietary technology?
Usually when people refer to "cost" in the way you described, they're implicitly referring to TCO, or total cost of ownership. The cost is not an explicit cost in that you've paid for something directly, but rather the long-term price of using something over its lifetime.
For example, even if a particular proprietary technology is free, it may be more difficult to hire and find people who know about it to work on your project. Consequently, if it is less popular than some open-source equivalent, you may wind up paying more for the same amount of labor because appropriately talented staff will be harder to find and in higher demand.
Conversely, if an open-source product is free but has low mindshare or performs poorly, it may well be worth it to pay for an expensive, closed-source proprietary solution rather than having to learn the idiosyncracies of the open-source version.
Naturally, there is some controversy surrounding just how to measure TCO, with both camps having some valid points.
.NET is free
C# compilers are free
Certain versions of Visual Studio are free, and you don't actually need it to write for .NET anyway (though it really, really helps!)
There are many free online resources for learning .NET, such as http://asp.net
In short, there's no real cost to using ASP.NET other than the hosting fee of the website or options you might buy to make things easier (better versions of Visual Studio.)
There's more of an ideological divide, with open source guys on one side being pretty anti-microsoft and so claiming it's high cost to use. I wouldn't worry about them. ;)
There are a couple of good answers already, but I'd like to add "it depends".
joseph.ferris obviously works in a large organization, where the cost of switching platforms is going to be very, very expensive, so the cost of paying the licensing costs is much less that the cost of switching. Take a look at Jonathan Schwartz's blog entry for Mar. 11, especially the section titled "When Free is too Expensive" for another reason to go with fully-supported infrastructure.
But consider a couple of other scenarios.
First, there's the hobbyist, which is what you seem to be addressing - you want to play around with the technology, and maybe put up a website or three. There aren't any issues with privacy or scalability, so you can deploy your application on an inexpensive shared hosting solution. In this case, costs are pretty much irrelevant - whatever platform you pick, you can get free tools to get you started. Remember kids, the first hit is always free.
For a startup, things are a bit different. If the goal is to build a large website, the potential licensing costs can be daunting - it's probably going to a lot cheaper to go with open source. In addition to the production environment, you need to pay for development environments, testing, etc. Even for a small company, licenses may be more than they have in the budget - a single Windows 2003 server Enterprise license lists for $4k. If you're trying to break into a competitive environment and compete on price, this alone may make you uncompetitive. I have seen situations where a Windows-based solution (server, database, and custom development coupled with a content management system) is two or three times the price of an open source solution.
I know that it has been answered, but I will put my 2 cents. Why are you wondering about the cost of ASP.net? In my opinion, the choice of technology in your case (1-2 ppl development freelancer team) should be governed by technology familiarity. If you are an ASP.net expert, the expense of buying the products and MSDN subscription is well-worth it, because it's your primary language of choice that you know well, hence the projects that you implement, will be done better and faster, so it makes sense to stay with it.
However, if you happen to know another technology just as well and you are comfortable that you can deliver a robust product on-time with it, it may be worth it to go low cost. As a contractor, the main objective is to not lose time/money hence you pick a technology that balances your expenses and time spent learning it. In other words, if you are a Java expert, there is no point of paying for asp.net. If you know asp,net well already, then sure, stay with it.
The clients rarely care whether you used Ruby, PHP, Python, Java or ASP.net. They care about time lines, their cost and quality.
I find that it does not cost much money to use. It does infact cost a pretty penny to get windows based hosting. Visual studio is also expensive. After those, though, not many expenses are encountered.
If you want to use the more professional versions of Visual Studio to develop your applications: you will need to pay for that.
Also, there are a lot of commercial components available on the market. These will save you time or improve your product, but at a cost.
For open source, there are also a lot of components, but in this scene most is free/open.
Related
I'm using VS2010 and TFS to build a complex medium sized website.
Which protocol is most efficient and secure? I think I can enable any protocol I need since I own the IIS server and control all aspects of it.
My choices are:
Webdeploy
FTP
FileSystem
FPSE
There is also a hint at something called "one click"... not sure what that is, or if it relates to any of the above.
OK.. I'm sorry, but I'm not sure where to even start, and I'm not sure the question is answerable as-is. I'd probably put this as a note if there weren't a limit on the number of characters.
So much depends on the type of data in this app, your financial resources, etc. This is one of those subjects that seems like a simple question, but the more you learn, the more you realize you don't know. What you're talking about it Release management, which is just one piece of the puzzle in an overall Application Life-cycle Management strategy.
(hint, start at the link posted, and be prepared to spend months learning).
Some of the factors you may need to be aware of are regulatory factors that you many not even have thought of. Certain data is protected, and different standards require you to have formalized risk and release management built into your processes. For example, credits card data, medical records, etc, all have different regulations (some actual laws, some imposed by the Payment Card Industry) that you need to be aware of.
If your site contains ANY sensitive data, you need to first find out whether any of these rules apply to you, and if so, which ones? Do any of them require audit trails for how code goes from development to deployment? (PCI does, for example. That's because we take credit card payments, and in order to do that, you need to be PCI Certified or face heavy fines.)
If your site contains NO sensitive information at all, then your question could be answered as-is, and the question becomes a matter of what you're comfortable with.
If your application DOES contain sensitive info that makes it subject to rules that mandate a documented, secure ALM process, then the question becomes more complex, because doing deployments manually in such a situation is a PAIN IN THE BUTT. It' doesn't take too long before you start looking at tools to help automate some of the processes. (Build servers, tools such as Aldon for deployment, etc. There is a whole host of commercial and open source software to choose from.)
(we're using Atlassian for most of our ALM, but Team Foundation Server is also excellent, and there are a TON of other options.)
A friend wants to start a dating website, she wants me to help her. We still haven't discussed on what platform it'll be developed, but I'm thinking she'll suggest LAMP to save a buck (which is one reason already to chose over ASP.NET already). If the dating website does well, it'll potentially hold a large amount of data (I'm not sure if this would be another reason to consider either ASP.NET or LAMP).
Anyway, I ask this from an ASP.NET developer point of view. I have very little, almost null experience with LAMP, and I don't like it very much either, so if she decides to go with PHP odds are I won't help her. So what would be some good points to bring up when deciding which platform to develop on?
Please be objective, I don't want this to be argumentative or anything, try to stick to facts, not opinions alone.
Thanks!
What generally matter in that kind of choice is :
How much time will it require ?
How much money will it cost
Which is often linked to the time ^^
If you have a lot of experience with .NET and none with Linux/Apache/PHP/MySQL, choosing LAMP will mean that you'll need much more time : a whole lot of new stuff to learn.
It'll also mean that your code will probably not be as good as it would be with what you know.
After, the question is : do a couple of week "cost" more than a few licences ?
Only you and her can decide, there ;-)
If LAMP makes you queasy, you can try ASP.NET over Mono.
IMO the only good reason to move away from a programming environment that you are already experienced with is the one you already mentioned: cost.
You would use LAMP specifically to build appliances. If you're not building appliances, the software cost for ONE server is marginal, and is not worth the tradeoff for moving to a totally different development environment, IMO.
I think the first question is: Which is the target programming language and environment that you have experience with?
Imagine the site will become a success - how do you scale then? LAMP can scale, and so can WISC, but in both scenarios you need people who actually know the environment and who can secure it. If you don't know Linux and MySQL and PHP, how are you going to scale and secure it?
So even though LAMP may be significantly cheaper (The SQL Server license is the heavy part in the WISC stack), after the first hacker attack or downtime, that initial savings may seem marginal compared to the damage.
The other thing is of course the PHP vs. ASP.net/C# decision. If you don't know PHP, then it's a decision of "Not having the application at all" and "Having the application on an expensive stack", unless your partner of course decides to hire someone else to develop that.
Technically, both have their pros and cons, but there are huge websites built on both stacks, so it really boils down to "Which platform can you reliably/comfortably setup and maintain?"
I agree with Pascal. Go with what you feel comfortable with in completing the project and don't forget that YOUR TIME EQUALS MONEY. You have to put a $$ value on your time. LAMP may be cheaper up front but if it winds up taking 1000 extra manhours, then suddenly it's more expensive.
Also take into account the lost opportunity cost in not being able to bring something to market b/c you chose a technology you were not familiar with.
At the end, if the plans are for this to be a business that is successful, the cost of using ASP.NET should be negligible or else I would question the seriousness of the effort.
One argument for the Apache/MySQL/PHP stack is that it's available on most major platforms (Windows/Linux/Mac/BSD/...) and most webhosters provide it as well.
You also find many (as in "huge amounts") of good tutorials, books and other educational stuff about PHP/MySQL.
Apart from that all tools used in the LAMP stack are free (as in "free speech" and also as in "free beer"). ASP.NET is still a proprietary technology owned by Microsoft. I'm not a huge open source fan, but knowing that your tools will remain free to use in any way you want is quite nice.
Of course, if you have no experience with PHP at all and much exp. with ASP.NET it's easier for you to stick with ASP.
If your comfortable with Microsoft products there's nothing to stop you from developing code in .NET and using a free database (however you may need to find/develop a custom database adapter if you are not using free versions of SQL server or Oracle). If you are generating a lot of traffic you can swap out the data layer of your code and invest in a better performing database.
Time costs money and if you can develop a better product both from a user and maintenance/performance perspective it will serve you better in the long run.
Some hosting companies include the OS and flexible contracts so I would make fit from your prespective. The market's pretty competitve for that type of site and there's no point throwing a lot of money at it until you get some useful metrics for your site IMO.
The short answer is: it doesn't matter, unless the site is going to do something so amazingly different that one technology is obviously better suited. And I can't think of anything like that off the top of my head.
A big red flag is: if your friend is concerned about the extra $5/month for asp.net hosting instead of LAMP hosting, then you're probably not going to get paid. Ever.
Caveats aside, be realistic: what is the immediate goal? To get something working, or to design something on the scale of plentyoffish.com or facebook.com? [Facebook.com has about 44,000 servers at the moment]
So, what are the chances of your friend's dating web site exploding to the size where scaling is a concern? For most sites, the answer is "very close to zero" - because of the marketing effort required to drive that much traffic.
Now, what is the revenue stream? Is there any expectation that you will get paid to do this? Do you think the site will be profitable? Is the project fully funded?
Friendship is great, but don't let that keep you from asking the appropriate business and client-relationship questions. One sure way to ruin a friendship is to do some work for free and/or without thinking through the full extent of the project. Far too often, you think it is a one-time favor, while they think it is your job!
LAMP is only cheaper until you read the fine print. It's not better or worse technically, just different.
The WebsiteSpark/BizSpark programs will get you all the Microsoft software you need to get started, free for three years. If price is her driving concern, point her to those programs if she's willing to consider the ASP.NET platform.
Hosting will cost a fair amount either way, because for a full-service website you don't want to go shared. You'll need at least one dedicated server to support a dating site. The OS and database will be free either way if you go with one of the *Spark programs I mentioned.
As a small startup company you can get a free 3-year MSDN subscription (well, you have to pay $100 at the end of the 3 years). If you think .Net will be more efficient and this website will make money, seriously consider BizSpark.
Since you are looking for dating site, check out Markus Frind of plentyoffish.com he is running the largest dating site on .net platform with asp.net and sql.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
What are the advantages and disadvantages of coding your own blogging engine from scratch, versus using an already existing engine (for example, but not necessarily, wordpress)?
The biggest reason for going with developed blogging applications today is
probably interoperability. Seasoned blogging applications of today include
plug-ins and fundamental development inertia that ensures that you will interface well
with things like Twitter, Flickr, and social networking sites. Only a
spectacular developer (with a lot of time) would be able to custom code a
solution for all the APIs and other bells and whistles that, in the course of a blog's lifetime, they will want to use or at least experiment with. To build a custom blogging application is to make its default state a basically isolated one. And isolation for many blogs doesn't work.
The biggest plus for using a custom blogging application anyway is that you retain a high degree of control over the application's core behavior, and, since you will likely host it on your own server, direct access to its statistical metrics. If you know well ahead of time that you will not care about interoperability beyond, say RSS, or one or 2 other channels, and have the time to invest in core development, a custom blog is a great way to maintain a look and feel that will positively startle visitors who are used to a constant WordPress or Blogspot layout. One major pitfall, it seems, is that off the shelf blogging applications require you to learn how to manipulate each of their various presentations. It's not hard if you want to simply adopt any thousands of "themes" that typically exist for them, but then, your presentation will not be unique. Sooner or later a visitor to your blog will encounter the same look and feel elsewhere, exactly. The solution there is to hire a custom developer but that of course costs $$$. Even if YOU are that developer who will wind up trading coding-for-core-functionality time, for learning and coding for presentational individuality. Expensive either way.
I am struggling with this question myself. As a proponent of "everything independent" on the web I hate the idea of giving up low level control of my blog. I've been online since the consumer web first took off and understand the ease by which a website can be created using nothing but notepad and an FTP client. To me, anything beyond these basic tools is very "AOLish", and yet, many blogging applications have now evolved into full content management frameworks that would rival the complexity of mastering that which it once took just to figure out basic HTML. I've finally taken to in-depth experimentation with some of the more popular blogging solutions (WordPress, Blogger), and am shocked to find out that after spending so much time maintaining my own solutions, how quickly (and much better) it is to compose and manage entries with them. Since most of my blogs are not profit projects, time to compose has not been a factor for me. However, this may change. If it comes down to where I need to manage and concern myself more with content than mechanics to get my messages out, I will probably swing to seasoned blogging app mode and hope I learn enough about my platform to make it truly a unique experience anyway. That would probably be the best outcome for anyone like us debating this.
Dave
I just set up my own blog and I had to answer this same question myself. Here are the main reasons I went with BlogEngine.Net
Coding the entire thing myself would have taken a long time
I saw that there were a lot of themes available (and that making/modifying themes is easy)
Why reinvent the wheel? (would you write something that the public engines don't already do?)
Advantages of writing your own
It's fun
You might learn new programming tricks or techniques
Using a software you wrote is more satisfying than using someone else's
It will be exactly as you want it
Disadvantages
It takes time
Security risks. A high profile open source engine such as Wordpress is less likely to have security vulnerabilities than your own, especially if you don't have experience in web development. (However there are many high profile programs full of vulnerabilities, such as the widely used Internet Explorer), so take this with a grain of salt.
Features. Wordpress/others will probably have more features (even though some people don't like software with too many features)
You must keep improving your engine over time. If you stop but decide to keep blogging, you will probably want to move to Wordpress, especially if some features you really want aren't implemented yet in yours. This can be problematic, especially if you didn't plan export features.
Actually I went through this path.
For fun and learning reasons I coded my own little content-management system which I used for rudimentary blogging. It had quite static content (no comments were allowed) but it was enough for me. One year later I decided to switch to wordpress and am really happy with it.
Today I would change my approach and would go for wordpress instantly.
Reasons from product perspective:
You won't be able to feature-compete with wordpress (including plugins)
You won't be able to have such a stable and secure app as wordpress
Responsive community (both documentation and patches)
Continous releases
Reasons from learning perspective:
You learn a lot by understanding and reading other's source code.
You can make the product better instead of reinventing the wheel (by providing own plugins or bug-fixes).
It is a far more realistic job-setup: You hardly build apps from scratch but rather extend, integrate and maintain them. Also you work in a team.
Nowadays I would start to build 'from-scatch' software only if:
There is no software which can suit you or you can't extend to your needs.
You need a custom software for business reasons (e.g. you are a startup with fresh ideas)
Building a new software is cheaper as maintaining/extending existing one
My company has a control panel website written in ASP.NET. We run an online service used by over 20,000 users worldwide, mostly from the US, Japan and several European countries. It is used mostly by business users.
We face many problems using ASP.NET and development times are lengthy. I played around a bit with Flex and I can see why it would cut down development times however I am afraid we would not be able to support browsers that do not have flash installed. Considering the fact that many of our customers are business users in companies that might not allow to install flash.
Your opinion and suggestions will be appreciated.
This isn't really a programming question, it is a commercial question for your product management and marketing people. Flex requires Flash as you are aware, so the answer is to find out the degree to which Flash is supported in your customer base - and the version. Start with your biggest and highest profile customer. If you can't get away with it there it is a non-starter.
I am pretty sure that your feature set will be better as well as your development time if you use Flash/Flex for your control panel, so from that standpoint I would strongly advocate it. You may also be able to influence your customers' environments if you are adding highly valuable features, so the objection may disappear if the value is high enough.
However the value has to be quite high for people to contemplate such a change to their working environment. This is especially true in environments who feel that Flash is a risk and have removed it because they tend to be paranoid about software on the desktop. Shorter development times is not a good argument for anyone on the commercial side of the house when faced with such trade-offs, so beware of forwarding that in a customer context as a compelling argument - it isn't.
HTH and good luck - I hope you manage to switch over, you will have a huge amount of flexibility and sizzle added to your apps.
In your current ASP control panel you should put in a small flash script to see how many users can access it, if all or most users can access it then then it shouldn't be a problem to use flex. Over all most users have flash and it shouldn't be a problem.
My company (a large organization) is developing a "road-map" for evolving their rather old, tangled confederation of systems to an SOA model. A few people are pushing hard for using Websphere Integration Developer and Websphere Process Server as the defacto platform for developing future applications...because they feel IBM is a stable vendor, the tools are made for the enterprise, they drank the "business agility" BPEL kool-aid, etc.
Does anyone have positive or negative thoughts on this platform? Do the GUI tools help eliminate monotonous/redundant coding...or just obscure things and make things harder to maintain? Basically, do the benefits justify the complexity?
My experience with the IBM Java tool set is pure pain. Days to install lots of different versions of different components all incompatible with each other, discover a bug in component A get told to update to see if it fixes, updating component A breaks component B and C, get told to update these etc.
I find Eclipse with out the IBM extensions far more stable and quicker and provides more features (as its stable versions are a couple releases ahead of WID/RAD).
I would advise against going the IBM way for development tools. As for process server I have less experience but the people in my team using it seemed to enjoy it as much as I enjoyed WID. not a lot.
So far I havent been impressed by any tools with the "SOA" and/or "BPM" labels on them. My "roadmap" would be very very iterative to see some results with the archetecture as fast as possible while trying to grab some of the easy fruits. That way you gain your feel for what works for you and your people.
I would never let any vendor push me anywhere in the "scuplturing" of the architecture.
I agree with other users complaining about WID. The only reason we are using WID is that a decision was made a while back to use IBM products across the board by our sales department.
That's right, our sales department made the decision to use IBM products.
Development has been painful and frustrating. We have lots of stability problems with Process Server, sometimes it doesn't want to start or shutdown properly. Yeah you can easily draw processes in the IDE, but most any toolset provides that functionality these days. It is nothing special or unique to WID or IBM. IBM is a few iterations behind mainstream.
There are plenty of open source implementations out there that offer great support. Checkout JBoss or RedHat, they are pretty good. If that doesn't float your boat, you can always use Apache tools.
Walter
Developers don't choose WID, WMB, or WPS. Managers do, because IBM is a "stable vendor".
Look at JBoss, or K.I.S.S.
WID/WPS is actually pretty simple. The original intention was for analysts and business people to "compose" services (DO NOT LET THEM DO THIS!) so the UI is simple and easy.
Most of the work will be in defineing and implementing the back end services which depending on the platform will mostly involve wrapping existing code in SOA service.
The most important thing to bear in mind is that SOAP is technoligy and SOA is an architecture and a state of mind.
There is a zen to a succesful SOA implementation. Its all about "business services", if you have a service that you cannot describe to a business user in less than six words you have done it wrong! Ideally the service name alone should be enough to describe the functionality of the service.
If you end up with a service called "MyApp.GetContactData" described as "get name, addresses tel fax etc." then you are there. If You have a service called MyAppGetFaxNoFromOldSys" described as "Retrieve current-fax-nmbr from telephony table in legacy system" you are doomed!
Incidently most of the Websphere tooling for WS* is pretty nice. But I would recommend the very wonderful SAOPUI tool from http://www.eviware.com which is very good for compsing/reading WSDL based messages and also function as a useful test client or server.
Do the GUI tools help eliminate monotonous/redundant coding...or just obscure things and make things harder to maintain? Basically, do the benefits justify the complexity?
As a Developer, I find the tools at varying levels of being bug free. 6.0.1 was a pain, 6.2 is so much better. But once you develop with the tool, there is minimal effort to maintain it. I develop in hours what java developers take days to do. It is also easy to maintain as changes can be made very quickly. I cannot answer your question from the perspective of an architect or a Manager but i would agree with comments of some others here.