"The term patent usually refers to an exclusive right granted to anyone who invents any new, useful, and non-obvious process, machine, article of manufacture, or composition of matter, or any new and useful improvement thereof, and claims that right in a formal patent application. "
In my opinion, the key part is the non-obvious part of "new, useful, and non-obvious"; the invention of a new medicine is usually non-obvious, but the invention of Amazon 1-click shopping is obvious (in hindsight).
What is "non-obvious" ? If a single individual can come up with a similar solution (without access to the underlying research/data involved in the patent) in a short amount of time (a week, or at least in a DAY in the 1-click example) it does not represent a significant investment.
There should also be a requirement that the idea is implemented to be able to sue others. You may stop others' implementation if you have a patent, but you should not be able to charge them for anything until you have implemented a working solution yourself (to avoid patent trolls).
Or simply use the KISS principle and remove all software patents once and for all !
I've been using Opera as my main browser for years, but also uses Chrome and Firefox.
Chrome; very fast, but crashes too often, and uses a LOT of memory (and messes up my Task Manager)
Firefox; lots of interesting add-ons, but slow and memory-hungry (and too often updated, with too many unstable updates)
Opera; very fast, very stable, best with regards to memory use. However, has problems with a few web sites (not compatible, maybe because they haven't tested "leading edge" technologies on Opera ?)
This way it is easier to separate if you upvote because you agree or because you think it is a high-quality contribution (even if you maybe disagree). Karma (if kept) should probably just be based on quality score, not on agree/disagree ?
In addition, showing a score in percent/color relative to the other scores in the same discussion ?
Edit: You should probably also separate between "article/submission" karma and comment karma, as some submissions of old articles get lots of karma, while the relative karma of quality comments often are much lower ?
Yes, it is very important that quality articles are suggested, but this is much easier than contributing quality comments (which is time-consuming, especially for non-native english speakers)
I've thought about this too. However, I have a feeling that most people will consider comments that they agree with to be of "high quality" and vice versa. We will basically get two scores that are almost identical.
Very true; I realized this myself a couple of months ago, and reorganized my blog as follows:
- main page shows categories and a chronological list of posts (I don't post that often; if you do, maybe list the last 30-50 only ?) in the right sidebar
- each category gets an index-page with introduction and 3 articles highlighted, and a a list of all articles in the category in the left sidebar. The highlighted articles (new and old) should change every now and then, maybe somewhat depending on "the latest fads" ?
- most important (IMHO); go back to your old articles and update them, especially hyperlinks - this will also aid the discovery of "evergreen content"
In addition, you should probably also use tags (I don't, but that's just because I'm lazy and don't have that many articles).
You may also collect related articles in e-books (I've done it with one of the categories, but it is a lot of work) - less SEO value, but maybe more "reader value" ?
(personally, for blogs like swombats and pg, I often follow the timelines and read through the old stuff, bookmarking or saving the "golden nuggets" once and for all)
Back in my Cobol/CICS days, every line that was edited was marked with a 3-character identifier for the person responsible. In a limited "ide" this made it possible to find the person responsible and at least ask him/her for more information/documentation.
I use a similar idea which is very low-tech, but use the date for each line/function that is changed, like this:
v110117 is simply a macro where I explain the high-level rationale/bug/functionality (which is visible on mouseover-tooltip). If you need to edit different functions to fix a bug, it is a simple search for v110117 to find all changes (the comment at the end of the line may be marked v110117a, v110117b etc to separate different issues, and the detailed explanation for the changes done in that line/function is explained there).
You will quickly see if there has been any changes in a function lately due to the date-format (vYYMMDD). A bonus is that if a function has many different changes it is immediately visible, and should be a warning that the function is complex/high maintenance.
I don't think any language is vastly superior to any other in every case.
You can say that C++ is vastly more powerful (and flexible) than C, but for low-level/embedded/kernel etc development, many would argue that C is the superior language.
Many people would also argue that C++ is maybe too powerful and complex; you can do everything with it, but sometimes this makes it hard to decide how to do "anything" (procedural ? Object-oriented ? Using templates ?).
Lots of people (myself included) find it so complex that they only use a subset of it - "the good parts". However, agreeing which parts to use is often impossible.
I've written about about what I consider "the good parts" here:
Even the most trivial computer programs have lots of bugs (with VERY few exceptions [1]), and we're worrying about creating a super-brain that is actually smarter than we are ourselves ?
And let's not forget the debugging, which is TWICE as hard as the coding ;-)
We may be able to simulate the hardware of the brain (using "biologic hardware"), but programming the AI software is probably greatly under-estimated....
[1] Some of the NASA software is probably as close to bug-free as we get, and check the required amount of planning, documentation and testing compared to the amount of actual code produced
- http://www.fastcompany.com/magazine/06/writestuff.html
The human brain has much more bugs than any current piece of software.
The actual program will be small. The brain is clearly a learning agent in a task environment. The sensors and actuators are implementable, the only real question is what algorithm should process the input stimuli.
Which technology does MS Office use ? Which one will MS Office 2015 use ?
If you want to create a word or excel document in the future, will you use a tablet with Metro or "classic desktop" with a mouse and keyboard ?