Videos del modelo de Ising 2

En la entrada anterior del modelo de Ising una persona se dio cuenta de unos fallos que afectaban a las condiciones de contorno ( gracias moren), una vez corregidas aquí presento un nuevo vídeo pero esta vez de tamaño 400x400, obviamente no se ve como alcanza el equilibrio en 50 segundos pero está bastante bien y se ve como se forman agrupaciones de ambos estados.

Videos del modelo de Ising

De momento unos vídeos del modelo de Ising que estoy programando, ya haré una entrada más extensa.



en ésta inicialmente algunos espines tienen un valor -1 o 1 ( azul o blanco) de forma aleatoria , se elige una temperatura por debajo de la crítica y se ve como se alcanza el equilibrio.



Inicialmente algunos espines tienen un valor -1 o 1 ( azul o blanco) de forma aleatoria , se elige una temperatura por encima de la crítica y se ve como se alcanza el equilibrio.



En este caso se escoge una configuración inicial en el que hay las misma cantidad de espines con valor -1 que con valor 1, la temperatura está por debajo del valor crítico.



En este caso se escoge una configuración inicial en el que hay las misma cantidad de espines con valor -1 que con valor 1, la temperatura está por encima del valor crítico.

Ideas locas de una tarde de Domingo

Se me están ocurriendo unas ideas más locas y tontaas:

Una ONG o asociación que lleve la cultura científica a lo largo de los pueblos y que a través de varias vidas de sus miembros , las personas asuman la ciencia como algo que forma parte de sus vidas , como ha sido la religión las tradiciones etc...

Otra, que se creen grupos de investigación financiados por asociaciones locales, por ejemplo de vecinos.


ains que cosas más fantásticas se me ocurren.

Actualización :

Mirando por google... uhmmm http://cienciajuvenil.galeon.com/ puede ser interesante

Gracias , MAMA!

Tal día como hoy , allá empezando la década de los 60 , en un pueblo perdido de la Alpujarra, nació una persona con la fuerza de una leona. Una mujer genial, mi madre.


Época dura para España , desde muy pequeña tuvo que dejar los estudios para sacar adelante a su familia, rompiendo así sus sueño de aprender cuanto le podía ofrecerle el mundo, se puso a trabajar en el campo y en las tareas del hogar. Mas , en vez de hundirse, desarrolló un espíritu luchador.


Pronto, con sus hermosos ojos verde sedujo a un apuesto orgiveño, pasaron años de noviazgo, noches de parrandas , fiestas, idas y venidas . Amor, tristeza, felicidad, pasión y al final formaron una familia.


Tuvieron dos hijos, hijos que tal vez le cueste agradecer todo lo que ha dado, los sacrificios que no han podido ver. Los sudores y lágrimas por darles un hogar y una educación que le fue negada. Luchó por ellos como una leona, con garras y dientes. Y, entre , momentos duros, y momentos alegres, los sacó adelante. Les enseñó , tal vez sin darse cuenta, una de las mejores armas para defenderse en el mundo. La constancia y el trabajo duro.


Por eso, espero, que con estas palabras (Pocas son para lo mucho que hay que decir de ella), llegue desde los más profundo de mi alma este TE QUIERO que empequeñece las galaxias más grandes, este GRACIAS por hacerme como soy y este FELICIDADES por seguir tan guapa a pesar de los disgustos que te damos.

FELIZ CUMPLEAÑOS MAMA!




El karma al desnudo.Presentación

Y con todos ustedes, el más esperado, el más aclamado,criticado,amado,odiao e incluso ignoradoooooooo.......
El cálculo del karma del menéame:




<?

include('../config.php');

include(mnminclude.'user.php');

include(mnminclude.'annotation.php');



header("Content-Type: text/plain");



// Delete old logs

$db->query("delete from logs where log_type in ('comment_new','login_failed') and log_date < date_sub(now(), interval 24 hour)");

$db->query("delete from logs where log_date < date_sub(now(), interval 60 day)");



// Delete not validated users

$db->query("delete from users where user_date < date_sub(now(), interval 24 hour) and user_date > date_sub(now(), interval 1 week) and user_validated_date is null");



// Delete old bad links

$db->query("delete from links where link_status='discard' and link_date < date_sub(now(), interval 20 minute) and link_date > date_sub(now(), interval 1 week)and link_votes = 0");



// Delete old conversations

$db->query("delete from conversations where conversation_time < date_sub(now(), interval 30 day)");



// Delete old annotations

$db->query("delete from annotations where annotation_time < date_sub(now(), interval 90 day)");





$db->barrier();

// Delete email, names and url of invalidated users after three months

$dbusers = $db->get_col("select SQL_NO_CACHE user_id from users where user_email not like '%@disabled' && user_level = 'disabled' and user_modification < date_sub(now(), interval 3 month)");

if ($dbusers) {

foreach ($dbusers as $id) {

$user = new User;

$user->id = $id;

$user->read();

if ($user->level == 'disabled') { // Double check

$user->disable();

echo "Disabling: $id - $user->username\n";

}

}

}



// Lower karma of disabled users

$db->query("update users set user_karma = 6 where user_level='disabled' and user_karma > 6 ");



$karma_base=6;

$karma_base_max=9; // If not penalised, older users can get up to this value as base for the calculus

$min_karma=1;

$max_karma=20;

$now = "'".$db->get_var("select now()")."'";

$history_from = "date_sub($now, interval 48 hour)";

$ignored_nonpublished = "date_sub($now, interval 12 hour)";

$points_per_published = 2;

$points_given = 8;

$comment_votes = 5;

$post_votes = 1;



// Following lines are for negative points given to links

// It takes in account just votes during 24 hours

$points_discarded = 0.10;

$discarded_history_from = "date_sub($now, interval 24 hour)";

$ignored_nondiscarded = "date_sub($now, interval 6 hour)";



// The formula to calculate the decreasing vote points

$sql_points_calc = 'sum((unix_timestamp(link_date) - unix_timestamp(vote_date))/(unix_timestamp(link_date) - unix_timestamp(link_sent_date))) as points';







$db->barrier();

$published_links = intval($db->get_var("SELECT SQL_NO_CACHE count(*) from links where link_status = 'published' and link_date > $history_from"));



$sum=0; $i=0;



$max_avg_positive_received = (int) $db->get_var("select avg(link_karma) from links where link_status='published' and link_date > $history_from");

$max_avg_positive_received = max(intval($max_avg_positive_received * 0.75), 1);



$max_avg_negative_received = (int) $db->get_var("select avg(link_karma) from links where link_karma < -20 and link_date > $history_from");

$max_avg_negative_received = min(intval($max_avg_negative_received), -20);







// "Unfair" negative votes max

//$max_negative_comment_votes = (int) $db->get_var("select SQL_NO_CACHE count(*) as count from votes, comments where vote_type='comments' and vote_date > date_sub(now(), interval 30 hour) and vote_value < 0 and comment_id = vote_link_id and ((comment_karma-vote_value)/(comment_votes-1)) > 0 group by vote_user_id order by count desc limit 1");

//$max_negative_comment_votes = max($max_negative_comment_votes, 40);



print "Number of published links in period: $published_links\n";

print "Pos (top 10 average): $max_avg_positive_received, Neg: $max_avg_negative_received\n";

//print "Max unfair comment votes: $max_negative_comment_votes\n";





/////////////////////////







echo "Starting...\n";

$no_calculated = 0;

$calculated = 0;



// We use mysql functions directly because EZDB cannot hold all IDs in memory and the select fails miserably with about 40.000 users.



$users = "SELECT SQL_NO_CACHE user_id from users where user_level != 'disabled' order by user_modification desc";

//$users = "SELECT SQL_NO_CACHE distinct user_id from users, votes where vote_type in ('comments', 'links') and vote_date > $history_from and vote_user_id = user_id and user_level != 'disabled' order by user_id desc";

//$users = "SELECT SQL_NO_CACHE distinct user_id from users, links where user_level != 'disabled' and link_author=user_id and link_date > date_sub(now(), interval 36 hour) order by user_id desc";

$result = mysql_query($users, $db->dbh) or die('Query failed: ' . mysql_error());

while ($dbuser = mysql_fetch_object($result)) {

$user = new User;

$user->id=$dbuser->user_id;

$user->read();

printf ("%07d %s\n", $user->id, $user->username);



$total_comments = $sent_links = $karma0 = $karma1 = $karma2 = $karma3 = $karma4 = $karma5 = $karma6 = $karma7 = $penalized = 0;

$output = '';



//Base karma for the user

$first_published = $db->get_var("select SQL_NO_CACHE UNIX_TIMESTAMP(min(link_date)) from links where link_author = $user->id and link_status='published';");

if ($first_published > 0) {

$karma_base_user = min($karma_base_max, $karma_base + ($karma_base_max - $karma_base) * (time()-$first_published)/(86400*365*2));

$karma_base_user = round($karma_base_user, 2);

} else {

$karma_base_user = $karma_base;

}



$n = $db->get_var("SELECT SQL_NO_CACHE count(*) FROM votes WHERE vote_type in ('links', 'comments', 'posts') and vote_user_id = $user->id and vote_date > $history_from");

$n_events = $db->get_var("select SQL_NO_CACHE count(*) from logs where log_date > $history_from and log_user_id=$user->id");

if ($n > 3 || $n_events > 0) {

$output .= _('Eventos').': '._('votos').': '. "$n, logs: $n_events\n";



// Count the number of published links during the last period

//$n_published = (int) $db->get_var("select SQL_NO_CACHE count(*) from links where link_author = $user->id and link_date > $history_from and link_status = 'published'");



// Test with published during last three days

$n_published = (int) $db->get_var("select SQL_NO_CACHE count(*) from links where link_author = $user->id and link_date > date_sub($now, interval 3 day) and link_status = 'published'");



$karma0 = $points_per_published * $n_published;

// Max: 4 published

$karma0 = min($points_per_published * 4, $karma0);

if ($karma0 > 0) {

$output .= _('Publicadas').": $n_published karma: $karma0\n";

}

$calculated++;



/////////////////////

////// Calculates karma received from votes to links

/////////////////////



$total_user_links=intval($db->get_var("SELECT SQL_NO_CACHE count(distinct link_id) FROM links, votes WHERE link_author = $user->id and vote_type='links' and vote_link_id = link_id and vote_date > date_sub(now(), interval 1 year)"));



if ($total_user_links > 0) {

$positive_karma_received = $negative_karma_received = 0;

$karmas = $db->get_col("SELECT SQL_NO_CACHE link_karma FROM links WHERE link_author = $user->id and link_date > $history_from and link_karma > 0 and link_status in ('published', 'queued')");

if ($karmas) {

foreach ($karmas as $k) {

$positive_karma_received += pow(min(1,$k/$max_avg_positive_received), 2) * 4;

}

}

$karmas = $db->get_col("SELECT SQL_NO_CACHE link_karma FROM links WHERE link_author = $user->id and link_date > $history_from and link_karma < 0");

if ($karmas && $total_user_links > 1) { // don't penalize to users who sent just one link

foreach ($karmas as $k) {

$negative_karma_received += pow(min(1,$k/$max_avg_negative_received), 2) * 3;

}

}

$karma_received = $positive_karma_received - $negative_karma_received;

$karma1 = min(12, $karma_received);

$karma1 = max(-12, $karma1);



// Check if the user has links tagged as abuse

$link_abuse = (int) $db->get_var("select SQL_NO_CACHE count(*) from links where link_author = $user->id and link_date > $history_from and link_status = 'abuse'");

if ($link_abuse > 0) {

$pun = 3 * $link_abuse;

$karma1 = max(-12, $karma1 - $pun);

$output .= _('Penalizado por enlaces que violan las reglas')." ($link_abuse): $pun\n";

$penalized += 4;

}





$output .= _('Karma recibido en envíos propios').", karma1: ";

$output .= sprintf("%4.2f\n", $karma1);

}



///////////////////////////////

/////// Karma for votes to links

//////////////////////////////



$user_votes = $db->get_row("SELECT SQL_NO_CACHE count(*) as count, $sql_points_calc FROM votes,links WHERE vote_type='links' and vote_user_id = $user->id and link_date > $history_from and vote_value > 0 AND link_id = vote_link_id AND link_status = 'published' and vote_date < link_date and link_author != $user->id");

$published_points = (int) $user_votes->points;

$published_given = (int) $user_votes->count;

if ($user_votes->points > 0)

$published_average = $published_points/$published_given;

else

$published_average = 0;



$nopublished_given = (int) $db->get_var("SELECT SQL_NO_CACHE count(*) FROM votes,links WHERE vote_type='links' and vote_user_id = $user->id and vote_date > $history_from and vote_date < $ignored_nonpublished and vote_value > 0 AND link_id = vote_link_id AND link_status != 'published' and link_author != $user->id");



$discarded_given = (int) $db->get_var("SELECT SQL_NO_CACHE count(*) FROM votes,links WHERE vote_type='links' and vote_user_id = $user->id and vote_date > $discarded_history_from and vote_value > 0 AND link_id = vote_link_id AND link_status in ('discard', 'autodiscard') and link_author != $user->id");



$abuse_given = (int) $db->get_var("SELECT SQL_NO_CACHE count(*) FROM votes,links WHERE vote_type='links' and vote_user_id = $user->id and vote_date > $history_from and vote_value > 0 AND link_id = vote_link_id AND link_status in ('abuse') and link_author != $user->id");



$karma2 = min($points_given, $points_given * pow($published_average, 2) * ($published_points/($published_links/5) - ($nopublished_given/$published_links)/10) - 0.1 * $discarded_given);



if ($abuse_given > 0) {

$pun = $abuse_given * 1;

$karma2 -= $pun;

$output .= _('Descuento por votar a enlaces que violan las reglas')." ($abuse_given): $pun\n";

$penalized += 2;

}



if ($karma2 > 0) {

// Count the comments of the users during the analised period

$total_comments = intval($db->get_var("select SQL_NO_CACHE count(*) from comments where comment_user_id = $user->id and comment_date > $history_from"));

// Count the numbers of link sent by the user in the last 60 days

$sent_links = intval($db->get_var("select SQL_NO_CACHE count(*) from links where link_author = $user->id and link_date > date_sub(now(), interval 30 day) and link_status != 'discard' and link_status != 'abuse' and link_karma > 50 "));



}



//echo "Published giveN: $published_given Published links: $published_links No published: $nopublished_given Comments: $total_comments Links: $sent_links Average: $published_average\n";

// Bot and karmawhoring warning!!!

if ($karma2 > 0 && $published_given > $published_links/10 && $published_given > $nopublished_given*1.5 &&

($published_average < 0.50 ||

($total_comments < $published_given/2 && $sent_links == 0))

) {

$penalized += 1;

if ($total_comments == 0 && $sent_links == 0) {

$output .= _('Coeficiente de votos muy bajos, posible bot, penalizado');

$punish_coef = 5;

} else {

$output .= _('Coeficiente de votos muy bajos, ¿"karmawhore"?, penalizado');

$punish_coef = 1;

}

$punishment = -$published_average * $punish_coef;

$output .= sprintf(" karma2 = %4.2f -> %4.2f\n", $karma2, $punishment);

$karma2 = $punishment;

} elseif ($karma2 > 0 && ($sent_links == 0 || ($published_given > $nopublished_given && $published_points > $published_links/3 && $published_given > $published_links/5))) {

// Limit karma to users that does not send any link

// or "moderated" karma whores

$karma2 = $karma2 * 0.5;

}





if ($karma2 != 0) {

$output .= _('Votos: a publicadas').": $published_given, "._('no publicadas').": $nopublished_given, "._('descartadas').": $discarded_given\n";

$output .= sprintf(_('Karma por votos').", karma2: %4.2f\n", $karma2);

}





$negative_discarded = (int) $db->get_var("SELECT SQL_NO_CACHE count(*) FROM votes,links WHERE vote_type='links' and vote_user_id = $user->id and vote_date > $discarded_history_from and vote_value < 0 AND link_id = vote_link_id AND link_status in ('discard', 'autodiscard', 'abuse') and TIMESTAMPDIFF(MINUTE, link_date, vote_date) < 15 ");



$negative_no_discarded = (int) $db->get_var("SELECT SQL_NO_CACHE count(*) FROM votes,links WHERE vote_type='links' and vote_user_id = $user->id and vote_date > $discarded_history_from and vote_date < $ignored_nondiscarded and vote_value < 0 AND link_id = vote_link_id AND link_status not in ('discard', 'autodiscard', 'abuse') and link_negatives < link_votes/15");



if ($negative_no_discarded > $negative_discarded/4) { // To fight against karma whores and bots

$karma3 = $points_discarded * ($negative_discarded - $negative_no_discarded);

}



if ($karma3 != 0) {

$output .= _('Votos negativos a descartadas').": $negative_discarded, "._('no descartadas').": $negative_no_discarded, karma3: ";

$output .= sprintf("%4.2f\n", $karma3);

}



// Check the user don't abuse voting only negative

$max_allowed_negatives = round(($nopublished_given + $published_given + $negative_discarded) * $user->karma / 10);

if($negative_no_discarded > 10 && $negative_no_discarded > $max_allowed_negatives) {

$punishment = min(1+$negative_no_discarded/$max_allowed_negatives, 4);

$karma3 -= $punishment;

$penalized += 1;

$output .= _('Exceso de votos negativos a enlaces')." ($negative_no_discarded > $max_allowed_negatives), "._('penalización').": $punishment, karma3: ";

$output .= sprintf("%4.2f\n", $karma3);

}



//////////////////////////////////////

/////// Karma for comments' votes

//////////////////////////////////////

$comments_count = (int) $db->get_var("SELECT SQL_NO_CACHE count(*) from comments where comment_user_id = $user->id and comment_date > $history_from and comment_votes > 1");

if ($comments_count > 0) {

$comments_total = (int) $db->get_var("SELECT SQL_NO_CACHE count(*) from comments where comment_user_id = $user->id and comment_date > $history_from");

$comment_votes_count = (int) $db->get_var("SELECT SQL_NO_CACHE count(*) from votes, comments where comment_user_id = $user->id and comment_date > $history_from and comment_votes > 1 and vote_type='comments' and vote_link_id = comment_id and vote_date > $history_from and vote_user_id != $user->id");

// It calculates a coefficient for the karma,

// if number of distinct votes comments >= 10 -> coef = 1, if comments = 1 -> coef = 0.1

$distinct_votes_count = (int) $db->get_var("SELECT SQL_NO_CACHE count(distinct comment_id) from votes, comments where comment_user_id = $user->id and comment_date > $history_from and comment_votes > 1 and vote_type='comments' and vote_link_id = comment_id and vote_user_id != $user->id");

$distinct_user_votes_count = (int) $db->get_var("SELECT SQL_NO_CACHE count(distinct vote_user_id) from votes, comments where comment_user_id = $user->id and comment_date > $history_from and comment_votes > 1 and vote_type='comments' and vote_link_id = comment_id and vote_user_id != $user->id");



$comment_coeff = min(max(0.2, $comments_count/$comments_total), 1) * min($distinct_votes_count/$comments_count, 1) * $distinct_user_votes_count/$comment_votes_count;



$comment_votes_sum = (int) $db->get_var("SELECT SQL_NO_CACHE sum(vote_value) from votes, comments where comment_user_id = $user->id and comment_date > $history_from and comment_votes > 1 and vote_type='comments' and vote_link_id = comment_id and vote_date > $history_from and vote_user_id != $user->id");

//echo "Comment new coef: $comment_coeff ($distinct_votes_count, $distinct_user_votes_count, $comments_count, $comment_votes_count, $comment_votes_sum)\n";

$karma4 = max(-$comment_votes, min($comment_votes_sum / ($comment_votes_count*10) * $comment_votes, $comment_votes)) * $comment_coeff ;

}



// Limit karma to users that does not send links and does not vote

if ( $karma4 > 0 && $karma1 == 0 && $karma2 == 0 && $karma3 == 0 ) $karma4 = $karma4 * 0.5;

if ($karma4 != 0) {

$output .= _('Votos a comentarios contabilizados').": $comment_votes_count (karma: $comment_votes_sum), karma4: ";

$output .= sprintf("%4.2f\n", $karma4);

}



// Penalize to unfair negative comments' votes

$negative_abused_comment_votes_count = (int) $db->get_var("select SQL_NO_CACHE count(*) from votes, comments where vote_type='comments' and vote_user_id = $user->id and vote_date > $history_from and vote_value < 0 and comment_id = vote_link_id and ((comment_karma-vote_value)/(comment_votes-1)) > 0 and (comment_votes < 5 or comment_karma >= 5 * comment_votes)");

if ($negative_abused_comment_votes_count > 3) {

$karma5 = max(-$comment_votes/2, -$comment_votes * $negative_abused_comment_votes_count/20);

if ($negative_abused_comment_votes_count > 8 ) {

$karma5 -= $karma0 / 2 ; // Take away half of karma0

if ($karma4 > 0) {

$karma5 -= $karma4 / 2; // Take away half karma4

}

}

}

if ($karma5 != 0) {

$penalized = +1;

$output .= _('Exceso de votos negativos injustos a comentarios').": $negative_abused_comment_votes_count, karma5: ";

$output .= sprintf("%4.2f\n", $karma5);

}





////////////////////////////////////

// Karma for posts votes

////////////////////////////////////



$posts_count = (int) $db->get_var("SELECT SQL_NO_CACHE count(*) from posts where post_user_id = $user->id and post_date > $history_from and post_votes > 1");

if ($posts_count > 0) {

$posts_total = (int) $db->get_var("SELECT SQL_NO_CACHE count(*) from posts where post_user_id = $user->id and post_date > $history_from");

$post_votes_count = (int) $db->get_var("SELECT SQL_NO_CACHE count(*) from votes, posts where post_user_id = $user->id and post_date > $history_from and post_votes > 1 and vote_type='posts' and vote_link_id = post_id and vote_date > $history_from and vote_user_id != $user->id");

// It calculates a coefficient for the karma,

// if number of distinct votes comments >= 10 -> coef = 1, if comments = 1 -> coef = 0.1

$distinct_votes_count = (int) $db->get_var("SELECT SQL_NO_CACHE count(distinct post_id) from votes, posts where post_user_id = $user->id and post_date > $history_from and post_votes > 1 and vote_type='posts' and vote_link_id = post_id and vote_user_id != $user->id");

$distinct_user_votes_count = (int) $db->get_var("SELECT SQL_NO_CACHE count(distinct vote_user_id) from votes, posts where post_user_id = $user->id and post_date > $history_from and post_votes > 1 and vote_type='posts' and vote_link_id = post_id and vote_user_id != $user->id");

$post_coeff = min(max(0.2, $posts_count/$posts_total), 1) * min($distinct_votes_count/$posts_count, 1) * $distinct_user_votes_count/$post_votes_count;



$post_votes_sum = (int) $db->get_var("SELECT SQL_NO_CACHE sum(vote_value) from votes, posts where post_user_id = $user->id and post_date > $history_from and post_votes > 1 and vote_type='posts' and vote_link_id = post_id and vote_date > $history_from and vote_user_id != $user->id");

$karma6 = max(-$post_votes, min($post_votes_sum / $post_votes_count * $post_votes, $post_votes)) * $post_coeff ;

//echo "Post new coef: $karma6 $post_coeff ($distinct_votes_count, $distinct_user_votes_count, $posts_count)\n";

}



// Limit karma to users that do not have other activity

if ($karma6 > 0 && ($karma0+$karma1+$karma2+$karma3+$karma4+$karma5) < 1 ) $karma6 = 0;

if ($karma6 != 0) {

$output .= _('Votos a notas contabilizados').": $post_votes_count (karma: $post_votes_sum), karma6: ";

$output .= sprintf("%4.2f\n", $karma6);

}



// Penalize to unfair negative comments' votes

$negative_abused_post_votes_count = (int) $db->get_var("select SQL_NO_CACHE count(*) from votes, posts where vote_type='posts' and vote_user_id = $user->id and vote_date > $history_from and vote_value < 0 and post_id = vote_link_id and ((post_karma-vote_value)/(post_votes-1)) > 0 and (post_votes < 5 or post_karma >= 5 * post_votes)");

if ($negative_abused_post_votes_count > 5) {

$karma7 = max(-$post_votes/2, -$post_votes * $negative_abused_post_votes_count / 20);

}

if ($karma7 != 0) {

// Commented out to avoid further penalization, yet

// $penalized = +1;

$output .= _('Exceso de votos negativos injustos a notas').": $negative_abused_post_votes_count, karma7: ";

$output .= sprintf("%4.2f\n", $karma7);

}







///////////////////////////////////////////

// Summary

///////////////////////////////////////////

$karma_extra = $karma0+$karma1+$karma2+$karma3+$karma4+$karma5+$karma6+$karma7;

// If the new value is negative or the user is penalized do not use the highest calculated karma base

if (($karma_extra < 0 && $user->karma <= $karma_base) || $penalized > 1) {

$karma_base_user = $karma_base;

if ($penalized > 2) {

$karma_extra = min($karma_extra, 1);

$output .= _('Karma extra máximo por penalizaciones o abusos').": 1\n";

}

}

$karma = max($karma_base_user+$karma_extra, $min_karma);

$karma = min($karma, $max_karma);

} else {

$no_calculated++;

$output = '';

if (abs($user->karma - $karma_base) < 0.1) {

$karma = $karma_base;

} elseif ($user->karma > $karma_base) {

$karma = max($karma_base, $user->karma - 0.5);

} elseif ($user->karma < $karma_base) {

$karma = min($karma_base, $user->karma + 0.1);

} else {

$karma = $user->karma;

}

}



$output .= sprintf("Karma base: %4.2f\n", $karma_base_user);

$karma = round($karma, 2);



if ($user->karma != $karma) {

$old_karma = $user->karma;

if ($user->karma > $karma) {

if ($karma < $karma_base || $penalized > 1) {

$user->karma = 0.7*$user->karma + 0.3*$karma; // In case of very low karma, penalized more

} else {

// Decrease very slowly

$user->karma = 0.95*$user->karma + 0.05*$karma;

}

} else {

// Increase/decrease faster

$user->karma = 0.8*$user->karma + 0.2*$karma;

}

if ($user->karma > $max_karma * 0.85 && $user->level == 'normal') {

$user->level = 'special';

} else {

if ($user->level == 'special' && $user->karma < $max_karma * 0.6) {

$user->level = 'normal';

}

}

$output .= sprintf(_('Karma final').": %4.2f, ".('cálculo actual').": %4.2f, ".('karma anterior').": %4.2f\n",

$user->karma, $karma, $old_karma);

$user->store();

// If we run in the same server as the database master, wait few milliseconds

if (!$db->dbmaster) {

usleep(5000); // wait 1/200 seconds

}

}

if (!empty($output)) {

$annotation = new Annotation("karma-$user->id");

$annotation->text = $output;

$annotation->store();

}

$db->barrier();

echo $output;

}

mysql_free_result($result);

if ($annotation) $annotation->optimize();

echo "Calculated: $calculated, Ignored: $no_calculated\n";

?>







Próximamente iré desvelandoos sus intimidades.

Pasiones de un mundo sin desdicha



Aquella pasión que rodeaba mi aura,
aquel amor que sentí una tarde de verano.
Fue la dulzura de la luna llena,
la pasión de su tez morena.
Su mirada cándida
que jugaba con una sonrisa cautivadora.
Su voz hechizó mi ser,
y me despertó de mi inocencia,
fue el primer amor,
los primeros labios que besé.
Escritos del príncipe Dhasir

Cuántica para una historiadora

La siguiente charla, la he tenido con una amiga historiadora interesada en saber que es la física cuántica. Necesitaba una explicación sin formulas ni nada muy complejo, solo con ideas, pues aquí está el resultado.

Raskalakabra:: encontré una idea para explicarte la mecánica cuántica
Historiadora: siiii?
Historiadora: a ver.....
Raskalakabra:: espera que me acuerde XD
Historiadora: jajaja.....
Raskalakabra:: la mecánica cuántica es una ciencia que se creo con la intención de explicar y comprender los fenómenos microscópicos
Raskalakabra:: claro que si explicas los fenómenos microscópicos de alguna forma también explicas los macroscópicos
Raskalakabra:: pues bien, al entrar en ese mundo, se dieron cuenta que era un terreno muy desconcertante, no solo se hablaba de las propiedades de un sistema microscópico
Raskalakabra:: si no que también estaban en una zona donde esas propiedades aún no estaban definidas
Raskalakabra:: me explico
Raskalakabra:: imagina un coche, este tiene propiedades, por ejemplo, el color
Raskalakabra:: el color lo tiene definido
Raskalakabra:: por ejemplo, verde
Historiadora: si
Raskalakabra:: pues, si el coche fuese microscópico
Raskalakabra:: no tendría que tener el color definido
Historiadora: mmm
Raskalakabra:: hasta que alguien o algo se lo preguntase
Raskalakabra:: si no está definido , se puede decir que tiene cualquier color
Raskalakabra:: y si quieres saberlo, haces un aparato que mida el color, vamos que le pregunte "quillo de color eres"
Raskalakabra:: y entonces , según cierta probabilidad, te dirá pues soy verde
Historiadora: .........madre mía..........
Raskalakabra:: o amarillo
Historiadora: es muy difícil....pero creo que lo voy pillando
Historiadora: pero dicha rareza se debe a ser microscópico
Raskalakabra:: si, es bastante increíble, pero piensa que tratamos zonas de la naturaleza muy finas, donde todo es muy sutil
Historiadora: y lo más pequeñito....las partículas elementales, no?
Raskalakabra:: sasto
Raskalakabra:: pues bien, con esto empezaron a descubrir cosas aún más sorprendente
Raskalakabra:: como por ejemplo, que hay propiedades que no pueden ser definidas a la vez
Raskalakabra:: tomemos nuestro coche microscópico otra vez
Raskalakabra:: imagina que queremos saber su color y su número de puertas
Raskalakabra:: hacemos dos aparatejos, uno que mida el color y otro el número de puertas
Raskalakabra:: pues estás dos propiedades puedes ser incompatibles entre si
Raskalakabra:: es decir
Raskalakabra:: que no se puedan definir a la vez
Raskalakabra:: por lo que si sabes o preguntas o mides una, la otra se vuelve indefinida
Raskalakabra:: si le preguntas "que color" el te dirá "azul" pero puede tener cualquier número de puertas
Historiadora: uffff......de ahí que sea tan complicada
Raskalakabra:: y se le preguntas "cuántas puertas tienes" te dirá "3" pero tendrá cualquier color posible
Raskalakabra:: además de lo que se dieron cuenta es de lo siguiente
Raskalakabra:: "pues vale, al primero te pregunto que color y me dices verde y al raaaaaaaaaaaaaaaato, te pregunto cuantas puertas tienes y me dirás 3 y como ya sabia que eres verde"
Raskalakabra:: pero si después vuelves a preguntarle el color, lo mismo te responde azul o verde o amarillo, ya que al definir el numero de puertas la propiedad color volvió a ser indefinida
Historiadora: joder
Historiadora: y existe alguna forma de definir todo a la vez?
Raskalakabra:: si dos propiedades son incompatibles, nop no se pueden definir a la vez
Raskalakabra:: a esto se le llama principio de incertidumbre
Raskalakabra:: y las primeras propiedades que se descubrieron incompatibles fueron
Raskalakabra:: la posición y el momento lineal ( esta propiedad te dice que trayectoria sigue algo)
Raskalakabra:: o sea que si defines donde esta algo con total precisión , no sabes que trayectoria sigue
Raskalakabra:: y si defines su trayectoria , no sabes que posición tiene
Historiadora: qué interesante
Historiadora: y eso exactamente se llama principio de incertidumbre?
Raskalakabra:: principio de incertidumbre de Heisenberg para ser exactos
Historiadora: mooooola
Raskalakabra:: uno de los efectos más interesantes de este principio es el efecto túnel
Historiadora: consistente en?
Raskalakabra:: pues imagina que delante de ti tienes un muro
Raskalakabra:: si te lanzas contra el con suficiente energía puedes romperlo y atraversarlo
Raskalakabra:: pero si no rebotaras y caerás al suelo
Raskalakabra:: pues bien
Raskalakabra:: para ciertas energías, por debajo de la cantidad necesaria para romper el muro
Raskalakabra:: existe una pequeña probabilidad de que lo atravieses sin romperlo
Raskalakabra:: y aparezcas al otro lado
Raskalakabra:: claro que para que esa probabilidad sea apreciable tienes que ser muy microscópica
Raskalakabra:: y hay muchos más efectos curiosos, pero de momento creo que te vale con esto, es mucho que asimilar y preguntar jeje
Raskalakabra:: espero que de algo te sirva jeje
Historiadora: sí

locura entrópica

Raskalakabra: Hablemos de dinero.

RaskaGollum: Miiiiiiiooo, mi tessooooooooooooooooooro. Es nuestro nadie nos lo quitaraaaa!!!!

Raskalakabra: Bueno hablemos de entropía.

Raskagollum: No, quiere quitárnoslo, la entropía es mala, nos vigila quiere destruirnos.

Raskalakabra: Pues mezclemos ambos conceptos.

RaskaGump: Tonto es el que dice tonterías.

Raskalakabra: No son tonterías veras. ¿ De cuántas formas distintas puedes tener un céntimo ?

RaskaGollum: No le hagáis caso, los físicos os matarán, dominaroooooos. Venid conmigoooo.

Raskalakabra: Pues de una. ¿Y dos céntimos?.

RaskaBupu: Dos no más dos.

Raskalakabra: Exacto, y diez céntimos.

RaskaBupu: Mi contenta por acertar. ¿ Tu que regalar? .

Raskalakabra: ¿ Chocolate ?

RaskaHomer: uhmmmmmmmmmmm, chocolaaaaaaaaateeeeeeeeee!!!

Raskalakabra: Bueno, bueno, centrémonos. Se puede ver que a más dinero más combinaciones distintas para obtener la misma cantidad.

RaskaEmo: Esto no conduce a nada, vaya mierda, quiero morir.

Raskalakabra: También si juntas todas las combinaciones posibles para una cierta cantidad de dinero en el bolsillo...

RaskaGollum: El apestoso hobbit se lo llevo en su bolsillo, él, malditoooooooo, es miooooo.

Raskalakabra: ... más desordenado está. Y si el desorden es la entropía.

RaskaYoda: entropía valor dinero más tendrá.

Raskalakabra: Eso!!. Más valor de dinero más entropía.

I CICLO DE CONFERENCIAS DE FISICA

I CICLO DE CONFERENCIAS DE FISICA


PROGRAMACIÓN:


LUNES 4 DE MAYO:

17:30 Inauguración: Representante de la UGR.

18:00 “Física de partículas (en el mundo y en Granada)”. Prof. Dr. D.
Francisco del Águila Giménez, Catedrático de la UGR.

19:30 “Física de partículas (en el mundo y en Granada)". Prof. Dr. D.
Antonio Bueno Villar.

MARTES 5 DE MAYO:

16:00 “La Vida es Física”. Prof. Dr. D. Joaquín Marro Borau, Catedrático
de la UGR.

17:30 “Movimientos fuertes del terreno durante terremotos destructivos”.
Prof. Dr. D. Carlos López Casado, Catedrático de la UGR.

19:00 Descanso.

19:30 “Características multifractales de la sismicidad de las Béticas”.
Prof. Dr. D. Carlos López Casado, Catedrático de la UGR.


MIÉRCOLES 6 DE MAYO:

18:00 “Luz y Color”. Prof. Dr. D. Enrique Hita Villaverde, Catedrático de
la UGR.

19:30 “Centro de Instrumentación Científica de la Universidad de
Granada”. Prof. Dr. D. Javier Romero Mora, Catedrático de la UGR.

JUEVES 7 DE MAYO:

18:00 “De la microelectrónica a la nanotecnología”. Prof. Dr. D. Juan
Antonio López Villanueva, Catedrático de la UGR.

19:30 “Nanotecnología: estado actual y perspectivas”. Prof. Dr. D. Ángel
Delgado Mora.

LUNES 11 DE MAYO:

16:00 “Predicción del tiempo. ¿Arte o Ciencia?”. Prof. Dr. D. Juan
Ignacio Jiménez Jiménez, Catedrático de la UGR.

17:30 “Materia oscura”. Prof. Dr. D. Eduardo Battaner López, Catedrático
de la UGR.

19:00 Descanso.

19:30 “Materia luminosa”. Prof. Dr. D. Jorge Jiménez Vicente.


MARTES 12 DE MAYO:

16:00 “Física de la Información”. Prof. Dr. D. Ángel Ricardo Plastino.

17:30 “Aceleradores y superaceleradores en radioterapia”. D. Manuel
Vilches Pacheco. Especialista en radiofísica del Hospital Universitario
Virgen de las Nieves.

19:00 Descanso

19:15 Clausura por las autoridades pertinentes.

19:45 Cuestionario.


OBJETIVOS:

Dar a conocer la temática de actualidad en Física y ampliar el
conocimiento en algunas temáticas.
Acercar la Física al resto de los miembros de la comunidad universitaria.
La aplicación de los conocimientos teóricos de Física en la sociedad.
Acercar los proyectos de investigación más actuales de la Universidad.

Este programa es susceptible de modificaciones por lo que algunos horarios
y/o ponentes podrían variar

CARACTERÍSTICAS DEL CURSO

DIRIGIDO A:

Estudiantes de las titulaciones de la Facultad de Ciencias, así como
cualquier persona que esté interesada en esta temática.

TITULACION:

Certificado de Aptitud

LUGAR DE CELEBRACIÓN:

Facultad de Ciencias. Salón de Grados.

NUMERO DE HORAS:

22 horas

PLAZO DE INSCRIPCION:

Abierto hasta agotar plazas

NUMERO LIMITADO DE PLAZAS

IMPORTE DE LA MATRICULA:

20 €

CREDITOS DE LIBRE CONFIGURACION:

2 Créditos Solicitados para titulaciones de la Facultad de Ciencias

INFORMACIÓN E INSCRIPCIÓN:

Sala de Alumnos (en frente de la pecera), o en efe@ugr.es

ORGANIZA:

Asociación de Estudiantes de Física y Electrónica de Granada

COLABORA:

Vicerrectorado de Estudiantes.
Comisión Docente de Física.
Vicedecanato de Alumnos de la Facultad de Ciencias

Yo soy ...


Yo soy humano.
Yo soy granaino.
Yo soy físico.
Yo soy programador.
Yo soy patinador.
Yo soy viajero.


Muchas veces usamos el verbo ser para expresar diferentes cosas. Creo que se usa en exceso, cuando perfectamente se puede decir:


Yo vivo en Graná.
Yo nací en Graná.
Yo habito en Graná.
Yo estudié física.
Yo patino.

¿ Por qué más cosas se puede sustituir el verbo ser?¿Podeis poner más ejemplos?
A mi opinión personal creo que se abusa demasiado del verbo ser, usarlo tanto hace que no signifique nada. Pero bueno es mi opinión.

Domingo de rutas y comidas italianas

Bueno mi primera ruta con gente de Impulso urbano ha sido hoy. Un tiempo estupendo en Madrid , ideal para patinar. Pero no solo era patinar lo que teniamos planeado, sino una auténtica comida italiana.






Curiosamente viven en el mismo sitio nuestra anfitriona y este personajillo famoso.

Aquí tenéis el menú:

Torta di spinaci (espinacas)
Tagliatelle ai funghi (setas)
Vitello tonnato (ternera)
Torta all'ananas (piña)
Caffé
Ammazzacaffè

El cafe y lo siguiente no lo tomamos , si no se nos hacía tarde. Para una muestra de lo que comimos valgan estas fotos:

Torta di spinaci

Donde se puede ver el cachito que sobró de la Torta di spinaci.

y en esta otra la riquisiiiima Torta all'ananas .



Bueno comenzamos la ruta.


Durante la ruta no hice fotos (necesito una cámara nueva esta hace las fotos cuando quiere) . Pasamos por un montón de calles, puntos rojos a diestro y siniestro. Aceras , baches y al final....


Llegada al retiro. Donde había mogollón de gente (normal en un día como hoy)



En el retiro no lo pasamos genial, incluso nos salio una pequeña alumna:


Y bueno mi primera ruta, no ha estado mal, algo torpe lo reconozco, pero bueno todo es practicar practicar practicar.....
Posdata: Quiero mi chapita azuuuuul!!!!!!!
Las fotos las podeis encontrar en : flickr

La filología desaparece de la UPV

Hoy me ha llegado este mail, cuanto menos preocupante, parece ser que varias filologías en la Universidad del País vasco desaparecen. Os dejo con el manifiesto:


En la Universidad del País Vasco, cuatro filologías van a desaparecer del panorama.

Los profesores y alumnos de la facultad de letras nos piden que, por favor, hagamos llegar este manifiesto que os copio y adjunto al mayor número de personas posibles. Si tenéis blog, colgadlo; si tenéis amigos, informadles; si amáis la educación, la investigación, o ambas, sabréis que esto es muy muy grave. No permitamos que suceda en un solo centro universitario de este país, o acabará sucediendo en todos. Las humanidades dan algo diferente al beneficio económico, pero algo, al fin y al cabo, que nos hace crecer como país.
Ayudadnos.




Ante los rumores aparecidos en prensa sobre la desaparición de las titulaciones de Filología Hispánica, Francesa, Clásica y Alemana en la Universidad del País Vasco / Euskal Herriko Unibertsitatea, los alumnos y profesores de la Facultad de Letras manifestamos lo siguiente:



1) La eliminación de estas cuatro filologías supone la amputación de una parte fundamental del patrimonio cultural de la Comunidad Autónoma Vasca, con la disminución del capital intelectual y simbólico que ello supone y el coste social que implica en el marco europeo en que nos ubicamos.

2) Tal como define la L.O.U. y los Estatutos de la UPV-EHU una de las funciones principales de la Universidad es la “preparación para el ejercicio de actividades profesionales”, pero es indiscutible que entre las funciones que se definen para la institución universitaria en la propia ley, tal como recogen los citados estatutos, se encuentran también “la difusión del conocimiento y la cultura”, “el desarrollo de la ciencia […] así como […] la transferencia del conocimiento al servicio de la cultura, de la calidad de la vida” y la formación de una actitud “crítica”.

3) No puede estructurarse la enseñanza superior atendiendo exclusivamente a la servidumbre a un sistema económico y social que proyecta sus beneficios económicos a corto plazo. La rentabilidad social de los estudios humanísticos y de las filologías en particular es mucho mayor que los beneficios económicos directos que se producen en un sistema de mercado como el que soportamos.

4) El papel de la investigación y de la transferencia de conocimientos en Filología es sin duda más difuso que en los dominios de las ciencias duras, pero su impacto social y cultural es al menos tan profundo y duradero como el de aquellas.

5) La eliminación de las cuatro titulaciones de Filología en la Universidad del País Vasco / Euskal Herriko Unibertsitatea plantea el problema fundamental de la redefinición del saber en el estadio actual y del papel que la enseñanza superior, pública y de calidad, desempeña en nuestra sociedad.

6) La eliminación de estas cuatro titulaciones de la Universidad pública abre el debate sobre la implantación de un modelo privatizado en la enseñanza pública.

7) A su vez, la eliminación de estas cuatro titulaciones cuestiona y desarticula el futuro de la enseñanza secundaria en la Comunidad Autónoma Vasca y su valor como servicio público obligatorio e indispensable para la formación de los ciudadanos. ¿Qué sucederá cuando la demanda de nuevos filólogos en secundaria no pueda ser satisfecha? ¿Quién va a desempeñar esa labor?

8) Es necesario repensar el papel de la investigación y la transmisión del conocimiento en la Universidad del País Vasco / Euskal Herriko Unibertsitatea y en la propia sociedad vasca, y el papel esencial que en ésta desempeñan los estudios de Filología.

9) El estudio de las filologías no es sólo un modo de erudición, sino una forma de profundización en la cultura y de construcción de una identidad histórica y social, tanto en nuestra comunidad como en el contexto europeo.

10) La Universidad debe seguir desempeñando el papel de garante de una conciencia crítica en la sociedad, a la que sirva como espacio de reflexión y de defensa rigurosa de los valores de un sistema plural.

¿Existe el libre albedrío?

¿Es posible que el acto de pensar en mover una pierna y luego moverla, ocurra en nuestro cerebro al revés ? es decir, ¿qué primero se planee la acción en nuestro cerebro y una vez lanzada las ordenes a los músculos también se lancen ordenes a las cuerdas vocales para decir muevete? eso implicaría que no tenemos libre albedrío para hacer las cosas.

Esto no se si lo escuche en la radio, lo soné o le leí en algún sitio. Pero es una pregunta interesante.

Actualización:

Encontré de dónde había surgido mi duda.

en el artículo se explican mejor que yo.


Raskalakabra 2.6 update RC

Pues nada , mucho tiempo llevaba sin escribir. Cerca de cumplir los 11111 años, estrenando nuevo piso y con un cambio económico global que afrontar me dispongo a actualizar mi versión de alma. Nuevos cambios he instalado a ver que tal van. De momento uno funciona bien, el de tener un piso que me guste. Ahí van unas cuantas fotos







En fin estamos en el año del Buey según el calendario chino, y parece ser que en los años del susodicho animal toca poner los pies en la tierra y trabajar duro... pues nada a darle al pico. Xao ;)