Open source reader

Saturday, May 13, 2006

YouTube bandwith usage/costs ... AMAZING !

While looking for successfull video hosting I found this techcrunch article about youtube
called Did YouTube Just Raise another $25 million?

YouTube is on a roll: 35 million videos are watched daily and they have 13 million unique monthly visitors. Bandwidth costs for all of these videos adds up: Forbes reports that YouTube’s bandwidth fees are approaching $1 million per month. Since YouTube is revenue-free (they just started placing ads on the site in March), they need more than $11.5 million in capital to keep up with growth.
When you did in the Forbes article here is what you can read
Big players who buy in bulk get discounted rates: Industry observers estimate that YouTube, which is streaming 40 million videos and 200 terabytes of data per day, may be paying between a tenth of a cent and half a cent per minute
Hey, we are on an open source oriented blog, so why this entry ?
Hold on ... here is why :
Gilles BianRosa, chief executive of BitTorrent-software maker Azureus, says peer-to-peer networking could save his company 95% in hosting costs when it launches a community-based video site in the next few months.
Let's do some maths now:

1M$ * 95% = 50 000$

Open souce saves 950 000$ per Month, we all know that kind of figures, but holly crap that's really big deal !

By the way download.com cut down their bandwith fees using just this kind of tools ... more than 2 years ago !

Friday, May 12, 2006

Have you already looked at the compierre ERP database schema ? No ? You should ...

Have you ever taken the time to look at the compierre ERP database schema ?
There is 465 tables , 15575 foreign keys and 107 views !
What amazes me the most -apart for the size of these scripts- is the fact that there is no documentation whatsoever in the database ...
How can the guys developping with sql can stand that ? I just don't get it ...

By the way the tables are generated via ER/Studio...

Google trends, datamining, geopolitics and funny bugs

I love data mining, here is a definition from wikipedia:
Data Mining can be defined as "The nontrivial extraction of implicit, previously unknown, and potentially useful information from data" and "The science of extracting useful information from large data sets or databases"
Now you that you all now the new google trends service that make a heavy use of data mining, you can find gold in it ...
When you look for sex, you get this ! (I bet you already did this search ...)

... be puzzled and think about the geopolitics behind :)

But hey, it might also be a google bug :)
Here is an excerpt of the FAQ:

The data Google Trends produces may contain inaccuracies for a number of reasons, including data-sampling issues and a variety of approximations that Trends makes use of. We hope you find this service interesting and entertaining, but you probably don't want to write your PhD dissertation based on this information
no kidding ! :)

Btw Steve Rubel made an entry "25 Things I Learned on Google Trends" that is more constructive than this one :)

Searching code samples using Koders within eclipse might be of a good help ...

I just found this site 'koders', it allows you to search into lots of open source projects, it can be java, php, jsp, c#, javascript, ...
It has also this kind of tools :

and this:


When you search, you get into pages like this, then you can browse the project folders ...

Try this service for yourself ...

Startups website graveyard

Rest In Peace ...
There more than 800 sites, and counting :(

Google SSO do not like adwords !

I posted an entry about the sleepycat usage for the google SSO.
I am a user of gmail , adwords , analytics and adsense.

I have the same email/password for all them ... except adwords !?
Adwords imposes to have at least one digit in it ! (yes my 'letter-only' password is very long)

Now that is weird for an SSO !

IRC logging bot

I posted an entry about my need for an irc logging bot, I found nothing that matched my needs, then found pircbot a nice java api for irc.
But hey, Paul mutton the creator of pircbot has already wrote one, it is called ... hum ... logbot :)
Next time, I'll do some more research before coding ...
Here is a sample of what it produces.

Thursday, May 11, 2006

Socialism & Webapp branding : not a good match !

While reading my daily Michael Arrington's techcrunch, I went into a user comment that struck me ...
Martin J was not convinced by Michael's analysis about CollectiveX vs LinkedIn here is his comment:

LinkedIn has something that CollectiveX doesn’t have - a very good name, branding wise. Business users who would use a social networking tool will be loathe to use something with a name that sounds, well - to be honest - socialist (”collective” - sounds like an old Soviet work farm).

At the many conferences I attend, I hear business users telling each other about “getting LinkedIn.” It’s got a monstrous amount of buzz in the business community.

I’ll check out CollectiveX but won’t use it; branding is an important thing to think about when trying to get traction for a new tool.

It may be simplistic, but Martin got a real point here ...

Building a Web App? Don’t Forget the Premium Plan!

While reading 37 signals blog I came across this entry presenting their experience with their dropsend service.

  • The Expensive Plan
  • Why is it Important?
  • 30% Increase in Revenue
  • So What’s the Lesson?
Here is a short excerpt of the entry:
What we learned from this is that people will pay for quality. Offer them something really good, and they will go for it. Our premium plan is aimed at businesses who have the need for a high-end solution, and of course, they are the ones who can afford it.
It may sound trivial, but it is nice to have some facts about it, if you want to go further, I went accross this entry too : "Will Your Web App Make Money?"

7 Reasons Why Web Apps Fail + *Procrastination* = 8 Reasons

Joshua Porter made a great entry making up these seven different reasons why the web app fail:
  1. Focus on social instead of personal.
  2. They solve too many problems, or try to.
  3. They’re about making someone other than the user happy.
  4. They sell it the wrong way.
  5. Not in it for the long haul.
  6. They show too much of what’s going on, and get gamed.
  7. They don’t have an underlying business strategy of improving people’s lives.
I think he missed the real item #1 which is a stopper, let's recreate this list:
  1. Procrastination : not doing the webapp, or not finishing it !
  2. Focus on social instead of personal.
  3. They solve too many problems, or try to.
  4. They’re about making someone other than the user happy.
  5. They sell it the wrong way.
  6. Not in it for the long haul.
  7. They show too much of what’s going on, and get gamed.
  8. They don’t have an underlying business strategy of improving people’s lives.
Paul graham has a nice entry about procrastination you might want to take a look at...
For techies item #3 is a killer too ...

Your *own* java irc bot in 10 java lines with PircBot !

I was looking for a method to have an html history on a specific irc channel ... I installed irssi went on pisg installed id, it worked fine, but I got only statistics ...

I thought that php had a very simple api for me to implement in a few minutes ... They have an irc api but nothing to get a message ... that's quite bad :)

Then I found pircbot hey, that's exactly what I needed ! Look at how simple it is ...

import org.jibble.pircbot.*;

public class MyBotMain {

public static void main(String[] args) throws Exception {
MyBot bot = new MyBot();
bot.connect("irc.freenode.net");
bot.joinChannel("#pircbot");
}

public void onMessage(String channel, String sender,
String login, String hostname, String message) {
if (message.equalsIgnoreCase("time")) {
String time = new java.util.Date().toString();
sendMessage(channel, sender + ": The time is now " + time);
}
}
}
One word: thanks guys ! I have now a simple tool that fits my need in record time !

Wednesday, May 10, 2006

Spring Acegi security for dummies

A step-by-step guide how to set up basic authentication and web request authorization using acegi and spring.

1. Getting Up and Running
2. Implementing Authentication
3. Authorization
4. Authentication thru JDBC

You can read this article on the amis blog

*Tutorial* Integrating Google maps / Appfuse / activeMQ / Mule

Here is a nice multipart tutorial from Stephen Pasco with 4 parts:

Part 1 – Installing the Enterprise Service Bus (ESB) [Using Mule & activeMQ]
Part 2 – Setting up the web client [Using AppFuse]
Part 3 - Integrate Google map functionality into the web client [Using Google maps]
Part 4 - Optional: Second client setup - receiving map events

Well done Stephen !

Tuesday, May 09, 2006

The Seven Deadly Sins of Outsourcing

The article presents 7 deadly sins of outsourcing:
  1. Feeble governance
  2. Overblown expectations
  3. Blindly banishing projects
  4. Dumbly disowning projects
  5. Bad assumptions
  6. Sloppy service levels
  7. End-game myopia
For every sin, the Vice & Vertue are presented, nice article.

A simple Mysql replication mechanism within the jdbc driver

Found here a solution within the mysql jdbc driver to do round robin ...
Basically here what is provided using the com.mysql.jdbc.ReplicationDriver.

Properties props = new Properties();

// We want this for failover on the slaves
props.put("autoReconnect", "true");

// We want to load balance between the slaves
props.put("roundRobinLoadBalance", "true");

props.put("user", "foo");
props.put("password", "bar");

Connection conn = driver.connect("jdbc:mysql://master,slave1,slave2,slave3/test", props);
A little something from you in order to use this method, declare when you are reading via:
 conn.setReadOnly(true);
or writing via :
        conn.setReadOnly(false);
conn.setAutoCommit(false);

Simple enough...

Monday, May 08, 2006

What ? Quering your collections with *SQL* ?! Yes sir, SQL !

Have you large collections you wish you could query easily ? You should look at JoSQL that
provides a sql like query language easily embeddable...
    SELECT *
FROM java.io.File
WHERE
name like '%.html'
AND parentFile.lastModified
BETWEEN toDate('01-12-2004') AND toDate('31-12-2004')
AND length > 2000
AND parentFile.name = "local"
Not convinced ? The developpers have set up a list of potential uses such as
  • Finding Files
  • Augmenting Google API Search Results
  • Trimming Exception traces to items you are interested in
  • A Rule-based Event dispatcher
Enjoy !