{"id":7376,"date":"2017-12-19T09:21:28","date_gmt":"2017-12-19T08:21:28","guid":{"rendered":"http:\/\/giusseppe.net\/blog\/?p=7376"},"modified":"2017-12-18T11:03:23","modified_gmt":"2017-12-18T10:03:23","slug":"urlarga-feliz-2018","status":"publish","type":"post","link":"https:\/\/www.giusseppe.net\/blog\/archivo\/2017\/12\/19\/urlarga-feliz-2018\/","title":{"rendered":"URLarga: Feliz 2018"},"content":{"rendered":"<p>Este a\u00f1o, trabajando con las <a href=\"https:\/\/es.wikipedia.org\/wiki\/Localizador_de_recursos_uniforme\" rel=\"noopener\" target=\"_blank\">URLs<\/a>, he decidido realizar 27 felicitaciones navide\u00f1as con este motivo, derivando a quien le d\u00e9 por buscar si esas urls tienen alg\u00fan sentido otro que el azaroso, al menos a esta entrada del diario que dedicar\u00e9 a semejantes espec\u00edmenes.<\/p>\n<p>Program\u00e9 un pedacito de <a href=\"https:\/\/es.wikipedia.org\/wiki\/C_(lenguaje_de_programaci%C3%B3n)\" rel=\"noopener\" target=\"_blank\">c\u00f3digo C<\/a> (con <a href=\"https:\/\/microteknologias.wordpress.com\/2010\/05\/05\/editor-vi\/\" rel=\"noopener\" target=\"_blank\">VI<\/a>, por supuesto, y \u00abfrom scratch\u00bb, como a m\u00ed me gusta) que ha generado 27 URLs \u00fanicas. Las he acomodado con <a href=\"http:\/\/giusseppe.net\/blog\/archivo\/2011\/01\/28\/instalar-linux-es-un-acto-politico\/\">GIMP\/Linux<\/a> sobre papel fotogr\u00e1fico que me regalaron con la impresora y al que no sab\u00eda qu\u00e9 uso dar.<\/p>\n<p>Me gusta la unicidad del (pseudo)azar programable, que dota de cierto enga\u00f1oso aura a cada una de las peque\u00f1as piezas que, por momentos, pens\u00e9 en personalizar, pero interven\u00eda en el azaroso gestar de las mismas&#8230; Ya es suficiente con que las URLs comiencen con mi SLD (Second Level Domain), en lugar de un dominio generado al azar.<\/p>\n<pre class=\"lang:c decode:true \" title=\"urlarga.c\" >\r\n\r\n\/*****************************************\r\nurlarga.c\r\n\r\nPrograma crear URLs que no tengan ning\u00fan sentido\r\nm\u00e1s que el azaroso.\r\n\r\nA\u00f1ado la direcci\u00f3n del servidor para que si alguien\r\nquiere ir, al menos aparezca una m\u00ednima explicaci\u00f3n\r\nde en qu\u00e9 consiste el proyecto.\r\n\r\nDerivo a una URL que contiene una b\u00fasqueda en mi blog\r\nincluyendo la palabra \"urlarga\" que remitir\u00e1\r\na una entrada espec\u00edfica creada para tal fin.\r\n\r\n*****************************************\/\r\n\r\n#include &lt;stdio.h&gt;\r\n#include &lt;stdlib.h&gt;\r\n#include &lt;time.h&gt;\r\n#include &lt;string.h&gt;\r\n#include &lt;wchar.h&gt;\r\n#include &lt;locale.h&gt;\r\n\r\n\/\/ Longitud de la URL formada, incluyendo el protocolo y el servidor\r\n#define LONGITUD_MAX 729\r\n\/\/ Para realizar 27 URLs arbitrarias\r\n#define NUM_URLS 27\r\n\r\nint main()\r\n{\r\n  setlocale(LC_CTYPE, \"\"); \/\/ Necesario para que funcionen las \u00f1\r\n  \r\n  int  i, j, letra, l_alfa, l_prot, l_serv, l_base;\r\n  \/\/ Un alfabeto incluyendo algunos signos de puntuaci\u00f3n\r\n  wchar_t alfabeto[] = L\"0123456789ABCDEFGHIJKLMN\u00d1OPQRSTUVWXYZabcdefghijklmn\u00f1opqrstuvwxyz!!$%&amp;\/()=?\u00bf\u00a1,;:-_+\u00e7\";\r\n  wchar_t URL[LONGITUD_MAX];\r\n  wchar_t protocolo[] = L\"http:\/\/\";\r\n  wchar_t servidor[] = L\"giusseppe.net\/blog\/?s=feliz&amp;2018&amp;urlarga&amp;\";\r\n\r\n  l_alfa = wcslen(alfabeto);\r\n  l_prot = wcslen(protocolo);\r\n  l_serv = wcslen(servidor);\r\n  l_base = l_prot + l_serv;\r\n\r\n  srand (time(NULL));\r\n\r\n  for (j = 0; j &lt; NUM_URLS; j++)\r\n  {\r\n    wmemset(URL, L'\\0', LONGITUD_MAX);\r\n    wcscpy(URL, protocolo); \r\n    wcscat(URL, servidor); \r\n    for (i = l_base; i &lt; (LONGITUD_MAX-1); i++)\r\n    {\r\n      letra = rand() % l_alfa; \/\/ Obtenemos una letra (\u00edndice) al azar del alfabeto\r\n      \/\/ Aleatoriamente, si el anterior no era un punto ni una \/, ni estamos al final de la URL, ponemos un punto.\r\n      if ((!(rand()%5)) &amp;&amp; (URL[i-1] != L'.') &amp;&amp; (URL[i-1]!=L'\/') &amp;&amp; (i != (LONGITUD_MAX-1))) URL[i]=L'.';\r\n      else URL[i]=alfabeto[letra];\r\n    };\r\n    wprintf(L\"|%ls|\\n\", URL);\r\n  };\r\n} \/\/ main()<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Este a\u00f1o, trabajando con las URLs, he decidido realizar 27 felicitaciones navide\u00f1as con este motivo, derivando a quien le d\u00e9 por buscar si esas urls tienen alg\u00fan sentido otro que el azaroso, al menos a esta entrada del diario que dedicar\u00e9 a semejantes espec\u00edmenes. Program\u00e9 un pedacito de c\u00f3digo C (con VI, por supuesto, y &#8230; <a title=\"URLarga: Feliz 2018\" class=\"read-more\" href=\"https:\/\/www.giusseppe.net\/blog\/archivo\/2017\/12\/19\/urlarga-feliz-2018\/\">Read more<span class=\"screen-reader-text\">URLarga: Feliz 2018<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,232,128,110],"tags":[107,224,76,98,74,235,91,130],"class_list":["post-7376","post","type-post","status-publish","format-standard","hentry","category-poemas","category-programable","category-proyectos","category-tecnologia-opinion","tag-amigos","tag-email","tag-informatica","tag-internet","tag-linux","tag-mailart","tag-poesia","tag-proyectos-2"],"_links":{"self":[{"href":"https:\/\/www.giusseppe.net\/blog\/wp-json\/wp\/v2\/posts\/7376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.giusseppe.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.giusseppe.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.giusseppe.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.giusseppe.net\/blog\/wp-json\/wp\/v2\/comments?post=7376"}],"version-history":[{"count":1,"href":"https:\/\/www.giusseppe.net\/blog\/wp-json\/wp\/v2\/posts\/7376\/revisions"}],"predecessor-version":[{"id":7377,"href":"https:\/\/www.giusseppe.net\/blog\/wp-json\/wp\/v2\/posts\/7376\/revisions\/7377"}],"wp:attachment":[{"href":"https:\/\/www.giusseppe.net\/blog\/wp-json\/wp\/v2\/media?parent=7376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.giusseppe.net\/blog\/wp-json\/wp\/v2\/categories?post=7376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.giusseppe.net\/blog\/wp-json\/wp\/v2\/tags?post=7376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}