Are Companies Watching Your Open Source Code to Patent It?
december 2010 by cloudseer
Would be patent-trolls searching through commit logs for ideas to patent sounds like a scare-story on a local news station, and the goods news is that there aren't any cut-and-dry cases of this happening yet. However, Tech Dirt's Mike Masnick has found two suspicious instances of patents that may be "borrowing" technology from open source projects. In one case, IBM made the case that it had "improved" on prior art and was granted a patent. Is this something open source developers should be worried about?
Sponsor
The first case involves an algorithm patented by Tandberg . Jason Garrett-Glaser, an x264 developer, initially claimed that Tandberg copied an algorithm he created step by step out of his commit code. He's since posted an update saying Tanberg claims to have come up with the algorithm on its own. Garrett-Glaser admits that it's believable, since the algorithm is "way too obvious to be patented" in his opinion. Tandberg also claims that the algorithm it patented isn't exactly the same as Garrett-Glaser's. Garrett-Glaser isn't convinced.
In the second case, IBM patented a Windows library very similar to the open source project HeapCheck. The USPTO rejected the IBM's patent application three times because it was too similar to HeapCheck, but eventually IBM made the case that it had improved on the original project and was granted a patent.
Has this sort of thing happened before? Is this something open source developers should be worried about? How can developers stop patent trolls from stealing their work?
Discuss
Tips
shared
from google
Sponsor
The first case involves an algorithm patented by Tandberg . Jason Garrett-Glaser, an x264 developer, initially claimed that Tandberg copied an algorithm he created step by step out of his commit code. He's since posted an update saying Tanberg claims to have come up with the algorithm on its own. Garrett-Glaser admits that it's believable, since the algorithm is "way too obvious to be patented" in his opinion. Tandberg also claims that the algorithm it patented isn't exactly the same as Garrett-Glaser's. Garrett-Glaser isn't convinced.
In the second case, IBM patented a Windows library very similar to the open source project HeapCheck. The USPTO rejected the IBM's patent application three times because it was too similar to HeapCheck, but eventually IBM made the case that it had improved on the original project and was granted a patent.
Has this sort of thing happened before? Is this something open source developers should be worried about? How can developers stop patent trolls from stealing their work?
Discuss
december 2010 by cloudseer
Tips for Speedy JavaScript from the Google Instant Previews Team
november 2010 by cloudseer
As you probably know, Google recently rolled out its Instant Previews feature. The new feature involves quite a lot of client-side JavaScript, yet doesn't slow the search engine down for most of us. The Google Code Blog has a post on how the development team managed to add the new feature without noticeably impacting performance.
Sponsor
Here's what Google uses to keep the speed up:
JavaScript compilation with Closure Compiler
JSONP instead of XmlHttpRequest.
Data URIs instead of plain images
More details can be found in the original post.
Discuss
Tips
shared
from google
Sponsor
Here's what Google uses to keep the speed up:
JavaScript compilation with Closure Compiler
JSONP instead of XmlHttpRequest.
Data URIs instead of plain images
More details can be found in the original post.
Discuss
november 2010 by cloudseer
Learning JavaScript Visually with Diagrams
november 2010 by cloudseer
"One of the secrets to being a super effective JavaScript developer is to truly understand the semantics of the language," writes developer Tim Caswell. That's why he's created a series of JavaScript lessons based on diagrams, each one illustrating a piece of example code. Caswell's lessons aren't geared towards new programmers. Those with no experience would be better served looking towards an introductory book on programming (or at least this tutorial) to learn the terminology and basic concepts. However, those wanting a deeper understanding of the JavaScript language will be well served by Caswell's tutorials. "My hope is that this helps those of us that are visual learners to get a better grasp of JavaScript semantics," he writes.
Sponsor
So far there are three lessons:
Learning Javascript with Object Graphs - Explains references, closures, and basic inheritance.
Learning Javascript with Object Graphs (Part II) - Compares different ways of doing object-oriented programming in JavaScript
Learning Javascript with Object Graphs (Part III) - Compares Ruby's object model with the way JavaScript works
I know that there have been various attempts to teach programming concepts using visual programming languages, but has anyone seen other examples of this technique being used to teach non-visual programming languages?
Discuss
Tips
shared
from google
Sponsor
So far there are three lessons:
Learning Javascript with Object Graphs - Explains references, closures, and basic inheritance.
Learning Javascript with Object Graphs (Part II) - Compares different ways of doing object-oriented programming in JavaScript
Learning Javascript with Object Graphs (Part III) - Compares Ruby's object model with the way JavaScript works
I know that there have been various attempts to teach programming concepts using visual programming languages, but has anyone seen other examples of this technique being used to teach non-visual programming languages?
Discuss
november 2010 by cloudseer
Tips for Working With Dates in PHP
october 2010 by cloudseer
I've often found dates in PHP to be a bit of a pain to manage. A variety of similar functions in the language make it unnecessarily complicated to do what you need to do.
Getting the current date is one thing, but how about adding a set number of days to a date in the future? It's possible, but not particularly intuitive. Here are a few tips to make life easier when dealing with dates in PHP.
Sponsor
Look At What You Want To Do
Breaking down the task at hand is always a good way to approach a problem. Do you need to get the current date? Are you doing any calculations or are you reformatting the date? It's usually easier to do all the calculations first and worry about how the date is displayed last.
Write Unit Tests
Without unit tests, you'll be copying around code that serves a specific purpose instead of writing small, testable methods that you can easily reuse. Unit testing is one way to make dates a lot easier to manage.
Allow A Date Override For Your Date Handling Methods
If you're writing any code that handles dates, ensure you can pass in a specific date instead of relying on the current date.
For instance, I have a method that calculates the turnaround time for a print order, and it usually takes the current date and adds several days to it. (It has to skip weekends, which is why it's not as simple as adding a set number of days.) This method is very easy to test because you can pass in a specific date with the number of turnaround days and verify the date that is returned.
Use Zend_Date
Zend_Date is the Zend Framework approach. This makes light work of handling dates in PHP.
Use a Date Picker
There's a nice date picker in jQuery. This is more beneficial to help users when inputting dates, but it should reduce your workload too.
Photo by kevindooley
Discuss
Tips
shared
from google
Getting the current date is one thing, but how about adding a set number of days to a date in the future? It's possible, but not particularly intuitive. Here are a few tips to make life easier when dealing with dates in PHP.
Sponsor
Look At What You Want To Do
Breaking down the task at hand is always a good way to approach a problem. Do you need to get the current date? Are you doing any calculations or are you reformatting the date? It's usually easier to do all the calculations first and worry about how the date is displayed last.
Write Unit Tests
Without unit tests, you'll be copying around code that serves a specific purpose instead of writing small, testable methods that you can easily reuse. Unit testing is one way to make dates a lot easier to manage.
Allow A Date Override For Your Date Handling Methods
If you're writing any code that handles dates, ensure you can pass in a specific date instead of relying on the current date.
For instance, I have a method that calculates the turnaround time for a print order, and it usually takes the current date and adds several days to it. (It has to skip weekends, which is why it's not as simple as adding a set number of days.) This method is very easy to test because you can pass in a specific date with the number of turnaround days and verify the date that is returned.
Use Zend_Date
Zend_Date is the Zend Framework approach. This makes light work of handling dates in PHP.
Use a Date Picker
There's a nice date picker in jQuery. This is more beneficial to help users when inputting dates, but it should reduce your workload too.
Photo by kevindooley
Discuss
october 2010 by cloudseer
Get Your Fill of Fail with 25 Startup "Post-Mortem" Essays
october 2010 by cloudseer
Failure. All startups fear it. Many, at one point or another, encounter it. There's no denying that failure is a big part of startup culture. Some of the best and brightest preach the "fail fast" methodology, wherein quickly launching and fixing small failures can help avoid "the big one."
Whether you subscribe to this practice or not, the reality is that startups fail all the time, and luckily many entrepreneurs share their experiences "post-mortem" with the community. We've covered a handful of these posts from startups, but now ChubbyBrain has put together a hefty collection of these essays for your education.
Sponsor
Late last week we shared the story of Marc Hedlund, co-founder of Wesabe, a personal finance startup that lost out to Mint despite being first to market. Marc concluded that it wasn't any of the smaller trivial things (like domain names, or who launched first) that helped Mint win; it was the company's commitment to quickly pleasing its users that helped it succeed.
In September, we mentioned the 7,000-word essay penned by Paul Biggar, co-founder of NewsTilt. Biggar's startup was hailed as a potential saving grace for disgruntled journalists who were looking to leverage their personal brands online. In the end, he credited his company's actual disinterest and unfamiliarity with journalism as a key catalyst for the company's failure.
And finally, back in April we mentioned Ben Brinckerhoff's post about the closure of Devver, a TechStars 2008 graduate that hoped to create tools and resources for developers. "You can teach a hacker business, but you can't make him or her get excited about it, which means it may not get the time or attention it deserves," he said.
These three examples and many more are included in ChubbyBrain's collection of 25 of the "best" startup post-mortem essays. While it can be disheartening to hear these tales of failure, they provide a valuable resource to the first-time entrepreneur looking to avoid an epic failure of their own.
Discuss
Tips
shared
from google
Whether you subscribe to this practice or not, the reality is that startups fail all the time, and luckily many entrepreneurs share their experiences "post-mortem" with the community. We've covered a handful of these posts from startups, but now ChubbyBrain has put together a hefty collection of these essays for your education.
Sponsor
Late last week we shared the story of Marc Hedlund, co-founder of Wesabe, a personal finance startup that lost out to Mint despite being first to market. Marc concluded that it wasn't any of the smaller trivial things (like domain names, or who launched first) that helped Mint win; it was the company's commitment to quickly pleasing its users that helped it succeed.
In September, we mentioned the 7,000-word essay penned by Paul Biggar, co-founder of NewsTilt. Biggar's startup was hailed as a potential saving grace for disgruntled journalists who were looking to leverage their personal brands online. In the end, he credited his company's actual disinterest and unfamiliarity with journalism as a key catalyst for the company's failure.
And finally, back in April we mentioned Ben Brinckerhoff's post about the closure of Devver, a TechStars 2008 graduate that hoped to create tools and resources for developers. "You can teach a hacker business, but you can't make him or her get excited about it, which means it may not get the time or attention it deserves," he said.
These three examples and many more are included in ChubbyBrain's collection of 25 of the "best" startup post-mortem essays. While it can be disheartening to hear these tales of failure, they provide a valuable resource to the first-time entrepreneur looking to avoid an epic failure of their own.
Discuss
october 2010 by cloudseer