a cadenza discontinua
Come se fossi

Leslie Benzies, game producer di Rockstar e direttamente da GTA III in poi, ha recentemente parlato di Grand Theft Auto 6: su come si stia lavorando molto sulla mappa. Secondo alcuni insider la lavorazione della mappa sarebbe mastodontica in quanto l'obbiettivo dovrebbe essere la riproduzione di tutti gli Stati Uniti D'America.

In realtà sembra molto difficile ricreare una mappa così ampia, non tanto per le possibili difficoltà sotto l'aspetto hardware, ma per il numero enorme di informazioni da raccogliere per disegnarla. C'è da considerare però che GTA ha sempre puntato tutto sulle Mappe, che alla fine sono la novità sostanziale di ogni capitolo.La mappa potrebbe "semplicemente" raggruppare le città più importanti degli USA e collegarle fra di loro in maniera più semplicistica.

...(Continua)


Leggi >>


di GuiZ

L'E3 2015 è stata la conferenza della riscossa dove Microsoft ha iniziato subito ad impressionare adottando la retrocompatibilità dei giochi per la sua Xbox One, anche se resta da capire quanto lunga sarà lunga la lista. ( circa 30 per fine 2015 ). 

HoloLens. Per chi non la conoscesse HoloLens è una nuova tecnologia della Microsoft in studio da molti anni che permette di proiettare ologrammi attraverso degli occhiali. In sostanza una realtà aumentata

Lo scalpore è nato quando hanno usato gli HoloLens per una demo di Minecraft ( acquistato nel 2014 per 2,5 miliardi di dollari ) a dir poco spettacolare dove il world è comparso su un tavolo.

...(Continua)


Leggi >>


di GuiZ

Durante lo sviluppo di un servizio windows ho dovuto affrontare la problematica del debug. In genere per eseguire il debug è necessario "attaccarsi" al processo.

E' però possibile eseguire un debug da visual studio utilizzando i break point con un picolissimo stratagemma.

Dato che si tratta di service, che non richiede un interfaccia utente, possiamo eseguire una distinzione tra l'esecuzione da visual studio e da "servizio installato". Questo è possibile farlo nella Program.cs

...(Continua)


Leggi >>


di GuiZ

During the development of a windows service I faced the problem of debugging. Typically to debug you need to "stick" to the process.

However, you can run a debugging from visual studio using the break point with a small trick.

Given that it is service that does not require a user interface, we can make a distinction between running from visual studio and "installed service." This you can do in the Program.cs

...(Continua)


Leggi >>


di GuiZ

Di seguito un piccolo esempio di come eseguire una richiesta Http tramite HttpClient in C#.

...(Continua)


Leggi >>


di GuiZ

Below is a small example of how to make a request via Http HttpClient in C #.

// init
var myHttpClient = new HttpClient();

// await request the function must be async
var request = await myHttpClient.GetAsync(new Uri("http://miosito.it/index.php?nocache=" + Guid.NewGuid(), UriKind.RelativeOrAbsolute));
        
// response
var response = await request.Content.ReadAsStringAsync();

Adding nocache = "+ Guid.NewGuid () can disable the cache, which is useful when we have to make a request frequently.



di GuiZ

In questa piccola guida pratica verifico come popolare un ListView usando un ItemTemplate da un ipotetico JSON e la sua successiva iterazione fra gli elementi. E' stato realizzato in C# per Windows Phone 8.1 .

...(Continua)


Leggi >>


di GuiZ

In this practical overview seen how populate a ListView using a ItemTemplate from a hypothetical JSON and its subsequent iteration between the elements. It was made in C# for Windows Phone 8.1 .

...(Continua)


Leggi >>


di GuiZ

Un piccolo esempio di come sottrarre o aggiungere un intervallo, in questo caso un ora, ad un datetime.

$datevar = '2014-06-10 09:54:31';

      $date = new DateTime($datevar);

      // Set dell'intervallo
      $interval = new DateInterval('PT1H');

      // sottraggo
      $date->sub($interval);

      // aggiungo
      $date->sub($interval);

      echo (string)date_format($date, 'Y-m-d H:i:s');



di GuiZ

Con gli aggiornamenti di PhP si è perso il supporto alla libreria php_mssql.dll .

Call to undefined function mssql_pconnect() 

Come ovviare? Non sono riuscito ad installare la libreria php_mssql.dll  nelle estenzioni di PhP 5.3 quindi ho optato per installare una seconda versione PhP la 5.2.10 che supportasse php_mssql.dll .

E farla girare unicamente per il progetto che la richiedeva, avendo in questo modo due versioni PhP sullo stesso IIS la 5.3 e la 5.2.10 .

PROCEDIMENTO:

  1. Installare PhP 5.2.10 ( da archivi PhP per Microsoft http://windows.php.net/downloads/releases/archives/php-5.2.10-nts-Win32-VC6-x86.msi ) con FastCGI IIS
  2. Configurare la directory del nostro progetto per l'esecuzione di PhP 5.2.10 ( lasciando invariata alla 5.3 per gli altri progetti )
  3. Copiare la DLL ntwdblib.dll ( si occupa della connessione nativa a sql server e si trova nel cd di installazione di sql server ) nella root del php.exe della versione 5.2.10.
  4. Configurare log di errori per la versione specificata sempre dal PhP Manager.
  5. Riavviare IIS 

Questi passaggi ci consentono di scavalcare il nostro problema.



di GuiZ


In apache 2.4 mod_auth_sspi sembra non girare più. In alternativa possiamo utilizzare un modulo di terze parti:

mod_authnz_sspi

https://www.apachehaus.net/modules/mod_authnz_sspi/ )

Download:


Copiandolo nella modules è possibile configurare una directory per renderla accessibile tramite autenticazione IWA.

LoadModule authnz_sspi_module modules/mod_authnz_sspi.so


  Options None
  AllowOverride All
  Order allow,deny
  Allow from all
  #AuthName "SSPI Protected Place"
  AuthType SSPI
  SSPIAuth On
  SSPIAuthoritative On
  SSPIOfferBasic On
  SSPIOmitDomain On
  Require valid-user


Dal php riceveremo il nome utente nelle variabili SERVER così $_SERVER['REMOTE_USER']



di GuiZ

Posto questa piccola regola per il reindirizzamento di un URL verso un altro, utile in caso di cambio dominio per non perdere visite.

RewriteCond %{HTTP_HOST} !^www.geek-blog.it [NC]
RewriteRule ^(.*)$ http://www.geek-blog.it/$1 [L,R=301]

Questo consetirà inoltre di mantenere la path di navigazione. In caso non si voglia mantenere la path di navigazione è sufficiente rimuovere il $1 nella RewriteRule.



di GuiZ

Lo ZoomControls è uno strumento utilissimo da aggiungere ad un ipotetica SurfaceView al fine di controllare lo Zoom della Camera.

Supponendo di avere un camera già in uso, si può aggiungere pochissimo codice per aggiungere questa features ad una app.

Nel layout:

<zoomcontrols
android:id="@+id/CAMERA_ZOOM_CONTROLS" android:layout_alignbottom="@+id/surface_camera"
android:layout_centerinparent="true"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
</zoomcontrols>


Nell'activity aggiungiamo il controllo dichiarando due variabili private che sono utilizzate per mantenere l'auttuale zoom.

int currentZoomLevel = 0, maxZoomLevel = 0;

ZoomControls zoomControls = (ZoomControls)
findViewById(R.id.CAMERA_ZOOM_CONTROLS);

if(cp.isZoomSupported()){
    maxZoomLevel = cp.getMaxZoom();

    zoomControls.setIsZoomInEnabled(true);
    zoomControls.setIsZoomOutEnabled(true);

    zoomControls.setOnZoomInClickListener(new OnClickListener(){
        public void onClick(View v){
            if( (currentZoomLevel + 1) < maxZoomLevel){
                currentZoomLevel++;
                camera.startSmoothZoom(currentZoomLevel);
            }
        }
    });

    zoomControls.setOnZoomOutClickListener(new OnClickListener(){
        public void onClick(View v){
            if( (currentZoomLevel-1) > 0){
                currentZoomLevel--;
                camera.startSmoothZoom(currentZoomLevel);
            }
        }
    });
}
else
    zoomControls.setVisibility(View.GONE);

Lo zoom in questo estratto ha uno step di 1 ma ovviamente è possibile aumentarlo a piacimento.
Per qualsiasi domanda lasciate un commento.



di GuiZ

L'uso della LIMIT in ORACLE è paragonato all'uso della ROWNUM, cosa non del tutto corretta in determinati casi sopratutto nell'utilizzo della ORDER.

La ROWNUM èuna PSEUDOCOLONNA che indica come oracle ha selezionato le righe dalla tabella.

Aggiungendo un ORDER BY, dato che la ROWNUM è presente nella WHERE, se l'ordine di prelevamento non è uguale a quello di ordinameto si avrà una situazione non veritiera.

Esempio:

SELECT rownum, id, nome FROM table WHERE ROWNUM < 4 ORDER BY nome

Si potrebbe ottenere un result sballato:

rownum id nome
2 1 Guido
1 3 Luca
3 4 Mirco
4 2 Peppe

Questo è causato dalla ORDER BY dato che l'ordinamento viene eseguito prima della ORDER BY.

Per ovviare è necessario utilizzare una doppia SELECT che ci garantisce il risultato:

SELECT * FROM (SELECT * table ORDER BY nome )  WHERE ROWNUM < 4

rownum id nome
1 1 Guido
2 3 Luca
3 4 Mirco
4 2 Peppe


di GuiZ


Con l'uscita di XE5 sembra che lo sviluppo cross platform mobile in delphi abbia fatto passi da giganti. Lo so che Vi starete chiedendo che il tutto sembra ridicolo e che lo sviluppo nei linguaggi nativi sia irrangiungibile ma questa volta si sono avvicinati molto.

Il nuovo Delphi è grandioso un opera spettacolare e senza stravolgimenti legati all'ide. Per chi usa delphi è un gioco da ragazzi riuscira a creare delle App sia per iOS che per Android.

Embarcadero da la possibilità di scaricare il TRIAL a 30 giorni e utilizzandola da subito ci rendiamo conto come sia facile lo sviluppo. I video dimostrativi ( step by step ) vi faranno rendere conto di come sia davvero intuitivo lo sviluppo e la creazione delle varie interfaccie per le varie tipologie di device.

...(Continua)


Leggi >>


di GuiZ



Di default un indice FULL TEXT è creato per effettuare una ricerca con un minimo di 4 parole, in alcuni casi è utile poter abbassare questo limite facendo però bene attenzione alle prestazioni.

Il parametro da utilizzare è ft_min_word_len da impostare nel file di configurazione di MySQL. Impostare questo parametro sotto al 4 può far decadere le prestazioni, anche se in alcuni casi è necessario, soprattutto in delle operazioni di back-end.

ft_min_word_len

Command-Line Format --ft_min_word_len=#
Option-File Format ft_min_word_len
System Variable Name ft_min_word_len
Variable Scope Global
Dynamic Variable No
  Permitted Values
Type numeric
Default 4
Min Value 1

The minimum length of the word to be included in a FULLTEXT index.

Note

FULLTEXT indexes must be rebuilt after changing this variable. Use REPAIR TABLE tbl_name QUICK.


E' semplicemente necessario impostarlo al valore desiderato è ricreare l'indice.



di GuiZ

By default a FULL TEXT index is created to perform a search with a minimum of 4 words, in some cases it is useful to be able to lower this limit but making good attention to performance.

The parameter to use is ft_min_word_len to be set in the configuration file of MySQL. Set this parameter to 4 below may invalidate performance, although in some cases it is necessary, especially in the back-end operations.

ft_min_word_len

Command-Line Format --ft_min_word_len=#
Option-File Format ft_min_word_len
System Variable Name ft_min_word_len
Variable Scope Global
Dynamic Variable No
  Permitted Values
Type numeric
Default 4
Min Value 1

The minimum length of the word to be included in a FULLTEXT index.

Note

FULLTEXT indexes must be rebuilt after changing this variable. Use REPAIR TABLE tbl_name QUICK.

It 's just need to set it to the desired value is to recreate the index.



di GuiZ

Gestire un server anche di piccolissime dimensioni comporta la creazione di procedure di backup per salvaguardare i nostri dati da posibili lost e fault.

Questo piccolo script bash realizza un backup di uno specifico database MySQL e lo gzippa. Il sistema che ho adoperato è creare un bash per ogni database mysql,che ospito sul mio server, e farlo girare tramite cronjob.

Il database zippato poi lo renderò accessibile tramite FTP per scaricarlo da un server locale ad un ora stabilita. In modo da avere una copia di tutto sempre a portata di mano. Di seguito lo script bash che adopero nella prima parte delle mie procedure di backup

...(Continua)


Leggi >>


di GuiZ

Managing a server, even very small, means the creation of backup procedures to protect our data from possible lost and fault.

This small bash script creates a backup of a specific MySQL database and gzips.The system I've used is to create a bash for each mysql database that I host and run it through cronjob.

The database zipped then I'll make it accessible by FTP to download it from a local server to a set time. In order to have a copy of everything always at hand. 
Below is the bash script that I use in the first part of my backup procedures.

...(Continua)


Leggi >>


di GuiZ

Un piccolo tip per la conversione delle proprietà di un oggetto in un array associativo. La funzione get_object_vars ha proprio questo scopo.

Ecco come usarla:

get_object_vars = $ array ($ object);

echo $ array ['nome_proprietà'];

Un altra funzione utile è la get_class_vars  in grado di recuperare tutte le variabile accessibili dall'esterno della classe.



di GuiZ