Crap, sorry about that- went to copy and paste the URL, must have copied the wrong thing from a different tab. Guess that's what I get for not using preview. Anyone with mod points, please mod my post down so that it doesn't confuse others.
the page I intended to link to is here: http://the-leaky-cauldron.org/#static:filmcommenta ry
I've downloaded a couple of commentaries for different things, and some of them are pretty well done. The Leaky Cauldron did a commentary for the Harry Potter and the Goblet of Fire DVD, which came with no commentary. It was nice to have a commentary by people who were actually on the set.
In general, I've found that some of them are really good, and add a lot to the experience- especially if the commentary is by people who have some clue as to what was going on during the filming. Other times unfortunately, it just seems like you are trying to watch a movie with a couple of people who won't shut up.
Even assuming for a moment that Microsoft was able to identify with 100% accuracy any machine that was running an illegal copy of Windows, and with no false-positives, I still don't think that it would be in their best interst to shut down illegal copies of Windows.
Regardless of what your favorite Operating System is, there is no doubt that Windows largest competitive advantage at the moment is it's popularity. Whether or not you think Windows is better or equal to Linux or *BSD or any other OS in any technical way, the biggest reason that people run Windows is because everyone else runs Windows, and the programs they want to use are written for Windows.
They cant compete on price with free while charging for Windows, and they can't compete technologically right now with Linux because when it comes down to it: A: Linux and Windows have their own respective strenghts- but in the hands of a competent user/administrator, neither is vastly superior to the other, and B: Anyone who is computer literate enough to be pursuaded by technical arguments already knows this- or at least will recgonize marketing BS, and anyone who isn't will ignore it anyway because they don't understand it.
If they eliminate the possibility of using Windows for free, then they are going to start losing users to Linux, BSD or Mac. The more users they lose, the less advantage they have because "everyone uses it" which will drive more people into looking at alternatives.
Like many relatively expensive proprietary applications, the success of Windows is based largely on the fact that it can be pirated. Making it impossible or even reasonably difficult to do so will result in people looking at alternatives. For most people, software has no inherent value, so people make a decision based off what is cheapest and what everyone else uses.
I know that as an OSS developer there are a few reasons that I wouldn't start up or contribute to an open source financial program. The most obvious, and perhaps the most common reason is that accounting software isn't really fun to write- or perhaps its less fun to wright than other things. It's not as though you can really write a new algorithm to figgure up taxes- it's pretty much just the way the IRS wants to do it.
Related to this last point is that there is a lot of obligation related to writing financial software and as a free software developer I really don't want that hanging over my head. Even with the standard "not fit for any purpose" disclaimer, I would be afraid that I would have someone coming after me if some bug in some code I wrote meant that each company paid a few million less in taxes than they were supposed to.
The thing is, the code isn't the hard part of writing financial software, it's dealing with all of the law code stuff.
I think that the best way to bring this sort of software to Linux is to focus on getting companies to port their software, or getting Wine to support it.
Even moreso than with other sorts of software, I don't think that web applications are viable because of security reasons.
If someone is holding you up at gunpoint trying to rob you, it's a sign that they are probably not thinking rationally. Disregarding the ethics involved, holding someone up in a store is a stupid thing to do because there is a good chance that the robber will be either aprehended or shot by the clerk, and a lot of places lock money up in a safe that can only be opened at certain times, etc. The fact is that if someone wants to steal money, there are was that have larger payoffs with less likelyhood of getting caught/hurt than robbery.
When someone is acting irrationally like this, reasoning with them that the only thing they can do is to walk away is unlikely to work. I would say that the most likely outcome is that the guy is going to feel trapped and sure to be caught, and the same poor logic that led to robbing a store in the firstplace will lead to the conclusion that killing you is the only way out of the situation.
Some people want Microsoft to backport some of the new features to XP, and other people want Microsoft to make sure Vista is full of new features, no contradiction there.
I also think that many people want Microsoft to backport things that can reasonable be backported, instead of arbitarily making things "Vista Only" to force upgrades, but would also like Microsoft to bring some innovation to Vista that means features can be added that werent possible in XP for example.
Personally, I don't really care that much. I use Linux and OS X and will continue to do so after Vista is released. If I used Windows and had reason to really care about it, I would say that I don't have a problem with a Vista exclusive version of Direct X, but Direct X 9 has been out for a while, and it doesn't seem too unreasonable to ask for Microsoft release one last version of Direct X for XP and then focus on a Vista only release. I would even think that it might be beneficial for Microsoft to do so. I'm not sure how backwards compatible Direct X is, but having a version that runs on Windows XP and Vista might help ease the transition to Vista, instead of forcing developers to make a choice between XP and Vista / DX9 and DX10. Of course if DX9 games can be expected to run properly on DX10 then there is really no problem, but if that isnt the case then it might turn out like what happened with Windows 98, and Vista may be out for several years with people still keeping around Windows XP to play games on.
Just with a cursory glance at this, I see a couple of problems with this.
If they are just doing something like taking an MD5 hash of the image (which is what it sounds like based on the article) then it should be trivial to defeat. Whats to prevent someone from simply changing a single pixel in the corner of the image? Furthermore, if they are just scanning email attachments, it seems like it could be easily defeated by just zipping the images together. That's not even considering something more sophisticated like stenographically embedding images in other media.
Of course, a lot of these problems might be gotten around if they extracted all zip files, and ran a pattern matching algorithm on the image instead of just taking an MD5 hash, but that brings up other problems, and would still be rather easily defeatable.
What I generally do when I'm developing a site is this:
When I first start development, I generally keep everything in plain text with no graphics and no style sheet. Once I'm done with the initial development, I'll go through and add in the CSS and get the layout looking good, but I keep a copy of the old plaintext look. I test to make sure that my design works with the latest browsers. Then I go back and test to see what older browsers display the page properly. If I get to a browser that doesn't render the page properly, then I add it to a list of "unsupported browsers". When someone visits the main page using an unsupported browser, they will get a screen along the lines of "This page may not render properly with your current browser. You can view a plaintext version of the page here, or you can try to continue with the main page here. If you want to be sure to see the page the way it was intended, then please consider upgrading to a newer browser". I usually include a link to the firefox page as well.
The real problem that I have is with IE6. I realize that for most people, if they are still using IE then they simply aren't going to use anything else and will probably just go to a different page instead of downloading a browser just to use my page. On the other hand it's usually more trouble to get things looking right in IE6 than to get things looking right in even old versions of Firefox and Opera.
I have no idea how IE7 handles things, since as far as I know there is no way to run it under Wine. (Luckily?) It will be another several years before it has enough market share to really make a difference.
I don't know a great deal about how various filtering algorithms work, and even less about the filtering that hotmail has in place, so if I'm completely on the wrong track on this, then someone more in the know please set me strait
That said, I think that if you do this, you should be aware that I think that if you send out emails marked as junk, then future emails are more likely to be marked as junk. As I understand it, a lot of spam filters work by assigning various point values to different things in the email- like all caps might be 5 points- malformed headers might be 10 points. If all the points for an email add up to over a certain amount, then the email gets flagged as spam. I think that having email sent from your domain before that has been marked as junk is usually one of those things that has a fairly high point value attached to it. The theory being that someone sending spam is unlikely to also send legitimate mail from that domain- and especially that email address.
I'm a little disappointed. What I was hoping to see was an actual look at some of the roadmaps of various F/OSS projects, and to compare that with the timelines for various Microsoft projects. Perhaps as a point of interest it could also include the roadmaps from other companies.
I actually think it would be pretty interesting if someone did this - maybe once every 6 months or so- and kept track of it over a several year period. I think it would give a lot of insight into the complicated dynamics of the relationship between open and proprietary software, between Microsoft and some of the big Linux distributions, and between Microsoft and Everyone Else.
It would at least help to settle the question of who rips the most off of whom.
One engine that has a really interesting way of dealing with this is ahref=http://www.kartoo.com/rel=url2html-10505http ://www.kartoo.com/> which is a meta search engine. Its written in flash, but uses an interesting concept of creating a "map" of different pages.
I just did a search on "Paris" and it brings up a list of pages- you can mouse over the pages to get a preview of the site. It also gives you a list of categories such as "City of Paris" "Accomodations" and "Entertainment". These categories are listed on the background of the map, and the pages are grouped according to their category. Lines are drawn between pages showing links and the category that connects them.
It's kind of hard to explain but actually a really neat concept. I don't use it as my primary search engine (I rarely use it at all) but it can be very useful for people who either, A: aren't familiar enough with search engines to play the "add and subtract various keywords and add quotes until I get the results I'm looking for" game or B: only have a general idea of what they are looking for, and want a quick way to narrow down their results
actually, it would be: The new boss says the old bosses $.05 pay cut goes too far, while the old boss says teh new bosses $.05 pay cut doesn't "not go too far" enough.
You could always set up a MySQL server with PHPMyAdmin and have them learn SQL....
On a more serious note, you might just consider rolling your own application. Set up a MySQL (or Oracle, or MS SQL, whatever you like) database, then roll your own application that will meet the needs of the various departments. Keep tally of the features that people are asking for on their specific projects, and include the most common ones. Once everything is finished, then just allow departments to port the database over themselves (you could write an app to import access databases if you want- though users should be punished at least a little bit for using Access:-P).
There are really a few solutions, depending on how many disks your trying to keep track of and how often you actually need to get to them.
If you are talking about a relatively small number of disks that you are going to access often, then the best solution is probably just copy the disk images to your hard drive. It's pretty simple to mount an image under Linux, and I believe there are programs available to do it under Windows too (though some games I think break this programs to prevent piracy). I'm not sure about OS X, since I've never actually had to do it.
If you don't feel like (or can't) rip disks to your hard drive, and are still working with only a couple hunderd disks, then you might consider one of those holders that hangs on the wall. Not sure what they are called, think geek was selling them a while back. Basically, it's a big thing you hang on the wall, and put your disks in them so they face out. These work best if you don't have a bunch of disks that look the same (though you could always use a bit of tape and marker to label them).
If you have a lot of disks that you need to get to occasionally, then the best solution is probably just to buy replacement jewel cases. They are pretty cheap in bulk and you can just transfer the liners into the new jewel case when the old one busts. This scales pretty well and you can just stick them on a shelf and quickly find what you need.
Finally, if you have things that you almost never need to get to, or if you need to get to a bunch of cds at the same time (say, an OS disk, plus all driver disks, and software) then CD spindles seem to take the least amount of space. Just group the disks by task or category, then label them.
If you go the replacement jewel case route, you might just consider getting DVD cases. I find that they are a bit more sturdy than regular jewel cases, and still fit well in rows on shelves.
I have used C#. Not extensively, but I've played around with it a bit. I do like it, and might invest some time in playing around with it a bit more in the future. Largely, I haven't done much with it since I don't use Windows, though it looks like mono is comming along quite nicely. I've been seeing more things written using mono. Of course, C# is a pretty new language, and still suffers from the problem of not having the large existing number of libraries as languages like C++.
Of the development I do, about 60% is in non-native code (mostly java) and about 40% is in native code (usually C++). What I have found is this:
Java is the language I use the most, and it's good for small programs. It's definitely noticably slower for large applications, but I don't think that's the big reason that a lot of developers don't like it. Swing is nice, but the problem with Java and a lot of other "modern" languages is that they try so hard to protect the developer from themselves and enforcing a certain development paradigm that the same features that make it really nice for writing small program end up standing in your way for large and complex application development. Looking at the other side of the issue, C++ is fast, it can be fairly portable if it's written correctly, and has a huge amount of libraries available. C++ will let you shoot yourself in the foot, but the reason is that it's willing to stand out of the way and say "oh really want to do that? ok...". This makes it easy to write bad/buggy programs if you don't know what your doing, but if you pay attention, have some experience, and a plan for writing the software, then C++ can be less stressful to develop.
Aside from a reasoned argument, I think a lot of developers are just attached to C/C++. I know that I just enjoy coding in C++ more than in Java. Not that Java is bad- and it can be fun to code in at times, but the lower level languages just give me more of a feeling of actually creating something on the computer- as opposed to some runtime environment.
Finally, one major reason to stick with C++ is that many interpreted languages aren't really as portable as they pretend to be. A language like C++ that really is only mostly portable, and then only if you keep portability in mind, can sometimes be more portable than other languages that claim to be perfectly portable and then make you spend weeks trying to debug the program because things are fouling up.
Most of the gaming I do anymore is playing SNES games (through ZSNES) or DS or Gameboy games, mostly because 90% of my gaming is in quick 10 to 15 minutes sessions. There are a few things that I've noticed that most of the games I play over and over again have in common.
First, most of them lack much of a story. I think this works well for replay value because it can become tiresom to sit through the game telling you a story when you've seen it a dozen or more times already. Second is that most of the games a short. The games I replay most often are games that can be beaten in a single playthrough if you really want to. Finally, many of the games I replay regularly are games that, at least when I first played through them, were relatively difficult. Generally, I enjoy replaying games that were hard the first time I played through them, but subsequent playthroughs allow refinement to your skills until eventually you can simply blaze strait through the game without batting an eyelash. I also enjoy games that allow some amount of sequence breaking. The Metroid games are good at this. The first time you play through a metroid game you don't know where any thing is, and the game is much more difficult than the second time. Subsequent playthroughs allow you to better hone your skills at fighting the bosses and work out more efficient routes to the items, and once you have mastered that you can work on sequence breaking, getting items early, skipping items, etc. No game that I've run across does this better than Super Metroid, which is IMHO one of the best games to have ever been created.
The best way to make use of this prank when dealing with a touch typist is to move the f or j key over one letter. It's a minor enough change that glancing at the keyboard as you sit down at the computer won't catch it. Since most touch typists use the little indentations or dots or whatever it happens to be on that keyboard to realign their hands, it will end up screwing up touch typists just as well as scrambling the keys would do for a non-touch-typist.
Whenever I build a computer, there are a few things that I always look for in a case. Fancy blinkenlights and windows are not among them.
Here are the things I always look for when I buy a case: Is the case a Full Tower?
I have fairly small hands, and even I find that it's really painful trying to get into a mid-tower, let alone a mini tower. Especially with Video Cards getting bigger, people more likely having multiple hard drives/optical drives, etc. I think a full tower is the only way to go. It helps with airflow, it helps getting everything into the case in the first place, and it makes it easier to get inside and work on the machine later. Good Side Pannels
Some people don't like them, but good cases with good sidepannels make working on machines much easier. My case, for example, has a latch that locks into place when you snap the sidepannel on. It's sturdy enough that even when transporting the computer to lan parties or similar, I've never had a problem with it comming loose. When I want to get into the case, just pulling on the door latch and sliding it out and I'm into the case. The only problem I've ever had is that it's a slight pain trying to get the side pannel to line back up to snap back into place. I'd much rather mess with that than screws though. Removable Drive Holder..thingy
I'm not sure what you'd call these, but my case - and a few others that I've worked on, has a little thing that slides in and out of the case from the front where the optical drives and hard drives go. The nice thing about this is that it makes it easier to actually get these things stablilzed well. I don't know how many computers I've worked in where the hard drive was held in by a single screw, because it was too hard to get any of the other screws in because of the case design.
Those are the big things I look at when getting a case. I'm particularly fond of the Antec cases, which aren't necessarily the most stylish looking cases, but in my experience are well built and have the right features.
I have done both programming and 3D modeling/animation professionally. I still do 3D work and graphics design on the side, as well as contributing code to F/OSS applications. While I'm a decent programmer, I don't really have experience writing 3D engines or related code that would be useful to many open source games. Many times, if I come across a game that seems interesting and I would like to contribute, I offer to contribute artwork.
What I have found, and it is really a strange thing to me, but many projects simply do not want to accept contributions from artists. There have been a few projects that I've stepped into the mailing lists or IRC channels for and asked "hey, great game. I'm interested in contributing some artwork to the game, anyone have any ideas of things that might be particularly useful?" or simply looked at what was needed and gotten back "we don't need any more artwork/artists". A lot of times the art in these games is either bad, or a mixed bag of decent stuff and terrible stuff (not that no open source games have good artwork, but more that if a game has enough good artwork then I'm more inclined to offer to contribute to a project that seems like they could really use the contributions).
Another thing I've noticed is that one of the big goals of a lot of open source games is to be able to run on older hardware. This isn't necessarily a bad thing, but it does mean that it limits the quality of the artwork. Many commercial games are released when even a top-of-the-line gaming rig can barely get top performance, while many open source games tend to be written to run on any machine built in the last 5 or 6 years. I'm sure part of this is that not ever open source developer can afford a top of the line machine with two bleeding edge video cards (because buying one video card every 6 months for $500 wasn't draing PC gamers wallets enough apparently, they had to invent SLI) and a couple of gigs of ram.
What would be nice is some sort of site like sourceforge but for creative commons licensed artwork that open source games could make use of.
As far as I know the newer versions are not time limited, though this may be a recent change. If you are still interested the PLE for version 7 is available, and the website claims that it's unlimited use.
My biggest complaint is that they never released a PLE for Linux.
I agree, and I think this is the sort of prevailing mindset that a lot of people have.
I know a lot of people who have started off pirating software like photoshop and dreamweaver. They played around with it and learned how to use it. Eventually, they started making money off of it and went out and paid for a legit copy.
Speaking for myself, I know that this is what I've done with some software. I used a pirated copy of Photoshop back in highschool, and eventually I got pretty good with it. Now I make money on the side using Photoshop, and as soon as I started making money off of it, I paid for a legit copy of it.
Some software vendors realized this, and offer "free for non-commercial use" licenses. For example, Maya is a very expensive bit of software, and they offer a free personal learning edition which is feature-equivilent to the basic version of the software, and not time=limited (it does add a watermark to your renders though). I started out a while ago using this free personal learning edition of the sofware, and now I have a legitimate license for it.
The only companies I think that it really hurts are companies whos products are not really that good. For example, I used to have a pirated copy of Dreamweaver. I used it for a while, but I never paid for it. The reason? most of the web work that I do is developing in PHP, and I found that I vastly prefer using Eclipse with the PHP plugin to development with Dreamweaver. As for HTML, I prefer to hand-code HTML over letting a program generate it for me, so I tend to use either Quanta+ or simply use vim to write HTML.
Of course, I'm sure there are people out there who have downloaded Dreamweaver and decided that they really liked it and paid for a copy of it.
Software is a funny thing, there are a lot of choices out there for most things, and for most people, one is not just as good as the other. People are unwilling to spend a lot (or even a small amount) of money on software when they have no idea if it will be useful to them. Since one cannot return software if they find that it doesn't fulfill their needs, and many companies so severely limit their free trials, if they even off them at all, pirating is often the only way for a potential customer to really gague the usefullness of a product.
I haven't had much of a chance to play around with it yet (I'll give it a more thorough examination after I get back from class this evening) but after having played around with it for maybe half an hour, here are my impressions, the good and bad.
First all all, the application is pretty. I know a lot of people don't care about eyecandy, but the user interface is definitely slick. It did a good job of finding all of the images scattered throughout my disks. The program started out pretty snappy, but it did eventually start to crawl. I'm not sure if this was a bug or just because I have a lot of images and this machine could use more ram. I did find it somewhat irritating that my only options when first starting up were between "search only the desktop" and "search everything". It would be nice to have an option to search, just my home directory. As it is I ended up with quite a few directories containing things like the brushes for GIMP and images for various games. It seems to be fairly trivial to tell it to remove certain directories from the index, so it's not a big deal, but it is a small quirk that is slightly irksome. There is a bug in the way it handles PNG images with transparency, but it is pre-beta (which actually means beta in google-speak) software.
Until now, I've pretty much used either digiKam or the image view in Konquror to view images. Picsa is nice in that it automatically looks through the whole disk instead of just in my Pictures folder, but digiKam feels a bit cleaner. I haven't had much of a chance to play with Picsa yet, but I have a feeling it won't be as integrated into the rest of my desktop either (for example, with digiKam I can view an album, and then drag an image from the album onto someone from my buddy list in Gaim to send them that image.).
Picsa does seem to offer more editing options than digiKam for tweaking photos, and while it seems to work fairly well, I still prefer my own solution for very basic photo adjustments (which you can find here: http://sourceforge.net/projects/jphototweek/) although having it integrated into the program is nice.
It does have the polish I associate with google as well. When I saw that it used Wine I was reserved to the fact that I would end up spending several hours hacking a version of wine to run it, the fact that it was as easy as installing a single RPM and everything "just works" was nice.
I'll try to play around with it more tonight, and I may post back with a more complete comparison with existing Linux solutions and a review of the program.
Though many on slashdot may claim it is blasphemy to say this, I do not think that patents are nessessarily a bad thing. In fact, I think that if implemented properly, they can help to encourage innovation. The problem with the current US patent system is twofold.
One is, as others have said, it is far to easy to get a patent on obvious things. This has been discussed to death so I won't make much more of a point on this matter.
What is a larger problem in my opinion is the length of the patent. 20 years is far too long given the rate of technological progression that we are currently experiencing. Consider how many major inventions were developed between 1986 and 2006. A lot. No, compare that to the number of useful inventions that were created between, say, 1966 and 1986, or between 1946 and 1966. What about between 1890 and 1910. Technological progression is not linear, and the rate at wich technology is developing is exponential (see this article http://en.wikipedia.org/wiki/Technological_Singula rity/).
If the term for patents was reduced to, say, 3 years, it would allow companies to develop technologies to profit from their inventions without blocking future innovation too badly.
Other things that might help the software patent system would be to make the patent not applicable until the applicatnt actually produces something that uses that patent. It's not as though someone has to buy millions of dollars worth of equipment to write a program. If they are able to write up the patent then they should be able to produce at least some sort of sample application.
The best resource for making sure your software is usable is to watch people use it. While large companies can afford professional UI designers and formal usability studies, even a humble F/OSS developer can do some simple UI testing.
When I'm working on software that is intended for users who are not developers or otherwise computing professionals, I usually try to get a regular user to sit down with my software for a half-hour or so and I watch them use the software. Generally, I just say something along the lines of "hey, wanna do me a favor? play around with this program for a bit and tell me what you think". Then watch over their shoulder. Generally this is a good way to get a list of what sorts of things are poorly placed "how do I...?", things that are confusing "what is this?...", features that users will like "can I...?" and it's a good way to start finding bugs that only a user will discover.
A few tips that I've found doing this include
If any option is unavailable then it should be obvious WHY it's unavailable.
No matter how obvious your icons are, they should ALWAYS have text with them.
Avoid dialog boxes as much as possible
If you make your program look too much like another program, then you better make sure it looks and works exactly like that program. In other words, either stick completely with the standard way of doing things, or do it completely different. If you take some common UI element and tweek it, then you'll just confuse users. Menu bars tend to be the most common violators of this.
Understand color. A lot of applications throw colors around willy-nilly, if you are going to use color then study up on color theory and learn what colors go together, what colors are calming, etc.
Crap, sorry about that- went to copy and paste the URL, must have copied the wrong thing from a different tab. Guess that's what I get for not using preview. Anyone with mod points, please mod my post down so that it doesn't confuse others.a ry
the page I intended to link to is here: http://the-leaky-cauldron.org/#static:filmcomment
I've downloaded a couple of commentaries for different things, and some of them are pretty well done. The Leaky Cauldron did a commentary for the Harry Potter and the Goblet of Fire DVD, which came with no commentary. It was nice to have a commentary by people who were actually on the set.
In general, I've found that some of them are really good, and add a lot to the experience- especially if the commentary is by people who have some clue as to what was going on during the filming. Other times unfortunately, it just seems like you are trying to watch a movie with a couple of people who won't shut up.
Even assuming for a moment that Microsoft was able to identify with 100% accuracy any machine that was running an illegal copy of Windows, and with no false-positives, I still don't think that it would be in their best interst to shut down illegal copies of Windows.
Regardless of what your favorite Operating System is, there is no doubt that Windows largest competitive advantage at the moment is it's popularity. Whether or not you think Windows is better or equal to Linux or *BSD or any other OS in any technical way, the biggest reason that people run Windows is because everyone else runs Windows, and the programs they want to use are written for Windows.
They cant compete on price with free while charging for Windows, and they can't compete technologically right now with Linux because when it comes down to it: A: Linux and Windows have their own respective strenghts- but in the hands of a competent user/administrator, neither is vastly superior to the other, and B: Anyone who is computer literate enough to be pursuaded by technical arguments already knows this- or at least will recgonize marketing BS, and anyone who isn't will ignore it anyway because they don't understand it.
If they eliminate the possibility of using Windows for free, then they are going to start losing users to Linux, BSD or Mac. The more users they lose, the less advantage they have because "everyone uses it" which will drive more people into looking at alternatives.
Like many relatively expensive proprietary applications, the success of Windows is based largely on the fact that it can be pirated. Making it impossible or even reasonably difficult to do so will result in people looking at alternatives. For most people, software has no inherent value, so people make a decision based off what is cheapest and what everyone else uses.
I know that as an OSS developer there are a few reasons that I wouldn't start up or contribute to an open source financial program. The most obvious, and perhaps the most common reason is that accounting software isn't really fun to write- or perhaps its less fun to wright than other things. It's not as though you can really write a new algorithm to figgure up taxes- it's pretty much just the way the IRS wants to do it.
Related to this last point is that there is a lot of obligation related to writing financial software and as a free software developer I really don't want that hanging over my head. Even with the standard "not fit for any purpose" disclaimer, I would be afraid that I would have someone coming after me if some bug in some code I wrote meant that each company paid a few million less in taxes than they were supposed to.
The thing is, the code isn't the hard part of writing financial software, it's dealing with all of the law code stuff.
I think that the best way to bring this sort of software to Linux is to focus on getting companies to port their software, or getting Wine to support it.
Even moreso than with other sorts of software, I don't think that web applications are viable because of security reasons.
If someone is holding you up at gunpoint trying to rob you, it's a sign that they are probably not thinking rationally. Disregarding the ethics involved, holding someone up in a store is a stupid thing to do because there is a good chance that the robber will be either aprehended or shot by the clerk, and a lot of places lock money up in a safe that can only be opened at certain times, etc. The fact is that if someone wants to steal money, there are was that have larger payoffs with less likelyhood of getting caught/hurt than robbery.
When someone is acting irrationally like this, reasoning with them that the only thing they can do is to walk away is unlikely to work. I would say that the most likely outcome is that the guy is going to feel trapped and sure to be caught, and the same poor logic that led to robbing a store in the firstplace will lead to the conclusion that killing you is the only way out of the situation.
Some people want Microsoft to backport some of the new features to XP, and other people want Microsoft to make sure Vista is full of new features, no contradiction there.
I also think that many people want Microsoft to backport things that can reasonable be backported, instead of arbitarily making things "Vista Only" to force upgrades, but would also like Microsoft to bring some innovation to Vista that means features can be added that werent possible in XP for example.
Personally, I don't really care that much. I use Linux and OS X and will continue to do so after Vista is released. If I used Windows and had reason to really care about it, I would say that I don't have a problem with a Vista exclusive version of Direct X, but Direct X 9 has been out for a while, and it doesn't seem too unreasonable to ask for Microsoft release one last version of Direct X for XP and then focus on a Vista only release. I would even think that it might be beneficial for Microsoft to do so. I'm not sure how backwards compatible Direct X is, but having a version that runs on Windows XP and Vista might help ease the transition to Vista, instead of forcing developers to make a choice between XP and Vista / DX9 and DX10. Of course if DX9 games can be expected to run properly on DX10 then there is really no problem, but if that isnt the case then it might turn out like what happened with Windows 98, and Vista may be out for several years with people still keeping around Windows XP to play games on.
Just with a cursory glance at this, I see a couple of problems with this.
If they are just doing something like taking an MD5 hash of the image (which is what it sounds like based on the article) then it should be trivial to defeat. Whats to prevent someone from simply changing a single pixel in the corner of the image? Furthermore, if they are just scanning email attachments, it seems like it could be easily defeated by just zipping the images together. That's not even considering something more sophisticated like stenographically embedding images in other media.
Of course, a lot of these problems might be gotten around if they extracted all zip files, and ran a pattern matching algorithm on the image instead of just taking an MD5 hash, but that brings up other problems, and would still be rather easily defeatable.
What I generally do when I'm developing a site is this:
When I first start development, I generally keep everything in plain text with no graphics and no style sheet. Once I'm done with the initial development, I'll go through and add in the CSS and get the layout looking good, but I keep a copy of the old plaintext look. I test to make sure that my design works with the latest browsers. Then I go back and test to see what older browsers display the page properly. If I get to a browser that doesn't render the page properly, then I add it to a list of "unsupported browsers". When someone visits the main page using an unsupported browser, they will get a screen along the lines of "This page may not render properly with your current browser. You can view a plaintext version of the page here, or you can try to continue with the main page here. If you want to be sure to see the page the way it was intended, then please consider upgrading to a newer browser". I usually include a link to the firefox page as well.
The real problem that I have is with IE6. I realize that for most people, if they are still using IE then they simply aren't going to use anything else and will probably just go to a different page instead of downloading a browser just to use my page. On the other hand it's usually more trouble to get things looking right in IE6 than to get things looking right in even old versions of Firefox and Opera.
I have no idea how IE7 handles things, since as far as I know there is no way to run it under Wine. (Luckily?) It will be another several years before it has enough market share to really make a difference.
I don't know a great deal about how various filtering algorithms work, and even less about the filtering that hotmail has in place, so if I'm completely on the wrong track on this, then someone more in the know please set me strait
That said, I think that if you do this, you should be aware that I think that if you send out emails marked as junk, then future emails are more likely to be marked as junk. As I understand it, a lot of spam filters work by assigning various point values to different things in the email- like all caps might be 5 points- malformed headers might be 10 points. If all the points for an email add up to over a certain amount, then the email gets flagged as spam. I think that having email sent from your domain before that has been marked as junk is usually one of those things that has a fairly high point value attached to it. The theory being that someone sending spam is unlikely to also send legitimate mail from that domain- and especially that email address.
I'm a little disappointed. What I was hoping to see was an actual look at some of the roadmaps of various F/OSS projects, and to compare that with the timelines for various Microsoft projects. Perhaps as a point of interest it could also include the roadmaps from other companies.
I actually think it would be pretty interesting if someone did this - maybe once every 6 months or so- and kept track of it over a several year period. I think it would give a lot of insight into the complicated dynamics of the relationship between open and proprietary software, between Microsoft and some of the big Linux distributions, and between Microsoft and Everyone Else.
It would at least help to settle the question of who rips the most off of whom.
One engine that has a really interesting way of dealing with this is ahref=http://www.kartoo.com/rel=url2html-10505http ://www.kartoo.com/> which is a meta search engine. Its written in flash, but uses an interesting concept of creating a "map" of different pages.
I just did a search on "Paris" and it brings up a list of pages- you can mouse over the pages to get a preview of the site. It also gives you a list of categories such as "City of Paris" "Accomodations" and "Entertainment". These categories are listed on the background of the map, and the pages are grouped according to their category. Lines are drawn between pages showing links and the category that connects them.
It's kind of hard to explain but actually a really neat concept. I don't use it as my primary search engine (I rarely use it at all) but it can be very useful for people who either, A: aren't familiar enough with search engines to play the "add and subtract various keywords and add quotes until I get the results I'm looking for" game or B: only have a general idea of what they are looking for, and want a quick way to narrow down their results
actually, it would be:
The new boss says the old bosses $.05 pay cut goes too far, while the old boss says teh new bosses $.05 pay cut doesn't "not go too far" enough.
You could always set up a MySQL server with PHPMyAdmin and have them learn SQL.... :-P).
On a more serious note, you might just consider rolling your own application. Set up a MySQL (or Oracle, or MS SQL, whatever you like) database, then roll your own application that will meet the needs of the various departments. Keep tally of the features that people are asking for on their specific projects, and include the most common ones. Once everything is finished, then just allow departments to port the database over themselves (you could write an app to import access databases if you want- though users should be punished at least a little bit for using Access
There are really a few solutions, depending on how many disks your trying to keep track of and how often you actually need to get to them.
If you are talking about a relatively small number of disks that you are going to access often, then the best solution is probably just copy the disk images to your hard drive. It's pretty simple to mount an image under Linux, and I believe there are programs available to do it under Windows too (though some games I think break this programs to prevent piracy). I'm not sure about OS X, since I've never actually had to do it.
If you don't feel like (or can't) rip disks to your hard drive, and are still working with only a couple hunderd disks, then you might consider one of those holders that hangs on the wall. Not sure what they are called, think geek was selling them a while back. Basically, it's a big thing you hang on the wall, and put your disks in them so they face out. These work best if you don't have a bunch of disks that look the same (though you could always use a bit of tape and marker to label them).
If you have a lot of disks that you need to get to occasionally, then the best solution is probably just to buy replacement jewel cases. They are pretty cheap in bulk and you can just transfer the liners into the new jewel case when the old one busts. This scales pretty well and you can just stick them on a shelf and quickly find what you need.
Finally, if you have things that you almost never need to get to, or if you need to get to a bunch of cds at the same time (say, an OS disk, plus all driver disks, and software) then CD spindles seem to take the least amount of space. Just group the disks by task or category, then label them.
If you go the replacement jewel case route, you might just consider getting DVD cases. I find that they are a bit more sturdy than regular jewel cases, and still fit well in rows on shelves.
I have used C#. Not extensively, but I've played around with it a bit. I do like it, and might invest some time in playing around with it a bit more in the future. Largely, I haven't done much with it since I don't use Windows, though it looks like mono is comming along quite nicely. I've been seeing more things written using mono. Of course, C# is a pretty new language, and still suffers from the problem of not having the large existing number of libraries as languages like C++.
Of the development I do, about 60% is in non-native code (mostly java) and about 40% is in native code (usually C++). What I have found is this:
Java is the language I use the most, and it's good for small programs. It's definitely noticably slower for large applications, but I don't think that's the big reason that a lot of developers don't like it. Swing is nice, but the problem with Java and a lot of other "modern" languages is that they try so hard to protect the developer from themselves and enforcing a certain development paradigm that the same features that make it really nice for writing small program end up standing in your way for large and complex application development. Looking at the other side of the issue, C++ is fast, it can be fairly portable if it's written correctly, and has a huge amount of libraries available. C++ will let you shoot yourself in the foot, but the reason is that it's willing to stand out of the way and say "oh really want to do that? ok...". This makes it easy to write bad/buggy programs if you don't know what your doing, but if you pay attention, have some experience, and a plan for writing the software, then C++ can be less stressful to develop.
Aside from a reasoned argument, I think a lot of developers are just attached to C/C++. I know that I just enjoy coding in C++ more than in Java. Not that Java is bad- and it can be fun to code in at times, but the lower level languages just give me more of a feeling of actually creating something on the computer- as opposed to some runtime environment.
Finally, one major reason to stick with C++ is that many interpreted languages aren't really as portable as they pretend to be. A language like C++ that really is only mostly portable, and then only if you keep portability in mind, can sometimes be more portable than other languages that claim to be perfectly portable and then make you spend weeks trying to debug the program because things are fouling up.
Most of the gaming I do anymore is playing SNES games (through ZSNES) or DS or Gameboy games, mostly because 90% of my gaming is in quick 10 to 15 minutes sessions. There are a few things that I've noticed that most of the games I play over and over again have in common.
First, most of them lack much of a story. I think this works well for replay value because it can become tiresom to sit through the game telling you a story when you've seen it a dozen or more times already. Second is that most of the games a short. The games I replay most often are games that can be beaten in a single playthrough if you really want to. Finally, many of the games I replay regularly are games that, at least when I first played through them, were relatively difficult. Generally, I enjoy replaying games that were hard the first time I played through them, but subsequent playthroughs allow refinement to your skills until eventually you can simply blaze strait through the game without batting an eyelash. I also enjoy games that allow some amount of sequence breaking. The Metroid games are good at this. The first time you play through a metroid game you don't know where any thing is, and the game is much more difficult than the second time. Subsequent playthroughs allow you to better hone your skills at fighting the bosses and work out more efficient routes to the items, and once you have mastered that you can work on sequence breaking, getting items early, skipping items, etc. No game that I've run across does this better than Super Metroid, which is IMHO one of the best games to have ever been created.
The best way to make use of this prank when dealing with a touch typist is to move the f or j key over one letter. It's a minor enough change that glancing at the keyboard as you sit down at the computer won't catch it. Since most touch typists use the little indentations or dots or whatever it happens to be on that keyboard to realign their hands, it will end up screwing up touch typists just as well as scrambling the keys would do for a non-touch-typist.
Whenever I build a computer, there are a few things that I always look for in a case. Fancy blinkenlights and windows are not among them.
Here are the things I always look for when I buy a case:
Is the case a Full Tower?
I have fairly small hands, and even I find that it's really painful trying to get into a mid-tower, let alone a mini tower. Especially with Video Cards getting bigger, people more likely having multiple hard drives/optical drives, etc. I think a full tower is the only way to go. It helps with airflow, it helps getting everything into the case in the first place, and it makes it easier to get inside and work on the machine later.
Good Side Pannels
Some people don't like them, but good cases with good sidepannels make working on machines much easier. My case, for example, has a latch that locks into place when you snap the sidepannel on. It's sturdy enough that even when transporting the computer to lan parties or similar, I've never had a problem with it comming loose. When I want to get into the case, just pulling on the door latch and sliding it out and I'm into the case. The only problem I've ever had is that it's a slight pain trying to get the side pannel to line back up to snap back into place. I'd much rather mess with that than screws though.
Removable Drive Holder..thingy
I'm not sure what you'd call these, but my case - and a few others that I've worked on, has a little thing that slides in and out of the case from the front where the optical drives and hard drives go. The nice thing about this is that it makes it easier to actually get these things stablilzed well. I don't know how many computers I've worked in where the hard drive was held in by a single screw, because it was too hard to get any of the other screws in because of the case design.
Those are the big things I look at when getting a case. I'm particularly fond of the Antec cases, which aren't necessarily the most stylish looking cases, but in my experience are well built and have the right features.
I have done both programming and 3D modeling/animation professionally. I still do 3D work and graphics design on the side, as well as contributing code to F/OSS applications. While I'm a decent programmer, I don't really have experience writing 3D engines or related code that would be useful to many open source games. Many times, if I come across a game that seems interesting and I would like to contribute, I offer to contribute artwork.
What I have found, and it is really a strange thing to me, but many projects simply do not want to accept contributions from artists. There have been a few projects that I've stepped into the mailing lists or IRC channels for and asked "hey, great game. I'm interested in contributing some artwork to the game, anyone have any ideas of things that might be particularly useful?" or simply looked at what was needed and gotten back "we don't need any more artwork/artists". A lot of times the art in these games is either bad, or a mixed bag of decent stuff and terrible stuff (not that no open source games have good artwork, but more that if a game has enough good artwork then I'm more inclined to offer to contribute to a project that seems like they could really use the contributions).
Another thing I've noticed is that one of the big goals of a lot of open source games is to be able to run on older hardware. This isn't necessarily a bad thing, but it does mean that it limits the quality of the artwork. Many commercial games are released when even a top-of-the-line gaming rig can barely get top performance, while many open source games tend to be written to run on any machine built in the last 5 or 6 years. I'm sure part of this is that not ever open source developer can afford a top of the line machine with two bleeding edge video cards (because buying one video card every 6 months for $500 wasn't draing PC gamers wallets enough apparently, they had to invent SLI) and a couple of gigs of ram.
What would be nice is some sort of site like sourceforge but for creative commons licensed artwork that open source games could make use of.
As far as I know the newer versions are not time limited, though this may be a recent change. If you are still interested the PLE for version 7 is available, and the website claims that it's unlimited use.
My biggest complaint is that they never released a PLE for Linux.
I agree, and I think this is the sort of prevailing mindset that a lot of people have.
I know a lot of people who have started off pirating software like photoshop and dreamweaver. They played around with it and learned how to use it. Eventually, they started making money off of it and went out and paid for a legit copy.
Speaking for myself, I know that this is what I've done with some software. I used a pirated copy of Photoshop back in highschool, and eventually I got pretty good with it. Now I make money on the side using Photoshop, and as soon as I started making money off of it, I paid for a legit copy of it.
Some software vendors realized this, and offer "free for non-commercial use" licenses. For example, Maya is a very expensive bit of software, and they offer a free personal learning edition which is feature-equivilent to the basic version of the software, and not time=limited (it does add a watermark to your renders though). I started out a while ago using this free personal learning edition of the sofware, and now I have a legitimate license for it.
The only companies I think that it really hurts are companies whos products are not really that good. For example, I used to have a pirated copy of Dreamweaver. I used it for a while, but I never paid for it. The reason? most of the web work that I do is developing in PHP, and I found that I vastly prefer using Eclipse with the PHP plugin to development with Dreamweaver. As for HTML, I prefer to hand-code HTML over letting a program generate it for me, so I tend to use either Quanta+ or simply use vim to write HTML.
Of course, I'm sure there are people out there who have downloaded Dreamweaver and decided that they really liked it and paid for a copy of it.
Software is a funny thing, there are a lot of choices out there for most things, and for most people, one is not just as good as the other. People are unwilling to spend a lot (or even a small amount) of money on software when they have no idea if it will be useful to them. Since one cannot return software if they find that it doesn't fulfill their needs, and many companies so severely limit their free trials, if they even off them at all, pirating is often the only way for a potential customer to really gague the usefullness of a product.
I haven't had much of a chance to play around with it yet (I'll give it a more thorough examination after I get back from class this evening) but after having played around with it for maybe half an hour, here are my impressions, the good and bad.
First all all, the application is pretty. I know a lot of people don't care about eyecandy, but the user interface is definitely slick. It did a good job of finding all of the images scattered throughout my disks. The program started out pretty snappy, but it did eventually start to crawl. I'm not sure if this was a bug or just because I have a lot of images and this machine could use more ram. I did find it somewhat irritating that my only options when first starting up were between "search only the desktop" and "search everything". It would be nice to have an option to search, just my home directory. As it is I ended up with quite a few directories containing things like the brushes for GIMP and images for various games. It seems to be fairly trivial to tell it to remove certain directories from the index, so it's not a big deal, but it is a small quirk that is slightly irksome. There is a bug in the way it handles PNG images with transparency, but it is pre-beta (which actually means beta in google-speak) software.
Until now, I've pretty much used either digiKam or the image view in Konquror to view images. Picsa is nice in that it automatically looks through the whole disk instead of just in my Pictures folder, but digiKam feels a bit cleaner. I haven't had much of a chance to play with Picsa yet, but I have a feeling it won't be as integrated into the rest of my desktop either (for example, with digiKam I can view an album, and then drag an image from the album onto someone from my buddy list in Gaim to send them that image.).
Picsa does seem to offer more editing options than digiKam for tweaking photos, and while it seems to work fairly well, I still prefer my own solution for very basic photo adjustments (which you can find here: http://sourceforge.net/projects/jphototweek/) although having it integrated into the program is nice.
It does have the polish I associate with google as well. When I saw that it used Wine I was reserved to the fact that I would end up spending several hours hacking a version of wine to run it, the fact that it was as easy as installing a single RPM and everything "just works" was nice.
I'll try to play around with it more tonight, and I may post back with a more complete comparison with existing Linux solutions and a review of the program.
Though many on slashdot may claim it is blasphemy to say this, I do not think that patents are nessessarily a bad thing. In fact, I think that if implemented properly, they can help to encourage innovation. The problem with the current US patent system is twofold.a rity/).
One is, as others have said, it is far to easy to get a patent on obvious things. This has been discussed to death so I won't make much more of a point on this matter.
What is a larger problem in my opinion is the length of the patent. 20 years is far too long given the rate of technological progression that we are currently experiencing. Consider how many major inventions were developed between 1986 and 2006. A lot. No, compare that to the number of useful inventions that were created between, say, 1966 and 1986, or between 1946 and 1966. What about between 1890 and 1910. Technological progression is not linear, and the rate at wich technology is developing is exponential (see this article http://en.wikipedia.org/wiki/Technological_Singul
If the term for patents was reduced to, say, 3 years, it would allow companies to develop technologies to profit from their inventions without blocking future innovation too badly.
Other things that might help the software patent system would be to make the patent not applicable until the applicatnt actually produces something that uses that patent. It's not as though someone has to buy millions of dollars worth of equipment to write a program. If they are able to write up the patent then they should be able to produce at least some sort of sample application.
The best resource for making sure your software is usable is to watch people use it. While large companies can afford professional UI designers and formal usability studies, even a humble F/OSS developer can do some simple UI testing. ...?" and it's a good way to start finding bugs that only a user will discover.
When I'm working on software that is intended for users who are not developers or otherwise computing professionals, I usually try to get a regular user to sit down with my software for a half-hour or so and I watch them use the software. Generally, I just say something along the lines of "hey, wanna do me a favor? play around with this program for a bit and tell me what you think". Then watch over their shoulder. Generally this is a good way to get a list of what sorts of things are poorly placed "how do I...?", things that are confusing "what is this?...", features that users will like "can I
A few tips that I've found doing this include
If any option is unavailable then it should be obvious WHY it's unavailable.
No matter how obvious your icons are, they should ALWAYS have text with them.
Avoid dialog boxes as much as possible
If you make your program look too much like another program, then you better make sure it looks and works exactly like that program. In other words, either stick completely with the standard way of doing things, or do it completely different. If you take some common UI element and tweek it, then you'll just confuse users. Menu bars tend to be the most common violators of this.
Understand color. A lot of applications throw colors around willy-nilly, if you are going to use color then study up on color theory and learn what colors go together, what colors are calming, etc.