Open source reader

Wednesday, May 31, 2006

What Is A Professional Programmer?

Here is a great entry from Sarah George called "What Is A Professional Programmer?", here is what you'll read:
  • The Meaning of "Professional"
  • Trustworthiness
  • Teamwork
  • Leadership
  • Communication
  • Updating Skills
  • Minimizing Risks
  • Accountability
Some excerpts:
Keeping your code simple and well styled is another commonly overlooked way to manage risks
Documentation at first seems like a programmer-specific concern until you consider how many people require documentation in a serious project
Respecting the people you work with, and your clients, enough to really listen to them is a critical part of communication.
Happy reading !

When you *suck* at CSS

Sometime when you are tired to see your littles pages beiing so awfull, you get your google friend, and you find pages like this, and you see jewels in CSS !

Look at this css you'll find rules
table a[title^="Download"] {
background: url(http://infectedfx.net/css/tables/down.gif) no-repeat center;
padding:20px 0px 0px 15px;
}
and this
tbody td a[href="http://www.infectedfx.net"] {
margin: 0 auto;
height: 15px;
background: url(http://infectedfx.net/css/tables/ok.gif) no-repeat;
border-bottom: 0;
padding:3px 0px 0px 18px;
font-weight:bold;
color:#FF8601;
}
Damn, this is amazing what you can do with CSS nowadays ! (yes I'm a backend guy)

Tuesday, May 30, 2006

Google mysql performance tuning best pratice

Here is the talk on google video it is called "performance tuning best pratice for MySQL" the host is quite good, I learned quite a lot, and I loved the last performance hint (after almost 40 mins of talk):
Memory is cheapest, fastest, easiest way to better performance
Happy watching !

Have you seen valuable java html multi-languages syntax highlighting lately ?

If you did, great send me your links ! The only ones I found were written in PHP
  • C89
  • C
  • C++
  • C#
  • Java
  • Pascal
  • Perl
  • PHP
  • PL/I
  • Python
  • Ruby
  • SQL
  • VB
  • Geshi a bigger one with lots of supported language (some of the I don't even know the name)
  • Actionscript
  • ADA
  • Apache Log
  • AppleScript
  • ASM
  • ASP
  • AutoIT
  • Bash
  • BlitzBasic
  • C
  • C for Macs
  • C#
  • C++
  • CAD DCL
  • CadLisp
  • CFDG
  • ColdFusion
  • CSS
  • Delphi
  • DIV
  • DOS
  • Eiffel
  • Fortran
  • Fortran
  • FreeBasic
  • GML
  • Groovy
  • HTML
  • Inno
  • Java
  • Java 5
  • Javascript
  • Lisp
  • Lua
  • Microprocessor ASM
  • MySQL
  • NSIS
  • Objective C
  • OCaml
  • OpenOffice BASIC
  • Oracle 8 SQL
  • Pascal
  • Perl
  • PHP
  • Python
  • Q(uick)BASIC
  • robots.txt
  • Ruby
  • SAS
  • Scheme
  • SDLBasic
  • Smarty
  • SQL
  • T-SQL
  • TCL
  • VB.NET
  • Visual BASIC
  • Visual Fox Pro
  • Winbatch
  • XML
Happy searching ! :)

26 Entrepreneurial Proverbs

Marc did a great job on the O'Reilly Radar setting up this list of entrepreneurial proverbs each of them come with a description, sample etc. Checkout the comments too !

Starting
  • It's good to be king
  • Losing sucks
  • Building to flip is building to flop
  • Prudence becomes procrastination
  • Momentum builds on itself
  • Jump when you are more excited than afraid
The Idea
  • Pay attention to the idea that won't leave you alone
  • If you keep your secrets from the market, the market will keep its secrets from you
  • Immediate yes is immediate no
  • Build what you know
  • Give people what they need, not what they say they need
  • Your ideas will get better the more you know about business
People
  • Three is fine; two, divine
  • Work only with people you like and believe in
  • Work with people who like and believe in you, just naturally
  • Great things are made by people who share a passion, not by those who have been talked into one
Product
  • Cool ideas are useless without great needs
  • Build the simplest thing possible
  • Solve problems, not potential problems
  • Test everything with real people

Money
  • Start with nothing, and have nothing for as long as possible
  • The best investor pitches are plainspoken and entertaining (not in that order)
  • Never let on that you're keeping a secret
  • No means maybe and yes means maybe
  • For investors, the product is nothing
  • The best way to get investment is not to need it
Here is the one I like the most :

Build the simplest thing possible -- engineers have the hardest time with this, with not overdesigning for the need they're addressing. Make the simplest possible product that makes a significant dent in that need, and you'll do far better than you would addressing two or three needs at once. Simplicity leads to clarity in everything you do.
Here is a comment that's quite good too :

Stage 1: Fantastic idea
Stage 2: Fear
Stage 3: Actual (mediocre) product

Happy reading !

Marketing your company to your employees

Here is an article about "Marketing your company to your employees", here are the 10 incentives you'll find:
  1. Freedom
  2. Thinking BIG!
  3. Profitability
  4. Great People
  5. Treats
  6. Creativity
  7. Stability
  8. Fun
  9. Idealism
  10. Entrepreneurship
Happy reading !

8 steps to look at ESB with Celtix

Read this article at Weiqi Gao about Celtix called "Celtix 1.0: First Impression", here is what you'll get
  1. It says it's an ESB. But what is an ESB?
  2. What is an ESB
  3. What is Celtix
  4. What can Celtix do
  5. How does Celtix do it
  6. The development process
  7. What others are saying about ESB
  8. What others are saying about SOA
Happy reading !

9 new and *noteworthy* features in Eclipse 3.2

Chris Laffra has put a big presentation of all the new and noteworthy features that are coming in the Eclipse 3.2 platform.
There is lots of screenshots, you check them out in 2 formats: PDF and PowerPoint.
Here are the one I like the most (by order of appearance)
  1. Hierarchical Problem View (page 15)
  2. Fatal Error Grouping (page 22)
  3. CVS Quick Diff annotations (page 28)
  4. Supress warnings (page 40&61)
  5. Code Cleanup Wizard (page 58)
  6. Supress warnings (page 61) ... again
  7. Support for Categories (page 62)
  8. Folding for all Members (page 74)
  9. Type History (page 77)
Happy reading !

Monday, May 29, 2006

Taking a(n RSS) tour of ROME

Here is an article called "Taking a Tour of ROME" on the ROME RSS framework.
Here is what you'll read:
  • The Main Streets of ROME (packages)
  • Be Cautious of Uncertain Turns (exceptions)
  • Making Your Own Routes (extending)
  • Let Us Not Circle Over the Same Paths (trick)
  • No Need to Revisit Known Routes (jdom)
  • More Roads to be Explored (next)
Randy J. Ray is almost a tech poet :)

4 rss/atom frameworks on my shortlist

Here the 4 frameworks that went into in my shortlist:
Informa
The goal of the Informa Project is to provide a news aggregation library based on the Java Platform. The idea was born by the authors of two Java news reader applications (HotSheet and Risotto). We intended to unify the common parts into a library which can be used by any developer who needs to address those issues in their application.
RSSOwl
Applications that collect data from RSS-compliant sites are called RSS readers or "aggregators." RSSOwl is such an application. RSSOwl lets you gather, organize, update, and store information from any compliant source in a convenient, easy to use interface, save selected information in various formats for offline viewing and sharing, and much more. It's easy to configure, available in many many languages and the best of all: It's platform-independent.
RSSLib4J
RSSLib4J is a Java API for parsing and retrieving information from RSS feeds. It supports RSS version 0.9x, 1.0, and 2.0 with Dublin Core and Syndication namespaces.
Rome
ROME is an open source (Apache license) set of Atom/RSS Java utilities that make it easy to work in Java with most syndication formats:

RSS 0.90, RSS 0.91 Netscape, RSS 0.91 Userland, RSS 0.92, RSS 0.93, RSS 0.94, RSS 1.0, RSS 2.0, Atom 0.3, and Atom 1.0

ROME includes a set of parsers and generators for the various flavors of syndication feeds, as well as converters to convert from one format to another. The parsers can give you back Java objects that are either specific for the format you want to work with, or a generic normalized SyndFeed class that lets you work on with the data without bothering about the incoming or outgoing feed type.
Documentation winner is Rome.
Technology winner is Informa.

The accuracy of Alexa metrics *sucks*

Greg made an entry called "Accuracy of Alexa metrics", here is the conclusion:
Clearly, Alexa traffic charts should be used only with careful caveats. Only for large sites, over 10M page views per day, would I consider the data reliable. Otherwise, the tiny, biased sample easily can be manipulated.
Happy reading !

About cheap dedicated hosting

An interresting article from azedi summarizing what is support, it is called "Why cheap hosting services are so cheap"
Here is an excerpt :
The frosting with these guys came when they sent the form-email that the problem was fixed. I replied, asking if they could tell me what went wrong. The reply came the next day: look at your server logs.
Ok, now this is LAME !

Understanding Weak References

Here is a great article from Ethan Nicholas about Weak references, here is what you'll read:
  • Strong references
  • When strong references are too strong
  • Weak references
  • Reference queues
  • Different degrees of weakness
  • Soft references
  • Phantom references
Here is an excerpt :
A weak reference, simply put, is a reference that isn't strong enough to force an object to remain in memory. Weak references allow you to leverage the garbage collector's ability to determine reachability for you, so you don't have to do it yourself. You create a weak reference like this:
WeakReference weakWidget = new WeakReference(widget);

and then elsewhere in the code you can use weakWidget.get() to get the actual Widget object. Of course the weak reference isn't strong enough to prevent garbage collection, so you may find (if there are no strong references to the widget) that weakWidget.get() suddenly starts returning null.

Happy reading !

A Googly MySQL Cluster Talk

Here is the google talk : "A Googly MySQL Cluster Talk", it is about well Mysql Cluster ... Greg has an entry about this talk here.
It is about 1 hour long, and it's good !

Google zealots = Stockholm Syndrome ?

Read this article called "Company Loyalty = Stockholm Syndrome?"
Here is an excerpt:
I read an interesting monologue about company loyalty being very similar to Stockholm syndrome and I'm tending to agree. Back when I worked for Nortel, I ate, drank and slept Nortel blue
Happy reading !

Top 10 Lies of corporate partners

Read an article called "The Top Ten Lies of Corporate Partners" here is what you'll get:
  1. We want to do this for strategic reasons
  2. Our management really wants to do this
  3. We can move really fast
  4. Our legal department won’t be a problem
  5. (a) “The engineering team really likes it.” (b) “The marketing team really likes it
  6. We want to time the announcement of our partnership with the release of a new version of our product
  7. Our primary concern is whether you guys can scale
  8. We’d like your servers to host most of the code and functionality
  9. We’re forming a cross-functional team to ensure the success of this project
  10. I’m leaving soon, but I’ve found a great person to take over my role in this project.
Happy reading

Sunday, May 28, 2006

PMD vs Findbugs vs Hammurapi : we have a winner !

Rajs did a good comparaison on static error checking called "PMD vs Findbugs vs Hammurapi", he set up a table with the following criterias/infos:
  1. Website
  2. Version Number
  3. JDK Version
  4. Ease of Installation
  5. License
  6. Number of default rules available
  7. Ease of extensibility
  8. Works on Source code or Class files
  9. Command Line Interface
  10. Eclipse Plugins
  11. Ant Task
  12. Can filter the analysis for some rules?
  13. Severity of Errors
  14. Documentation
As #7 & #14 are mandatory, there is only one winner : pmd !

Happy debuging !