"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)
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
Anyone have any tips/links to convert my CD's into great quality MP3's (for listening only) ? I've been using VBR, 196, Lame etc, but this was recommended to me years ago...
Which encoder/tool/settings do you recommend for Windows (and Mac) ?
If you never go swimming, or to the sea (or above), you have a 0% chance of being killed by a shark.
If you don't work with pigs (a pigfarm ?) or visit any farms, you probably have a 0% chance of getting killed by pigs as well (unless you count over-eating ;-) ..
- an OCR function that reads a few words from an (easy) image
- a (simple) translator that translates the words into a different language word for word
- and then paints the translated words back using the same font/size
...continuously and quickly !
Don't get me wrong, this is cool and all, but it would be much more useful with a single snapshot that translates better, instead of focusing on doing it "realtime" (but the video wouldn't be as cool :-) )
The idea is nice, so I expect Evernote and Google to implement this ASAP ;-)
Get a kinesis keyboard and learn to touch-type; it's probably the best investment you'll ever make...
You'll save time when programming, but also when you create the design/requirement/test documents, the help file, the web pages, your blog, all your e-mails, your twitter messages, your IM and Facebook messages, and of course your comments on Hacker News :-)
If you don't touch type, give yourself a good kick in the butt and start now !!!!
An hour a day for a few weeks and you'll save time every time you write something for the rest of your life ...
Spending all your time in class doing 1. is often a waste of time (lecturer should provide handouts instead).
"Never memorize what you can look up in books"
- Albert Einstein
Having an "extra copy of your books" written down in your notes is not very useful - write a summary and your understanding instead.
A personal wiki can be a great tool (as an alternative to Evernote and OneNote):
- Tiddlywiki is very simple, mediawiki is very powerful, PpcSoft iKnow is personal Wysiwyg wiki (with automatic linking and storing the data in plaintext "markdown")
About Pen and paper
- "Nothing beats pen and paper for speed, efficiency, portability , usability, economy, and ease of use."
- However, it sucks when it comes to editing, re-organizing, copying, sharing and re-finding
I use simple Outlook rules to automatically highlight emails from important people and friends...
However, this sounds like a "reverse bayesian spam filter" that instead of filtering out spam is filtering out "most important email" and learning over time ?
It shouldn't be too hard adjusting SpamBayes or similar filters to do this, should it ? Anyone know about any solution for Outlook ?
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 ?