Domain: joelonsoftware.com
Stories and comments across the archive that link to joelonsoftware.com.
Comments · 1,628
-
Re:Not compatible with itselfSeriously, if I install two java products on my computer, each written in a different version of java, they break one another, unless I come up with a work-around.
I'm really not sure what you're talking about. I've never experienced this. If you want to look at an example of how much effort Sun puts into making code backwards compatible, just look at the api for the Date class: http://java.sun.com/j2se/1.4.2/docs/api/java/util
/ Date.htmlAlmost every method and constructor in there is deprecated. And why is it still around? Because removing it would break java code that was compiled in 1996 (when JDK1.0 was made public according to wikipedia).
Here's an interesting article of how
.NET will not be backwards compatible in the future: http://www.joelonsoftware.com/articles/APIWar.html -
Re:This isn't why Windows is slow...
Legacy support could include being able to run DOS, Win16, OS2 applications, switch to realmode to perform some BIOS functions should the need occur, etc.
There's also code in place to check for old pieces of software which wouldn't otherwise work with newer versions of windows, eg:
I first heard about this from one of the developers of the hit game SimCity, who told me that there was a critical bug in his application: it used memory right after freeing it, a major no-no that happened to work OK on DOS but would not work under Windows where memory that is freed is likely to be snatched up by another running application right away. The testers on the Windows team were going through various popular applications, testing them to make sure they worked OK, but SimCity kept crashing. They reported this to the Windows developers, who disassembled SimCity, stepped through it in a debugger, found the bug, and added special code that checked if SimCity was running, and if it did, ran the memory allocator in a special mode in which you could still use memory after freeing it.
(taken from http://www.joelonsoftware.com/articles/APIWar.html )
These kinds of things are going to have an effect on performance, and an even greater effect on development time (windows, late again?) -
Re:Lies....
I don't get around much, but what tiny businesses need Oracle? Are there some very common apps that require it? If so, they will probably try to do themselves a favor and start working with as many different databases as possible.
As for Oracle vs. free databases, the world is mostly like, and will continue to become even more like, the trucking industry. There are zillions of people with pickup trucks and zillions of companies with big rigs. There is very little overlap in their use. Both segments continue to do quote well. I doubt Naked Lady Mudflap Weekly runs articles every month asking if the new F150 spells the end of the trucking industry. Databases will be like that. For big groups with lots of money--Fortune 500 companies, banks, medical, government, etc.--Oracle and big boxes will continue to be popular. Pretty much everything else will be pushed to small boxes running web apps with free or cheap databases. Web-based database-backed apps are just too damn useful for all but the hardest of hardcore needs.
When you add all that up, I don't know if it equals double-digit growth. One thing to consider is that even if the market size remains the same--if Oracle doesn't get one single new customer--the amount of data in databases is continually growing somewhere between linearly and exponentially, and people want to do more and more with that data. That alone is enough for a good, steady business. ORCL had a typical post-bubble drop but they've been doing OK since then. Everyone here like Apple, right? Compare. -
Re:Real problem is philosophical[...] systems like Windows, which promote the idea that end-users can administrate computers.
Right on target! Windows (falsely) promotes the idea that end-users (aka. the Joe Sixpaxen of the world) can admin computers.
There are two ways around this: one is to alleviate most needs for administration--i.e. "Just Work"--and the other is to create a high enough barrier to entry that only reasonably competent people will run the system in the first place. Let's call them the "OS X way" and the "GNU/Linux way".
sidetrack {I'm all for making GNU/Linux accessible to the end-user. In fact, I think GNOME is doing great on this aspect. Unfortunately, it does so by "dumbing down" the interface. I could probably live with that, if I had the option of editing ~/.gnome/settings/input/keyboard/keybindings/deskt opbindings/obscure-setting.conf to bind "C-t a M-x ESC F4 # q" to "maximize window, then move it to the next workspace if that workspace is empty; otherwise, blink the screen and run the command 'uptime >> ~/uptimelog'". However, gnome consistently removes those options, much to the frustration of power users.
It's not like I crave for customizability, I'm willing to accept reasonable defaults for keybindings (case in point: I don't even remap my vi keys even though I use the dvorak keyboard layout, which is y/hjkl/jcvp/). However, for a feature I really want, "" is not a reasonable default--I need to be able to change that. Gnome won't let me. (and it's not only keybindings, although that's what sprung to mind right now--I'm sure you can find other examples if you use or dislike gnome enough).
However, gnome is not the OS (...)
sidetrack {I define "OS" the Stallmanian way, meaning that GNU/Linux is an OS and Linux is a kernel. If you define an OS the Tanenbaumian way (I name it that way because it was in OSes:D&I I first encountered the other definition), deal with it for now. I'd like to discuss that, but it's a different issue.
Off stage: GET ON WITH IT!!!}
(...) which is what saves it: due to it not being the OS, it can't get in the way of me doing the things where "sorry, we won't let you do that" would reeeeally hurt (managing (grub|xorg|modules|ld.so).conf, setting the MTU, iptables, ... basically, all the down-and-dirty low-level hacking).
That is, GNOME doesn't prevent you from doing any sysadminly things, it only prevents you from doing some userly things. Even if I didn't have an alternative, I'd probably be able to accept it. Luckily, I do have an alternative (if you really care--why would you?--I use fluxbox).
Windows (all of them?) also dumbs itself down. Sure, it may make easy tasks easy (wget -qO - http://www.joelonsoftware.com/printerFriendly/uibo ok/fog0000000249.html | grep excel | grep lists--okay, it's for office, not windows, but you get the idea), but it also makes hard tasks impossible (I recall hearing that setting the MTU is impossible, and that the default of 1500 is really asinine, due to it being larger than 1492).
sidetrack {Funny note from http://www.winguides.com/registry/display.php/280/ (which--the page, not the note--seemingly proves me wrong)
Disclaimer: Modifying the registry can cause serious problems that may require you to reinstall your operating system. We cannot guarantee that problems resulting from modifications to the registry can be solved. Use the information provided at your own risk.
Now that made me smile.}
Anyways, I guess I can't prove my point about windows, so I'll resort to vigorous gesticulation (handwaving in particular): I feel antagonized when -
What a developer really needs?
-
Re:corner offices for everybody
Maybe you meant it as a joke, but it is actually possible to get light on two sides of every room. See Joel's bionic office.
That article was written over two years ago about an office not yet entirely occupied. It would be very interesting to actually have a follow up on how well it works - rather than endless linking to the same stale article about how it might work out. -
corner offices for everybodyTo remedy this, I suggest corner window offices for all office employees.
Maybe you meant it as a joke, but it is actually possible to get light on two sides of every room. See Joel's bionic office.
-
Bullpens are bullshit
The collaborative power of people working on the same project sitting together is crap.
For every time it saves time for one person (in a (typical?) four-person bullpen to be able to call out a question to the others, there's exactly three times it distracts and breaks the flow of the others.
And that's purposeful interruptions; it's not even counting incidental distractions (phone calls, thinking-out-loud comments, etc.).
I've worked in both private offices and open environments, and I'm with Joel. Privacy and lack of interruption is key for developers.
-
Incentive Pay Considered Harmful
Joel Spolsky, who has a nice blog called "Joel on Software",
wrote a very thought provoking article back in 2000. It is
called "Incentive Pay Considered Harmful".
He discusses how *not* to manage smart, highly educated employees.
Since Joel is a programmer who used to work at MS, his case comes directly
from Redmond. -
Incentive Pay Considered Harmful
Joel Spolsky, who has a nice blog called "Joel on Software",
wrote a very thought provoking article back in 2000. It is
called "Incentive Pay Considered Harmful".
He discusses how *not* to manage smart, highly educated employees.
Since Joel is a programmer who used to work at MS, his case comes directly
from Redmond. -
Lotus Vs Excel
Hope Novell gets a clue from http://www.joelonsoftware.com/printerFriendly/art
i cles/fog0000000052.html -
Re:The ancient question again...
Read this, one of Joel's better efforts
http://www.joelonsoftware.com/articles/LordPalmers ton.html -
Re:No.
You should read this.
-
Re:My experience with Linux
Plagiarised without attribution from:
http://discuss.joelonsoftware.com/default.asp?joel .3.178798.34 -
Re:Computer ProjectsSource of that comment is Joel's Hitting the High Note article, data comes from Professor Stanley Eisenstat at Yale, who teaches CS 323.
Scroll to the middle of the page for that part, you can see the chart here, Joel's comment being
There's just nothing to see here, and that's the point. The quality of the work and the amount of time spent are simply uncorrelated.
-
Re:Computer ProjectsSource of that comment is Joel's Hitting the High Note article, data comes from Professor Stanley Eisenstat at Yale, who teaches CS 323.
Scroll to the middle of the page for that part, you can see the chart here, Joel's comment being
There's just nothing to see here, and that's the point. The quality of the work and the amount of time spent are simply uncorrelated.
-
FogBugz is great. Bugzilla, Scarab, not so much.
FogBugz is great. Sure, it's a commercial system that you have to pay for, but it is easy to install, simple to use, has a very clean user interface and even has a philosophy. Believe it or not, the last point is the most important. The folks behind FogBugz seem to work really hard to adhere to the KISS pricipal and produce a superior product.
If you compare them to workhorses like Bugzilla, Fogbugz seems very minimalistic, but it turns out to actually be more useful that way. The guy behind the folks behind Fogbugz, Joel Spolsky, has lots of interesting things to say about the design of Fogbugz that are just good reading for ANY CS/IT person to even if you don't buy his product.
Another product that I tried out was scarab, which was appealing since it was a Java J2EE application from the same folks who brough us subversion. From a CS point of view, scarab is an interesting example of how to use turbine. Unfortunately, scarab is hard to install and configure.
Although the version of scarab that I tested was still a beta product that might not be quite so hard to use out of the box any more, it is interesting to compare it to FogBugz. Scarab had the kitchen sink approach that is so configurable that it could be set up to be every bit as complicated as Bugzilla or as simple as FogBugz. However this flexibility made it a nightmare to configure and administer. While you could, conceivably set it up like FogBugz, it would be hard to make it work exactly the same way and wouldn't provide the same ease of use... just the same limitations with an added level of complexity.
To summarize less is more... in quality and price this time ;) -
No experience, but..
Mentioned in the comments about Vista yesterday was this article on business models: http://www.joelonsoftware.com/articles/CamelsandR
u bberDuckies.html
The author implies that multiple licenses can insense your customers, provide discounts to the people who can afford pay you the most (corporations), and may ultimately fail because large corporations have purchasing divisions whose sole purpose is to get you to charge less. Worth a read, at least. -
Scheme
While everyone is right that your skills are nowhere near as important as your attitude and drive, I think there's one exception: learn Scheme (or OCaml if you'd rather).
It isn't so much that Scheme is the world's most useful language; it certainly doesn't have library support anywhere near the major industry languages (C++, Java, etc.). But that's not the point.
Rather, being able to program in Scheme means that you understand computer science in ways that many of your peers, who might only have ever learned Java or similar languages, don't.
Any data structure that you use in Scheme that's more complex than a list, you have to program yourself. There is no iteration; there are no mutable variables; there's no state at all. Programming in Scheme feels very much like writing math equations that happen to be able to calcualte their own answers. But, by the same token, there's no cheating. If you don't understand recursion, you won't be able to write anything.
Maybe some employers won't know the difference between Scheme and JavaScript, and that's really too bad for them. But there will definitely be people who will see "functional programming" on your resume and realize, hey, this kid knows his stuff.
At my school, we have two intro CS tracks; one is all-Java, and the other (which I took) teaches Scheme and OCaml in the first semester and Java only later. I don't know too many people who chose the first track, but I know about a dozen people who took the second one their freshman year, and now, as sophomores, every single one had multiple offers for summer internships. -
Translation
"We don't want customers to be forced into buying something that isn't going to meet all their needs," said Barry Goffe, Microsoft's director of Windows client product management.
Translation: We understand from psychology that people can only make effective, informed decisions when the number of choices is low, typically around six. We understand that one of the principles of building is a successful company is to segment your market according to their willingness to pay. Hence, I propose we offer six versions of Vista, each priced differently, each with a clear difference in feature set so that we can effectively capture our consumer surplus without our customers being constrained by the tyranny of choice.
Simon.
-
Joel Spolsky has written about this
-
Re:Why I Hate Frameworks - a popular article
What I got out of this Joel on Software - Why I Hate Frameworks discussion group is this. Trying to use a complex framework just to do something simple is wasteful. Who could disagree with that? If the original poster is trying to meet the needs of developers who need to build a tool that can be completely described in twenty five words or less, then that person is wasting his time with frameworks.
If, on the other hand, that poster is trying to come up with a framework to meet the needs of developers who are charged with building an application that is so complex that no single human being could ever completely understand it, then a complex framework just might be the only viable path to solution.
In that spirit, permit me to introduce to you my anti-Joel on Software discussion group topic...
Why I Like Frameworks. I needed to build a 33 story skyscraper so I went to my local construction company. I made an appointment with a representative where I showed him my plans. The first 3 floors would serve as an indoor mall. The next 7 floors would function as apartments. The upper 23 floors would be reserved for corporations. He took one look at the plans reached into his desk and handed me a hammer. What's this? I asked. You don't need no complicated frameworks, he said. They take too long to learn and your brain will start hurting. Aren't you feeling anxious because you can't see any tangible evidence of your progress yet? Here's a hammer. Get some boards and some nails and start building.
-
Re:Why I Hate Frameworks - a popular article
He is saying that Java is not a good language for you to *learn* programming with, not to use. This is not a bias towards Java as it applies to VB and C# as well. He makes an example of Java because some Universaties are using Java as the language to teach programming.
This is for good reason, with Java you never have to deal with pointer arithmetic and memory allocation and deallocation, etc. People who learned to program with Java won't necessarily know that an array is a sequence in memory, a char can also be an int, a String is an array of chars, Strings are immutable, etc.
This raises a couple of problems as it allows mediocre programmers to get degrees and write code (who otherwise wouldn't have managed if they were forced to use C/C+++), and people who write unoptimized code as they don't understand how their program works fundamentally. A good example being 'fucked strings'. -
Re:Why I Hate Frameworks - a popular article
Joel provides a very slanted view of the world. In a previous article, he tries to say that universities don't teach students to do anything hard anymore because Java is used to teach them. Following that, it's easy to see he's already got a strong bias against Java.
Now, I'll be the first to say that I'm not a huge Java fan. I find it to be a particularly verbose language that doesn't allow a whole lot of flexability in how you code. It doesn't lend itself to rapid development or constantly changing requirements, and is not Object Oriented in the same respect that Smalltalk or the more recent language, Ruby are. It is far too rigid for my tastes.
However, to make an assertion like "people who learned to code using Java can't do anything hard" is pure BS - some of the best programmers I know are right at home in Java. I lost a lot of respect for Joel that day, and I find it hard to take his opinion seriously on anything anymore. He makes blanket statements, and then writes rants to back them up. Couple that with the fact that Joel really doesn't do anything all that impressive. Fog Creek Software's main claims to fame are a piece of bug tracking software (Many better alternatives exist to this), and a tech support program for remote administration of systems (solved again in a much better way by Windows 'remote assistance', SSH, VNC, etc). Neither of which are anything particularly well designed or innovative.
If Joel had his way, we'd all be writing all our applications in pure C/C++ without any tools to back us up. Not that these languages don't have their place, but they're certainly not suitable for everything. I'm not really too sure why people pay so much attention to him.
-
Frameworks ? Hate'em.
''Why I hate frameworks'' is a fun and good read. Reflects my experience too with these frameworks that's suppsoed to make things easier for you. Now, they have alot of easy to do stuff, it's just that about 95% of that is a total waste of time, doesn't help you with your ultimate solution, and you'll have to do it over again for the almost-compatible release due next month.
-
Obligatory reference
-
Maintainability, readability & coding style.
Whenever I use a third-party framework (for web development, both server-side and client-side), I spend half my bug-fixing time looking through the framework's code. It's frigging annoying! I don't know if my code's just that advanced, or if I have that much bad luck picking frameworks, but I always seem to be hitting the limitations of any frameworks I use.
Nowadays, the first thing I do upon downloading a framework is to open a couple of its files and look at the coding style, see if I can figure out what's going on. If I can't make it out on a glance, if it's badly documented, or if their curly brackets look at me from the wrong position... I ditch it. It's not worth the effort. I'm far more effective just re-inventing the wheel on my own for the small parts of the framework that I'd otherwise use. And at least that way I know the code will do precisely and exactly what I need, rather than being a general-purpose tool-building factory factory factory.
-
Why I Hate Frameworks - a popular article
Hmm.... I think you should read this first, in case you didn't. http://discuss.joelonsoftware.com/default.asp?joe
l .3.219431.12 -
There is a reason for all those features.
Joel S. talks about this. http://www.joelonsoftware.com/printerFriendly/art
i cles/fog0000000020.html
Basically, in order to grab market share, different pieces of the market need/want different sets of features. The aggregate total of ALL those features becomes the bloated MS Office suite. -
Joel on Software
Joel on Software has two great entries that relate to this topic: The Guerrilla Guide to Interviewing, and Hiring the top 1% (hint: just because you're rejecting 99% of applicants, doesn't mean you're hiring the top 1%, because the top 1% already have great jobs!)
I think that many companies have learned the secret of that last point. The best people have jobs already, for the most part. If you really want exceptional people, don't wait for them to show up at your door with a resume, find out who they are and who they work for, and then hire them away. Offering them more money will not convince them (though obviously you should offer a bit more than they're making now), but the opportunity to have more creative control over their job might. -
Joel on Software
Joel on Software has two great entries that relate to this topic: The Guerrilla Guide to Interviewing, and Hiring the top 1% (hint: just because you're rejecting 99% of applicants, doesn't mean you're hiring the top 1%, because the top 1% already have great jobs!)
I think that many companies have learned the secret of that last point. The best people have jobs already, for the most part. If you really want exceptional people, don't wait for them to show up at your door with a resume, find out who they are and who they work for, and then hire them away. Offering them more money will not convince them (though obviously you should offer a bit more than they're making now), but the opportunity to have more creative control over their job might. -
Re:Google and Me
There are lots of things that can really help productivity and employee happiness.
Google and other thoughtful firms have a great cafeteria on-site that is at least partly subsidised. This encourages people to eat on campus, rather spending time driving someplace. It encourages cross-functional collaboration. And it makes it harder for competitors to eavesdrop on work-related lunch conversations.
One of the most productive hardware groups that I worked with had a conference room with sofas, bean bags, and soft chairs. The room had whiteboards on 3 of the 4 walls. There was no conference table in the room, but there was a small coffee table in front of one sofa. People were MUCH more creative in meetings held there than in meetings held in a traditional conference room. The environment really facilitated innovative thinking. Traditional conference rooms have their uses, but innovative organisation ought to also have some non-traditional conference rooms.
To the extent practical, it is often best to make work spaces very similar to each other. If there are corner conference rooms, but no corner offices, there is less politics about office space. If there are only 1 or 2 room sizes/styles, then again there will be less politics about office space. If one room is in a location with more window area, then consider making that room a bit smaller than others in its category to balance things out.
Very egalitarian office spaces are often happier office spaces because there is less fighting over environmental differences. By contrast, offices where most rooms are different in {window area, floor space, style}, there will tend to be tremendous internal office space politics, which makes the overall environment a lot less happy.
At one company I worked for, managers/directors had individual offices and everyone else was in an 8x8 cubicle with high walls. At site "A", the management put the offices against interior walls, leaving the space next to the windows for aisles and cubicles. At site "B", the management put their offices against the windows, so few aisles or cubicles had access to daylight. People working at site A were a lot happier with their environment, and correspondingly more productive, than people working at site B.
Studies in Scandanavia have shown that people are happier and more productive when they have regular exposure to sun-light. Sunlight can be an issue for office floor plans even in sunny places like the US southwest (e.g. Phoenix, Los Angeles). Thoughtful management will work with their office interior designers to maximise staff access to sunlight. Putting common rooms and conference rooms next to windows is one approach. Putting aisles next to windows is another worth considering. Ensuring access to sunlight is good business, because it boosts staff productivity and happiness.
Joel on Software has an interesting article outlining one small software firm's approach to their office space in metro NYC. While one might not agree with every single design choice they made, the article definitely is worth reading. Many of their design choices seem very sensible, once one thinks about the goals of office design, including productivity. Employees can be compensated in non-monetary ways; a happy work environment is one of the more cost-effective perks since it also tends to increase the company's product output.
-
Re:Google and Me
There are lots of things that can really help productivity and employee happiness.
Google and other thoughtful firms have a great cafeteria on-site that is at least partly subsidised. This encourages people to eat on campus, rather spending time driving someplace. It encourages cross-functional collaboration. And it makes it harder for competitors to eavesdrop on work-related lunch conversations.
One of the most productive hardware groups that I worked with had a conference room with sofas, bean bags, and soft chairs. The room had whiteboards on 3 of the 4 walls. There was no conference table in the room, but there was a small coffee table in front of one sofa. People were MUCH more creative in meetings held there than in meetings held in a traditional conference room. The environment really facilitated innovative thinking. Traditional conference rooms have their uses, but innovative organisation ought to also have some non-traditional conference rooms.
To the extent practical, it is often best to make work spaces very similar to each other. If there are corner conference rooms, but no corner offices, there is less politics about office space. If there are only 1 or 2 room sizes/styles, then again there will be less politics about office space. If one room is in a location with more window area, then consider making that room a bit smaller than others in its category to balance things out.
Very egalitarian office spaces are often happier office spaces because there is less fighting over environmental differences. By contrast, offices where most rooms are different in {window area, floor space, style}, there will tend to be tremendous internal office space politics, which makes the overall environment a lot less happy.
At one company I worked for, managers/directors had individual offices and everyone else was in an 8x8 cubicle with high walls. At site "A", the management put the offices against interior walls, leaving the space next to the windows for aisles and cubicles. At site "B", the management put their offices against the windows, so few aisles or cubicles had access to daylight. People working at site A were a lot happier with their environment, and correspondingly more productive, than people working at site B.
Studies in Scandanavia have shown that people are happier and more productive when they have regular exposure to sun-light. Sunlight can be an issue for office floor plans even in sunny places like the US southwest (e.g. Phoenix, Los Angeles). Thoughtful management will work with their office interior designers to maximise staff access to sunlight. Putting common rooms and conference rooms next to windows is one approach. Putting aisles next to windows is another worth considering. Ensuring access to sunlight is good business, because it boosts staff productivity and happiness.
Joel on Software has an interesting article outlining one small software firm's approach to their office space in metro NYC. While one might not agree with every single design choice they made, the article definitely is worth reading. Many of their design choices seem very sensible, once one thinks about the goals of office design, including productivity. Employees can be compensated in non-monetary ways; a happy work environment is one of the more cost-effective perks since it also tends to increase the company's product output.
-
Re:This is pretty Math:
Did you check the link?
I fell in love with the examples. They just look so nice.
And, as that solution uses client side JS instead of server side programming, it is not a server hog. Just figure a way to print LaTeX stuff dinamically. It's easy. Students just would have to write LaTeX instead of XML, and I presume most will like it.
Parsing XML surely can be a server hog.
I could explain it, but Joel Spolsky surely has done a better job than I can:
http://www.joelonsoftware.com/articles/fog00000003 19.html
I'm not telling you to drop what you have done, but having alternatives is a good thing. -
Re:Don't like the idea, investment wise
That might be true, if Vonage was doomed to offer exactly the same service they do today, for the entire life of the company.
Fortunately, Vonage also has a bunch of employees, and (hopefully) are working on other projects.
Joel Spolsky says "the goal is not to solve some specific problem, but to be able to convert money to code through programmers". Paul Graham says "What matters is not ideas, but the people who have them. Good people can fix bad ideas, but good ideas can't save bad people." One of the Zope people described the decision to open-source Zope by saying "This is not the last innovation we'll make".
If you're judging a company by its initial product, you're not judging the company, you're judging the product. Look at the first products of many of today's companies. Few are in business with their first product, or even an updated version of it. (Would you have invested in Ole Kirk's wooden toys?)
If VOIP does take off, there's plenty more than just those two services that they can provide. As a really simple example, suppose you're president of BigCo, and decide that switching to a VOIP phone on 120,000 desks will save you money. Where are you going to find a decent-sized group of engineers with VOIP expertise to pull it off? I can think of a place...
But that's simply a direct application of their skills. Google took a great search engine, and built webmail, a chat system, and great 3d mapping tool. Who'd have guessed?
If you knew their people, you might have. All it takes is people. Their existing technology is just a red herring. -
MS Release Cycle
In fairness, everything that I've read about MS's patch cycle indicates that it is a pretty huge undertaking. Joel from http://joelonsoftware.com/ is always going on about have every single code fix/feature addition has to go through a whole bunch of people (several testers, documentation team, etc) before it can be released. If anything maybe Microsoft is a bit too thorough with their patches, in some ways at least.
-
Re:Who Said Anything About a Payments BusinessI agree with your comments. Kind of like how I've read that Wal-Mart wants to become a 'bank' not to lend out money and compete against the MBNAs and BoAs out there, but rather to reduce their credit card charges, to streamline payments, and so forth.
This also could be a lot of hot air. Fire and Motion - it's something that GOOG does quite well, actually.
-
Joel Spolsky hit the nail on the head when...there are a bunch of colleges churning out people who've become "experts" having taken a 6 week course in the language with no prior IT experience
Joel could easily have been talking about
.net or .java or .latest-easy-to-write-language. He hit the nail on the head when he said that (to paraphrase) teaching people using a language which avoids the requirement to understand how computers actually work makes it hard to assess whether a programmer is any good. Joel's the Perils of Java SchoolWhen I used to work in embedded systems (oh gosh, 12 years ago!) I was stunned to discover that some of my colleagues didn't understand how to write interrupt routines and thought they were black magic! I can see why, although jobs are not often advertised, linux kernel programmers get a very high premium salary - because so many software engineers don't even have an insight into memory allocation strategies and stacks, let alone assembler and interrupts.
Sorry to rant, but I gotta justify the grey hairs somehow!
-
Assuming you can even trust Zone Alarm:
-
Re:hmmm
It's all about "Cover Fire". Read about it on Joel's site. http://www.joelonsoftware.com/articles/fog0000000
3 39.html -
Re:Business Plan?
Plan number three, release code for free and try to get companies to adopt it and pay you for support and customization. This is probably your best bet at this point. You need to find out what current companies charge for support and what they charge for their software and meet or beat their prices; or, you need to provide significantly more functionality. You need to get some good sales guys and give them the advantages of your product over other products. Main advantages you hold include the fact that it is open and thus they can migrate to other systems and that you or they can customize it to meet their needs. Find out what their current software doesn't do that they would like and make yours do it, just for them. Emphasize the personal service as part of a support contract that is semi-annually renewed or whatever. This is your revenue. Drawbacks to this include that the better your software gets, the less likely they are to need support and they can always go with their own IT dept. or with a competitor for support. You have the edge in that you know it better than anyone and are someone external to blame/call.
I think open source is great. I use apache, mysql, php, and firefox on a daily basis. However, I don't think it is very viable business model.
To have a profitable business, software support and customizations should be used as a secondary form of income rather than the primary. This is because you will always be limited by how many support contracts you can actually work on in a certain period of time. Especially with a small/one man company. Selling software under a license/per-copy model makes a lot more sense. You can do the other things you need to do to get your software out there (marketing,answering customer/client emails,etc) and still have the money coming in to pay the bills. The support comes in as an after thought (your client likes your software and wants X,Y, or Z features added).
This doesn't mean you have to stop supporting the open source community. You can still release other types of software/utilities under the GNU.
Donations also do not work. I read somewhere that 1 in 3000 (this can be as high as 10000) of your visitors will actually donate something to site/product.
I suggest you read joel on software, the business of software: link Here -
Re:Game theory in operation
If a couple hundred large companies put 100K (the amount they give the Chamber of Commerce for lobbying efforts) into a pot to use to make improvements to OpenOffice. That would be enough to make the changes in OpenOffice most beneficial to business.
Who would the money actually go to? Another software company or development group? Why would this group be able to do any better than Microsoft, who already has the best product available, along with experienced teams who have been developing it for over 15 years?
You can't say "they'll actually listen to their customers". Microsoft already does that. You can't say "it won't be as bloated as Office". The 80/20 myth disproves that. The only benefit is that the end result will be free. That doesn't mean a better product, nor does it mean a product with the features that businesses need now. -
Re:DocumentationRead Joel Spolsky's "Getting Things Done When You're Only a Grunt".
If you start using it for yourself and incorporate stuff that your cow-orkers need, it will soon become an indispensible tool. If you really made the right choice to begin with, you will get the credit (sprinkle your name throughout the app and label yourself sysadmin, support etc so they remember who did it). If it sucks, they will hate you for turning it into the corporate standard.
-
Re:I suspect a complete non-starter.
Coupons are just a way companies use to sell their products at two price points simultaniously, thus giving them maximum profit margin.
Read this, it's a bit long, but it is very enlightening.
-
Re:Bigger Fish to Fry...
I think someone else agrees.
-
Huh?
Debian is not only a robust and scalable Linux distribution
...This sort of thing reminds me of Joel Spolski's opinion on advertising:
If Debian is so scalable, why does it take them so much longer than any other OS vendor to simply do a release? How comes the software even in the "unstable" version is so often out of date? If it's so robust, how comes that shortly after their last stable release it was revealed that their entire security infrastructure revolved around one man, and that when he went on holiday the flow of updates simply stopped?
It seems to me that if you wished to advertise Debian, scalability and robustness would be the last qualities you'd choose to highlight. Instead you might want to focus on its dedication to the ideals of free software (that doesn't entice many people to install it though
...) or the fact that it runs on so many CPU architectures (hmm ... ditto). Actually, I can't think of any compelling reasons for the majority to run Debian directly. I say this even though I use Debian on my own server .... the original reasoning for this was that I felt at least the community was big and stable so there would be a reliable supply of security updates. That was before I found out about the size of their security team and the bandwidth bottlenecks on their servers (eg, Xfree update). After that I found myself wishing I'd installed Red Hat instead.I guess many people agree with me because these days I see very few people advertising Debian as the Wonder OS that it was promoted as when I first got into Linux. These days people tend to promote it by pointing to the (significantly more popular) operating systems built upon it, like Ubuntu or Knoppix. Of course, it's not exactly great PR to promote yourself as the base for what are effectively (policy and project-wise) forks, but marketing was never Debians strong point
... -
Re:Why does Windows have so much legacy?
I was pointing out that that the parent poster's assumption that you have to throw away old stuff is wrong. Tossing Windows and starting over from scratch is not the correct way to fix problems. It would introduce just as many (if not more) problems than it would fix. Read why refactoring is bad. Apple tried just that approach with Copland and languished for years trying to get it all to work correctly. They eventually had to go buy NeXT because they were out of time, money, and options. They didn't go to what we now know as OS X for modern security reasons. They went to it because they had to do something or else they would've gone out of business. That OS X is secure has nothing to do with the fact that it is newer than OS 9 (it isn't, really). It has to do with the fact that the code it's based on has been maintained and updated over the years instead of being tossed and rewritten everytime a flaw was found.
-
Re:Every version since 3.0?
It would be ridiculously stupid for MS to make a total rewrite of their OS. Especially in the face of growing competition, the newest product is likely to bomb by such a move because of delay in time to market. Furthermore, it's not bad that it's a mass of spaghetti code if each piece there has a specific purpose to close security holes, and rather than rewriting, they ought to simply refactor and make the code liveable if indeed it is "so bad". However, they and users have tested out many bugs that have affected many of the OSes so that you really open yourselves up to an entirely new series of attack vectors at release of brand-new code. I have to concur with Joel on Software on this thought. Netscape bombed when they attempted an entire rewrite, Excel systematically slaughtered Lotus 1-2-3 in the middle of Lotus' rewrite apparently, and Apple may be one counterexample rather than indication of the general trend.
-
Re:I didn't understand any of that.
I didn't either, but it sure set off my bullshit meter! I wish I understood it better, so I could compare it to other brilliant things, like Web 2.0.
-
Re:Variable pricing makes sense
Aside from the fact that merchants in other markets are allowed to charge whatever they can get for an item (high or low, each has its own merits in terms of strategy), here's another good counter-argument to the music industry's desire for variable pricing:
http://www.joelonsoftware.com/items/2005/11/18.htm l
Personally, I find it to be a piss-off when the specific item I want is higher than what I'm used to paying, meaning they figure I'm part of the "we can gouge these guys more" market segment. I like going to iTMS and knowing what I'll be paying beforehand. I don't mind paying $0.99 for a song I like or $1.99 for a TV show. At that price point, it's slightly cheaper for me than buying the equivalent CD or DVD these days, and way more convenient.
I'm also not cool with subscription models, and I won't enjoy browsing Google Video only to find some publishers take a preference to forcing me to subscribe to the things I buy from them instead of allowing me to buy them outright. I either own it or I don't. I'll never subscribe to music, just as I don't pay for cable TV, just as I'll never pay for satellite radio either.
Anyway, I think I've ranted enough for one night. ;)