svnsync: PROPFIND of '....': Server certificate verification failed: issuer is not trusted

3 comments
One of my friends add a SSL in his SVN, and I got Server certificate verification failed: issuer is not trusted
# svnsync --non-interactive sync
svnsync: PROPFIND request failed on '.....'
svnsync: PROPFIND of '....': Server certificate verification failed: issuer is not trusted ()
To fix, run svnsync without "--non-interactive", that will prompt you to store the cert (p)ermanently in the .subversion directory. Example:
# svnsync sync 
Error validating server certificate for '........':
 - The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually!
Certificate information:
 - Hostname: .....
 - Valid: from ....
 - Issuer: .....
 - Fingerprint:
(R)eject, accept (t)emporarily or accept (p)ermanently? p
Authentication realm: <....> ....

Very nice wallpaper

0 comments
Refreshment by chachahavana.
Blogged with the Flock Browser

Remove home or root from sharepoint menu

0 comments
Simple trick to hide root menu from sharepoint in the "asp:SiteMapDataSource" add "ShowStartingNode="false""
like in:

Facking Redhat with Fedora

0 comments
Edit /etc/redhat-release to read redhat-4 or redhat-5

Mark Schneider's SharePoint Taxonomy and Governance Blog

0 comments
Continuing to do what you’ve always done while expecting different results is a form of organizational insanity
Schneider's SharePoint Taxonomy and Governance Blog
Blogged with the Flock Browser

Searchlicious - where search meet delicious - improving search quality

0 comments
Looking back in the internet history, during the altavista peak, yahoo was one the most trusted sources of search that hold them back also, for any submited url you will have a human adding some metadata and promoting the interesting ones to the top. However with the fast grow of internet that became unmanageable. Along came Google with their fancy algorithms, they also had a problem for each, new algorithm, people were find ways to shortcut it. To increase the confiability in the search results it is proved that human can do a good job, also shortcut most of the algorithms. Several search engines try to create comunities around their search tool to improve the results quality, you could even get paid for it. However the community attraction for it was not there. One of the solutions could be use the social bookmarks to weight the search results. Most of people bookmark items that they like, or they want to share with their peers. There are several social-bookmarks/multiuse-tools where users can weight in and it is being heavily used like: Delicious, Google Bookmarks, Google Reader, Stumble upon, etc. Why not combine the search results with the social bookmarks? The open APIs from Yahoo and Google could facilitate this process, in a cascading process:
  1. Send the search query to a search engine
  2. Get the results and send to a social bookmark to collect the bookmarks
  3. Order the results by the number of bookmars
This Yahoo Pipe is a example of this theory http://pipes.yahoo.com/pipes/pipe.info?_id=6ad95cc4768c6e71c26b3b2fc52cf594

outlook 2007 - personal folders - this information service has not been configured

3 comments
Some time ago I had a strange problem, my outlook didn't stop creating folders. And was giving this error "personal folders" "this information service has not been configured" tons of times. My solution was to reset the outlook profile. To do that I rename the registry in: HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook to: HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook2 During the restart it asked to join to exchange and I had to map the PSTs again, but that was minor comparing to what happened. This is the second day, and it didn't happen again, keep your fingers crossed.

delicious the movie

1 comments

I really like how they present the new delicious interface

href and javascript function()

0 comments
Today was a nice challenge day, as you all well know javascript is not logic, is pure imagination. I had problems in putting a javascript code into the href instead of using onclick because sometimes sharepoint overwrite it, just because it doesn't make sense. Here is why: you need to put brackets everywhere.
javascript:(function(){alert('test')})()
So in real life it will be:
 alert 

FCKeditor, JQuery, PHP and MySQL

1 comments
This is a quick dirty tutorial in how to integrate FCKeditor, JQuery and PHP, I'm leaving MySQL outside because it will be simple to implement and I would like to keep the tutorial simple as possible. For this tutorial you will need to have PHP-Json installed, FCKeditor and JQuery.


At the time the document load you will need to create a FCKeditor API instance and store in a global variable oEditor
// global variable for FCKeditor API
var oEditor;

$(window).load(function () {
  oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ;
});
This javascript function will be responsible to query the PHP "text_load.php", and oEditor.SetHTML will store the text receive via jason into the FCKeditor
function text_load(){
  $.getJSON("text_load.php,
  function(data){
     oEditor.SetHTML(data.text);
     $("#editor").show();
  });
}
To save the text you should call this function, the oEditor.GetXHTML will retrieve the text in the FCKeditor and store in the variable text.
function text_save(){
var text = oEditor.GetXHTML();
$.getJSON("text_save.php?text="+ text,
function(data){
 $("#editor").hide();
});
}
The HTML code is very simple, the Load href will trigger the text_load function and load the text into the FCKeditor. The Save href will trigger the text_save() that will be responsible to send the text to the php page to save.

Load

Here is the load and save page in PHP that will interact with the Ajax/Json javascript. The trick is use urldecode and urlencode to load and save from the database. This is the text_load.php to load the text and send to the javascript
$output = array();

mysql code
...
...

// the rows will be stored
// in the $row[] variable

$output['text']= urldecode($row['text']);
echo json_encode($output);

exit;
This is the text_save.php to get the text from javascript and save in the mysql table. The text from FCKeditor will be stored in $text.
// get the query string
$text = urlencode($_REQUEST["text"]);

mysql code
...
...

Cisco Wireless - Validate server certificate

2 comments
It is a pain to uncheck the "Validate server certificate" box everytime. Seems easy to add a server cert to Cisco wireless network (ie ACS), from Cisco ACS This guide describes certificates created with a Microsoft CA and also contains steps for when you use a self-signing certificate, which is supported as of Cisco Secure Access Control Server (ACS) 3.3. The use of a self-signing certificate streamlines the initial Protected Extensible Authentication Protocol (PEAP) installation considerably since no external CA is required. But, at this time, the default expiration period of the self-signing certificate is only one year and cannot be changed. This is standard when it comes to server certificates. But since the self-signed certificate also acts as the root CA certificate, this can mean the installation of the new certificate on every client every year when you use the Microsoft supplicant unless you do not check the Validate Server Certificate option. Cisco recommends that you use self-signing certificates only as a temporary measure until you can use a traditional CA. If you wish to use a self-signing certificate, proceed to the self-signing certificates section.

Opera Mini - Browser for Blackberry and smartphones

0 comments
if you are looking for a good browser for your smart phone or blackberry take a look into Opera Mini

Toribash video DAT clan

0 comments
This is a very nice video from the DAT clan

Firebug - Javascript debugging

0 comments
One of the best tools to debug javascript code AlternateIdea: An In-depth Look At The Future of Javascript Debugging With Firebug

Blogger code highlighter

0 comments
To copy and paste source code into blogger is a pain, so some people developed techniques for that. It is called syntax-highlighter
"The idea behind SyntaxHighlighter is to allow insertion of colored code snippets on a web page without relying on any server side scripts."
It highlight source code in the following languages: C++, C#, CSS, Delphi, Pascal, Java, Javascript, PHP, Python , Ruby, Sql, VB,XML/HTML
Check this out

jquery php mysql and datepicker

1 comments
Datepicker (http://docs.jquery.com/UI/Datepicker and http://marcgrabanski.com/code/ui-datepicker/) is a very good library for jquery. I had some problems to make it work with PHP and MySQL. The main reason was the beforeShowDay, for all events in datepicker it load the beforeShowDay +/- 36 times, one for each day of the month plus few days after and before. To avoid to have a ajax call every time, you need to create a cache in javascript. There are several patterns to do cache I will do one very simple as example. You could also use the inarray jquery function, but I decide to you the loop to be more clear in the example I will not cover: Just the basic concepts. The main trick in this are $.ajax (asynch:false and dataType: "json") and cache the days, you can cache a batch of days per month or per year. I will add the comments and everything latter, just quick notes:
  • for all events in datepicker it calls dateLoading (beforeShowDay: dateLoading)
  • at the time you select a day it calls dateSelected (onSelect: dateSelected)
Libraries you need to load: The javscript in the header section
// cache the days and months
var cached_days = [];
var cached_months = [];
$(document).ready(function() {
 $('#dateinput').datepicker({ 
  beforeShowDay: dateLoading,
  onSelect: dateSelected,
  dateFormat: 'yy-mm-dd'
 });
});

function dateLoading(date) { 
 var year_month = ""+ (date.getFullYear()) +"-"+ (date.getMonth()+1) +"";
 var year_month_day = ""+ year_month+"-"+ date.getDate()+"";
 var opts = "";
 var i = 0;
 var ret = false;
 i = 0;
 ret = false;
 
 
 for (i in cached_months) {
  if (cached_months[i] == year_month){
   // if found the month in the cache
   ret = true;
   break;
  };
 };
 
 // check if the month was not caached 
 if (ret == false){
  //  load the month via .ajax
  opts= "month="+ (date.getMonth()+1);
  opts=opts +"&year="+ (date.getFullYear());
  // we will use the "async: false" because if we use async call, the datapickr will wait for the data to be loaded
  $.ajax({
   url: "return_days.php",
   data: opts,
   dataType: "json",
   async: false,
   success: function(data){
    // add the month to the cache
    cached_months[cached_months.length]= year_month ;
    $.each(data.days, function(i, day){
     cached_days[cached_days.length]= year_month +"-"+ day.day +"";
    });
   }
  });
 };
 i = 0;
 ret = false;
 
 // check if date from datapicker is in the cache otherwise return false
 // the .ajax returns only days that exists
 for (i in cached_days) {
  if (year_month_day == cached_days[i]){
   ret = true;
  };
 };
 return [ret, ''];
};

// trigger when the data picker day is selected
// get the data information: images and binaries and fill the id: images and downloads
function dateSelected(date) {
opts = "date="+ date;
 $("#images").html("");
 $.getJSON(
  "return_images.php",
  opts,
  function(data){
   $("#images").append("

"); } ); };
The html body

go to january 2008

The php code to load the days (return_days.php), you can use mysql to populate the $output[]
$output = array();
// it need to return something otherwise the foreach will break in the .ajax side
$output['days'][] = array('day'  => 0);

if ( ($_REQUEST["month"]==1) and ($_REQUEST["year"]==2008) ){
$output['days'][] = array('day'=>2);
$output['days'][] = array('day'=>4);
$output['days'][] = array('day'=>6);
$output['days'][] = array('day'=>8);
$output['days'][] = array('day'=>10);
}
echo json_encode($output);
The php code to load the images (return_images.php), again you can use mysql to populate the $output[]
$output = array();
switch ($_REQUEST["date"]) {
case "2008-01-02":
$output['images'] = "http://farm1.static.flickr.com/214/505956789_d218caee60_t.jpg";
break;
case "2008-01-04":
$output['images'] = "http://us.i1.yimg.com/us.yimg.com/i/ww/news/2007/04/23/24hours.png";
break;
case "2008-01-06":
$output['images'] = "http://farm1.static.flickr.com/149/409748300_69d05e4ff5_m.jpg";
break;
case "2008-01-08":
$output['images'] = "http://farm1.static.flickr.com/21/98559538_e8d7aa99f2_o.jpg";
break;
case "2008-01-10":
$output['images'] = "http://farm1.static.flickr.com/197/443158364_b615c1ffd5_m.jpg";
break;
}
echo json_encode($output);
exit;

javascript "has no properties"

0 comments
Few things are not clear in javascript, it tends to be a hybrid language that converts variables at its own. To avoid the "has no properties" errors in javascript you can try:
a=[];
alert(typeof(a["2008"]) == 'undefined');
it will return true have fun!

SED and AWK missing in Windows

0 comments
There are a lot of command prompt tools missing in Windows comparing to Linux, specially AWK and SED, I hope they were native instead of installing tools like cygwin. I really miss SED and AWK in windows. AWK tutorial - http://www.gnu.org/software/gawk/manual/gawk.html SED tutorial - http://www.grymoire.com/Unix/Sed.html

dd-wrt mini vs standard

0 comments
One of the good reasons to have your appliance running Linux is to hack it, one of good examples is the WRT54G from Linksys. You can download a good firmware like DD-WRT and do whatever you want even cook eggs (see overclocking heating in the dd-wrt wiki). The thing that attract me in the dd-wrt is the combination of a good web interface and a prompt. The Mini vs Standard firmwares, mind you that you have to install the mini first and then upgrade to std, here is the link: http://www.dd-wrt.com/wiki/index.php/What_is_%22DD-WRT%22%3F#File_Versions

Seth Godin is one of...

0 comments
Seth Godin is one of the people in the market that has the notion of the new market, how to win in a market that is full of the same thing.

Toribash

1 comments
You can download from here: http://www.toribash.com/

Suse is bad

0 comments
We decided to try Suse because one of the Senior Directors use to work with Novell in 1932. But it is a bad Linux flavor, one example of a thousands: Man page, if you use the man page it give you a error even for built in commands like "man cp", it should come out of box without you have to do anything
iconv: conversion from utf8 unsupportediconv: try 'iconv -l' to get the list of supported encodings
See how to solve it here http://forum.nedlinux.nl/viewtopic.php?id=26602 Packages, there is not a lot of RPM available in the open source community for Suse, let's pick a famous one "GD" or "Imagemagick", there is no RPM for them, I know linux fans that we like to compile software, give me a break, or you can hack and use opensuse with rug. My personal choice are (not in this order):
  • Fedora
  • RedHat
  • Ubuntu
  • Knoppix

Samba

0 comments
Every time I have to do something in Samba, I have to search the internet for hours, always have problem with Samba, most of it, I don't use Samba everyday and it goes to my /tmp folder in my brain RAM, overtime it get deleted, to not forget ..... list the servers you have in your network
smbclient -L servername --user='domain\username'
to mount a server, it will ask your password afterwards
mount -t smbfs -o username='domain\username' //server/folder mount
Samba by example http://www.samba.org/samba/docs/man/Samba-Guide/ Samba howto http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/