Installare AngularJS 2.0 e confirgurare il primo progetto

Parte prima: Installiamo NodeJS
#### SETUP APT ———————–
deb https://deb.nodesource.com/node_6.x xenial main
deb-src https://deb.nodesource.com/node_6.x xenial main
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add –
apt update
apt-cache policy nodejs
apt install nodejs
nodejs –version

Parte seconda: Installiamo NPM e Typescript
###### GLOBAL LIBS (sudo) ——————————-

npm install -g npm@latest
npm install -g typescript

Parte Terza: Installiamo angular-cli
npm uninstall -g angular-cli
npm cache clean
npm install -g angular-cli@latest

# node-gyp@3.5.0 should be installed with -g
# npm install -g node-gyp

Parte Quarta: creazione progetto

ng new example
ng new example_routing –routing true

quindi lo avviamo con il server interno…
ng serve

Per creare classi e modelli
#### ng generate | ng g

ng g class models/my-new-class
ng g interface models/my-new-interface
ng g enum models/my-new-enum
ng g pipe pipes/my-new-pipe
ng g service services/my-new-service

Per creare componenti
ng g component my-new-component
ng g module my-module
ng g directive my-new-directive

per creare il compilato da installare sul server:
ng build

PHP cURL – keep php session during a cUrl request over https

$url =’https://xxx.domain.com/myscrip_with_session_check.php’;
$ch = curl_init();
$strCookie = ‘PHPSESSID=’ . $_COOKIE[‘PHPSESSID’] . ‘; path=/’;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, “Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13”);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// here i add this two lines because i call a script over https with fake ssl certificate
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

// end ssl hack
curl_setopt($ch, CURLOPT_COOKIE, $strCookie);

//important is to unlock with

session_write_close();
$result = curl_exec($ch);

var_dump(curl_getinfo($ch));

if ($errno = curl_errno($ch)) {
$error_message = curl_strerror($errno);
// echo “cURL error ({$errno}):\n {$error_message}”;
}
curl_close($ch);

var_dump($result);

Xcode App Transport Security fix in Xcode 7, and resolve ‘Could not connect to the server’ errors

Apple made a radical decision with iOS 9, disabling all unsecured HTTP traffic from iOS apps, as a part of App Transport Security. This helps in enforcing security best practices, but if you  want to load external content, like arbitrary links, you have to add this value to your app info.plist:

key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

RGB Led Strip Controlled by an Arduino

We need of 3 MOSFETs in order to drive the 3 RGB channels

rgb-led-strips-mosfets

// HSV fade/bounce 

#define RED       9// pin for red LED
#define GREEN    10 // pin for green - never explicitly referenced
#define BLUE     11 // pin for blue - never explicitly referenced
#define SIZE    255
#define DELAY    20
#define HUE_MAX  6.0
#define HUE_DELTA 0.01

//long deltas[3] = { 5, 6, 7 };
long rgb[3];
long rgbval;
// for reasons unknown, if value !=0, the LED doesn't light. Hmm ...
// and saturation seems to be inverted
float hue=0.0, saturation=1, value=1;

/*
chosen LED SparkFun sku: COM-09264
 has Max Luminosity (RGB): (2800, 6500, 1200)mcd
 so we normalize them all to 1200 mcd -
 R  250/600  =  107/256
 G  250/950  =   67/256
 B  250/250  =  256/256
 */
long bright[3] = { 107, 67, 256};
//long bright[3] = { 256, 256, 256};

long k, temp_value;

void setup () {
  randomSeed(analogRead(4));
  for (k=0; k<3; k++) {
    pinMode(RED + k, OUTPUT);
    rgb[k]=0;
    analogWrite(RED + k, rgb[k] * bright[k]/256);
  }
}

void loop() {
  hue += HUE_DELTA;
  if (hue > HUE_MAX) {
    hue=0.0;
  }
  rgbval=HSV_to_RGB(hue, saturation, value);
  rgb[0] = (rgbval & 0x00FF0000) >> 16; // there must be better ways
  rgb[1] = (rgbval & 0x0000FF00) >> 8;
  rgb[2] = rgbval & 0x000000FF;
  for (k=0; k<3; k++) { // for all three colours
    analogWrite(RED + k, rgb[k] * bright[k]/256);
  }
  
  delay(DELAY);
}

long HSV_to_RGB( float h, float s, float v ) {
  /* modified from Alvy Ray Smith's site: http://www.alvyray.com/Papers/hsv2rgb.htm */
  // H is given on [0, 6]. S and V are given on [0, 1].
  // RGB is returned as a 24-bit long #rrggbb
  int i;
  float m, n, f;

  // not very elegant way of dealing with out of range: return black
  if ((s<0.0) || (s>1.0) || (v<1.0) || (v>1.0)) {
    return 0L;
  }

  if ((h < 0.0) || (h > 6.0)) {
    return long( v * 255 ) + long( v * 255 ) * 256 + long( v * 255 ) * 65536;
  }
  i = floor(h);
  f = h - i;
  if ( !(i&1) ) {
    f = 1 - f; // if i is even
  }
  m = v * (1 - s);
  n = v * (1 - s * f);
  switch (i) {
  case 6:
  case 0: 
    return long(v * 255 ) * 65536 + long( n * 255 ) * 256 + long( m * 255);
  case 1: 
    return long(n * 255 ) * 65536 + long( v * 255 ) * 256 + long( m * 255);
  case 2: 
    return long(m * 255 ) * 65536 + long( v * 255 ) * 256 + long( n * 255);
  case 3: 
    return long(m * 255 ) * 65536 + long( n * 255 ) * 256 + long( v * 255);
  case 4: 
    return long(n * 255 ) * 65536 + long( m * 255 ) * 256 + long( v * 255);
  case 5: 
    return long(v * 255 ) * 65536 + long( m * 255 ) * 256 + long( n * 255);
  }
}

Xcode 7 – after update old project need a rootviewcontroller

If after update of Xcode you trying to compile an old project that always build without problem, and now you are getting this error “Application windows are expected to have a root view controller at the end of application launch”, probably your project have this inside the app delegate class:

[window addSubview:viewController.view];

If yes, you should replace it with:

[window setRootViewController:viewController];

This is it.

here is also the same question
http://stackoverflow.com/questions/30884896/application-windows-are-expected-to-have-a-root-view-controller-at-the-end-of-a