tag:blogger.com,1999:blog-347447472024-03-13T01:44:24.628+01:00Jelle BensJelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.comBlogger88125tag:blogger.com,1999:blog-34744747.post-44842920512521713902021-06-04T10:44:00.004+02:002021-06-06T15:21:24.432+02:00DevSecOps: Running a React Single Page App with minimal privilege in Kubernetes<p> Dockerfile</p><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #c586c0;">FROM</span> <span style="color: #4ec9b0;">node</span>:<span style="color: #9cdcfe;">16-alpine3.11</span> <span style="color: #c586c0;">as</span> <span style="color: #4ec9b0;">build</span></div><div><span style="color: #c586c0;">WORKDIR</span> <span style="color: #9cdcfe;">/app</span></div><br /><div><span style="color: #c586c0;">ENV</span> <span style="color: #9cdcfe;">PATH</span> <span style="color: #9cdcfe;">/app/node_modules/.bin:</span><span style="color: #9cdcfe;">$PATH</span></div><br /><div><span style="color: #c586c0;">COPY</span> <span style="color: #9cdcfe;">Moneta.Frontend.Web/package.json</span> <span style="color: #9cdcfe;">./</span></div><div><span style="color: #c586c0;">COPY</span> <span style="color: #9cdcfe;">Moneta.Frontend.Web/package-lock.json</span> <span style="color: #9cdcfe;">./</span></div><div><span style="color: #c586c0;">RUN</span> <span style="color: #9cdcfe;">npm</span> <span style="color: #9cdcfe;">install</span> <span style="color: #9cdcfe;">--silent</span></div><br /><div><span style="color: #c586c0;">COPY</span> <span style="color: #9cdcfe;">Moneta.Frontend.Web/</span> <span style="color: #9cdcfe;">./</span></div><br /><div><span style="color: #c586c0;">RUN</span> <span style="color: #9cdcfe;">yarn</span> <span style="color: #9cdcfe;">build</span></div><br /><div><span style="color: #c586c0;">FROM</span> <span style="color: #4ec9b0;">nginx</span>:<span style="color: #9cdcfe;">latest</span></div><div><span style="color: #c586c0;">COPY</span> <span style="color: #9cdcfe;">--from</span>=<span style="color: #9cdcfe;">build</span> <span style="color: #9cdcfe;">/app/build</span> <span style="color: #9cdcfe;">/usr/share/nginx/html</span></div><br /><div><span style="color: #c586c0;">COPY</span> <span style="color: #9cdcfe;">Moneta.Frontend.Web/nginx/default.conf</span> <span style="color: #9cdcfe;">/etc/nginx/conf.d/default.conf</span></div><div><span style="color: #c586c0;">COPY</span> <span style="color: #9cdcfe;">Moneta.Frontend.Web/nginx/nginx.conf</span> <span style="color: #9cdcfe;">/etc/nginx/nginx.conf</span></div><br /><div><span style="color: #c586c0;">RUN</span> <span style="color: #9cdcfe;">chown</span> <span style="color: #9cdcfe;">-R</span> <span style="color: #9cdcfe;">nobody:nogroup</span> <span style="color: #9cdcfe;">/usr/share/nginx/html</span> <span style="color: #9cdcfe;">&&</span> <span style="color: #9cdcfe;">chmod</span> <span style="color: #9cdcfe;">-R</span> <span style="color: #9cdcfe;">755</span> <span style="color: #9cdcfe;">/usr/share/nginx/html</span> <span style="color: #9cdcfe;">&&</span> <span style="color: #569cd6;">\</span></div><div> <span style="color: #9cdcfe;">chown</span> <span style="color: #9cdcfe;">-R</span> <span style="color: #9cdcfe;">nobody:nogroup</span> <span style="color: #9cdcfe;">/var/cache/nginx</span> <span style="color: #9cdcfe;">&&</span> <span style="color: #569cd6;">\</span></div><div> <span style="color: #9cdcfe;">chown</span> <span style="color: #9cdcfe;">-R</span> <span style="color: #9cdcfe;">nobody:nogroup</span> <span style="color: #9cdcfe;">/var/log/nginx</span> <span style="color: #9cdcfe;">&&</span> <span style="color: #569cd6;">\</span></div><div> <span style="color: #9cdcfe;">chown</span> <span style="color: #9cdcfe;">-R</span> <span style="color: #9cdcfe;">nobody:nogroup</span> <span style="color: #9cdcfe;">/etc/nginx/conf.d</span></div><br /><div><span style="color: #c586c0;">RUN</span> <span style="color: #9cdcfe;">touch</span> <span style="color: #9cdcfe;">/var/run/nginx.pid</span> <span style="color: #9cdcfe;">&&</span> <span style="color: #569cd6;">\</span></div><div> <span style="color: #9cdcfe;">chown</span> <span style="color: #9cdcfe;">-R</span> <span style="color: #9cdcfe;">nobody:nogroup</span> <span style="color: #9cdcfe;">/var/run/nginx.pid</span></div><br /><div><span style="color: #c586c0;">EXPOSE</span> <span style="color: #9cdcfe;">8080</span></div><br /><div><span style="color: #c586c0;">CMD</span> <span style="color: #9cdcfe;">[</span><span style="color: #ce9178;">"nginx"</span><span style="color: #9cdcfe;">,</span> <span style="color: #ce9178;">"-g"</span><span style="color: #9cdcfe;">,</span> <span style="color: #ce9178;">"daemon</span><span style="color: #ce9178;"> </span><span style="color: #ce9178;">off;"</span><span style="color: #9cdcfe;">]</span></div></div><p>nginx/default.conf</p><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div>server {</div><div> listen 8080<span style="color: #6a9955;">;</span></div><br /><div> location / {</div><div> root /usr/share/nginx/html<span style="color: #6a9955;">;</span></div><div> index index.html index.htm<span style="color: #6a9955;">;</span></div><div> try_files $uri $uri/ /index.html<span style="color: #6a9955;">;</span></div><div> }</div><br /><div> error_page 500 502 503 504 /50x.html<span style="color: #6a9955;">;</span></div><br /><div> <span style="color: #569cd6;">location</span> = /50x.html {</div><div> root /usr/share/nginx/html<span style="color: #6a9955;">;</span></div><div> }</div><div>}</div></div><p>nginx/nginx.conf</p><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div>worker_processes 1<span style="color: #6a9955;">;</span></div><div> </div><div>error_log /var/log/nginx/error.log warn<span style="color: #6a9955;">;</span></div><div>pid /var/run/nginx.pid<span style="color: #6a9955;">;</span></div><br /><div>events {</div><div> worker_connections 1024<span style="color: #6a9955;">;</span></div><div>}</div><br /><div>http {</div><div> include /etc/nginx/mime.types<span style="color: #6a9955;">;</span></div><div> default_type application/octet-stream<span style="color: #6a9955;">;</span></div><br /><div> log_format main <span style="color: #ce9178;">'$remote_addr - $remote_user [$time_local] "$request" '</span></div><div> <span style="color: #ce9178;">'$status $body_bytes_sent "$http_referer" '</span></div><div> <span style="color: #ce9178;">'"$http_user_agent" "$http_x_forwarded_for"'</span><span style="color: #6a9955;">;</span></div><br /><div> access_log /var/log/nginx/access.log main<span style="color: #6a9955;">;</span></div><br /><div> sendfile on<span style="color: #6a9955;">;</span></div><div> <span style="color: #6a9955;">#tcp_nopush on;</span></div><br /><div> keepalive_timeout 65<span style="color: #6a9955;">;</span></div><br /><div> <span style="color: #6a9955;">#gzip on;</span></div><br /><div> include /etc/nginx/conf.d/*.conf<span style="color: #6a9955;">;</span></div><div>}</div></div><p><br /></p><p>k8s deployment</p><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #569cd6;">podSecurityContext</span>: </div><div> <span style="color: #569cd6;">runAsUser</span>: <span style="color: #b5cea8;">65534</span> <span style="color: #6a9955;">#nobody</span></div><div> <span style="color: #569cd6;">fsGroup</span>: <span style="color: #b5cea8;">65534</span> <span style="color: #6a9955;">#nogroup</span></div></div><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #569cd6;">securityContext</span>: </div><div> <span style="color: #569cd6;">capabilities</span>:</div><div> <span style="color: #569cd6;">drop</span>:</div><div> - <span style="color: #ce9178;">ALL</span></div><div> <span style="color: #569cd6;">add</span>: </div><div> - <span style="color: #ce9178;">"NET_ADMIN"</span></div><div> <span style="color: #569cd6;">readOnlyRootFilesystem</span>: <span style="color: #569cd6;">false</span></div><div> <span style="color: #569cd6;">runAsNonRoot</span>: <span style="color: #569cd6;">true</span></div><div> <span style="color: #569cd6;">runAsUser</span>: <span style="color: #b5cea8;">65534</span> <span style="color: #6a9955;"># run as the nobody user</span></div></div>Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-6530371332674564152021-04-22T16:56:00.005+02:002021-04-22T16:56:30.073+02:00Fix Warning ResponseCookies - The cookie '.AspNetCore.OpenIdConnect.Nonce.xyz' has set 'SameSite=None' and must also set 'Secure'<p> <br />In Startup.cs add the following snippet in Configure</p><div style="background-color: #1e1e1e; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div style="color: #d4d4d4;"> <span style="color: #569cd6;">public</span> <span style="color: #569cd6;">void</span> <span style="color: #dcdcaa;">Configure</span>(<span style="color: #4ec9b0;">IApplicationBuilder</span> <span style="color: #9cdcfe;">app</span>, <span style="color: #4ec9b0;">IWebHostEnvironment</span> <span style="color: #9cdcfe;">env</span>)</div><div style="color: #d4d4d4;"> {</div><div><span style="color: #d4d4d4;"> //</span><span style="color: #c586c0;">...</span><span style="color: #d4d4d4;"><br /></span></div><span style="color: #d4d4d4;"><br /></span><div style="color: #d4d4d4;"> <span style="color: #9cdcfe;">app</span>.<span style="color: #dcdcaa;">UseCookiePolicy</span>(<span style="color: #569cd6;">new</span> <span style="color: #4ec9b0;">CookiePolicyOptions</span></div><div style="color: #d4d4d4;"> {</div><div style="color: #d4d4d4;"> <span style="color: #9cdcfe;">Secure</span> = <span style="color: #9cdcfe;">CookieSecurePolicy</span>.<span style="color: #9cdcfe;">Always</span>,</div><div style="color: #d4d4d4;"> <span style="color: #9cdcfe;">MinimumSameSitePolicy</span> = <span style="color: #9cdcfe;">SameSiteMode</span>.<span style="color: #9cdcfe;">None</span></div><div style="color: #d4d4d4;"> });</div><span style="color: #d4d4d4;"><br /></span><div><span style="color: #d4d4d4;"> //</span><span style="color: #9cdcfe;">...</span></div><div style="color: #d4d4d4;"> }</div></div>Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-65649753752954419732021-04-17T16:10:00.008+02:002021-06-06T15:22:07.795+02:00DevSecOps: Runing ASP .NET Core Applications with minimal privileges in Kubernetes<h4 style="text-align: left;"> </h4><h4 style="text-align: left;"><br /></h4><h4 style="text-align: left;">Configure podSecurityContext</h4><div>Configure the pod to run as nobody/nogroup user as follows:</div><div><br /></div><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #569cd6;">podSecurityContext</span>: </div><div> <span style="color: #569cd6;">runAsUser</span>: <span style="color: #b5cea8;">65534</span></div><div> <span style="color: #569cd6;">fsGroup</span>: <span style="color: #b5cea8;">65534</span></div></div><h4 style="text-align: left;"><br /></h4><h4 style="text-align: left;"><br /></h4><h4 style="text-align: left;">Configure SecurityContext</h4><div>Configure security context to run with minimal possible privileges:</div><div><br /></div><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #569cd6;">securityContext</span>: </div><div> <span style="color: #569cd6;">capabilities</span>:</div><div> <span style="color: #569cd6;">drop</span>:</div><div> - <span style="color: #ce9178;">ALL</span></div><div> <span style="color: #569cd6;">add</span>: </div><div> - <span style="color: #ce9178;">"NET_ADMIN"</span></div><div> <span style="color: #569cd6;">readOnlyRootFilesystem</span>: <span style="color: #569cd6;">false</span></div><div> <span style="color: #569cd6;">runAsNonRoot</span>: <span style="color: #569cd6;">true</span></div><div> <span style="color: #569cd6;">runAsUser</span>: <span style="color: #b5cea8;">65534</span> <span style="color: #6a9955;"># run as the nobody/nogroup user</span></div></div><h4 style="text-align: left;"><br /></h4><h4 style="text-align: left;"><br /></h4><h4 style="text-align: left;">Run on non standard port</h4><p>Since we do not have permission to run ports lower tan 1024 (normally assigned by adding capability NET_BIND_SERVICE but this requires root privileges) we have to configure ASP .Net Core to listen to a port above 1024.</p><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #569cd6;">env</span>:</div><div> - <span style="color: #569cd6;">name</span>: <span style="color: #ce9178;">ASPNETCORE_URLS</span></div><div> <span style="color: #569cd6;">value</span>: <span style="color: #ce9178;">http://+:8080</span></div></div><p><br /></p><p><br /></p>Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-43172615833908224772021-04-13T15:28:00.005+02:002021-04-17T16:15:42.475+02:00Zero trust architecture with Istio<h2 style="text-align: left;"><span style="font-weight: normal;">Disabling access to services outside the mesh</span></h2><div><span style="font-weight: normal;">The following command will restrict all </span>outbound traffic to services defined in the service registry as well as those defined through ServiceEntries:</div><div><br /></div><div style="text-align: left;"><span style="font-weight: 400;">istioctl install --set meshConfig.outboundTrafficPolicy.mode=REGISTRY_ONLY. </span></div><div style="text-align: left;"><span style="font-weight: 400;"><br /></span></div><h2 style="text-align: left;"><span style="font-weight: 400;">Enabling access to an URL outside the mesh</span></h2><div><span style="font-weight: 400;"><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #569cd6;">apiVersion</span>: <span style="color: #ce9178;">networking.istio.io/v1beta1</span></div><div><span style="color: #569cd6;">kind</span>: <span style="color: #ce9178;">ServiceEntry</span></div><div><span style="color: #569cd6;">metadata</span>:</div><div> <span style="color: #569cd6;">name</span>: <span style="color: #ce9178;">moneta-egress</span></div><div><span style="color: #569cd6;">spec</span>:</div><div> <span style="color: #569cd6;">hosts</span>:</div><div> - <span style="color: #ce9178;">'*.microsoft.com'</span></div><div> - <span style="color: #ce9178;">'*.microsoftonline.com'</span></div><div> - <span style="color: #ce9178;">'*.windows.net'</span></div><div> <span style="color: #569cd6;">location</span>: <span style="color: #ce9178;">MESH_EXTERNAL</span></div><div> <span style="color: #569cd6;">ports</span>:</div><div> - <span style="color: #569cd6;">name</span>: <span style="color: #ce9178;">https</span></div><div> <span style="color: #569cd6;">number</span>: <span style="color: #b5cea8;">443</span></div><div> <span style="color: #569cd6;">protocol</span>: <span style="color: #ce9178;">HTTPS</span></div><div> <span style="color: #569cd6;">resolution</span>: <span style="color: #ce9178;">NONE</span></div></div></span></div><h2 style="text-align: left;"><span style="font-weight: normal;">Set up the namespace to be secure by default</span></h2><h3 style="text-align: left;">Enable mTLS in strict mode for a specific namespace</h3><div><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div style="line-height: 19px;"><div><span style="color: #569cd6;">apiVersion</span>: <span style="color: #ce9178;">"security.istio.io/v1beta1"</span></div><div><span style="color: #569cd6;">kind</span>: <span style="color: #ce9178;">"PeerAuthentication"</span></div><div><span style="color: #569cd6;">metadata</span>:</div><div> <span style="color: #569cd6;">name</span>: <span style="color: #ce9178;">"default"</span></div><div><span style="color: #569cd6;">spec</span>:</div><div> <span style="color: #569cd6;">mtls</span>:</div><div> <span style="color: #569cd6;">mode</span>: <span style="color: #ce9178;">STRICT</span></div></div></div></div><div style="line-height: 19px;"><span class="token string" face="SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace"><h3 style="border: 0px; box-sizing: border-box; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><br /></h3></span><h3 style="text-align: left;"><span style="border-color: initial; border-image: initial; border-style: initial; box-sizing: border-box; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit;">Apply ALLOW NOTHING policy</span></h3><span class="token string" face="SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace"><div style="border: 0px; box-sizing: border-box; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span face="SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"><span style="background-color: #2d2d2d; font-size: 11.2px; white-space: pre;"><pre><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px;"><div><span style="color: #569cd6;">apiVersion</span>: <span style="color: #ce9178;">security.istio.io/v1beta1</span></div><div><span style="color: #569cd6;">kind</span>: <span style="color: #ce9178;">AuthorizationPolicy</span></div><div><span style="color: #569cd6;">metadata</span>:</div><div> <span style="color: #569cd6;">name</span>: <span style="color: #ce9178;">allow-nothing</span></div><div><span style="color: #569cd6;">spec</span>:</div><div> {}</div></div></pre></span></span>
</div><div style="border: 0px; box-sizing: border-box; font-family: Consolas, "Courier New", monospace; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: pre;"><br /></div></span><h2 style="text-align: left;">Creating allow rules for the different components</h2><h3 style="text-align: left;">Create allow rule for the frontend</h3><div><div style="background-color: #1e1e1e; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div style="color: #d4d4d4;"><span style="color: #569cd6;">apiVersion</span>: <span style="color: #ce9178;">security.istio.io/v1beta1</span></div><div style="color: #d4d4d4;"><span style="color: #569cd6;">kind</span>: <span style="color: #ce9178;">AuthorizationPolicy</span></div><div style="color: #d4d4d4;"><span style="color: #569cd6;">metadata</span>:</div><div style="color: #d4d4d4;"> <span style="color: #569cd6;">name</span>: <span style="color: #ce9178;">frontend</span></div><div style="color: #d4d4d4;"><span style="color: #569cd6;">spec</span>:</div><div style="color: #d4d4d4;"> <span style="color: #569cd6;">selector</span>:</div><div style="color: #d4d4d4;"> <span style="color: #569cd6;">matchLabels</span>:</div><div style="color: #d4d4d4;"> <span style="color: #569cd6;">app.kubernetes.io/name</span>: {{ <span style="color: #c586c0;">include</span> <span style="color: #ce9178;">"web.name"</span> . }}</div><div style="color: #d4d4d4;"> <span style="color: #569cd6;">action</span>: <span style="color: #ce9178;">ALLOW</span></div><div style="color: #d4d4d4;"> <span style="color: #569cd6;">rules</span>:</div><div><span style="color: #d4d4d4;"> </span><span style="color: #569cd6;">- {}</span></div></div></div><div><br /></div><h3 style="text-align: left;">Create allow rule for accounts service</h3><div><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #569cd6;">apiVersion</span>: <span style="color: #ce9178;">security.istio.io/v1beta1</span></div><div><span style="color: #569cd6;">kind</span>: <span style="color: #ce9178;">AuthorizationPolicy</span></div><div><span style="color: #569cd6;">metadata</span>:</div><div> <span style="color: #569cd6;">name</span>: {{ <span style="color: #c586c0;">include</span> <span style="color: #ce9178;">"accounts.name"</span> . }}</div><div><span style="color: #569cd6;">spec</span>:</div><div> <span style="color: #569cd6;">selector</span>:</div><div> <span style="color: #569cd6;">matchLabels</span>:</div><div> <span style="color: #569cd6;">app.kubernetes.io/name</span>: {{ <span style="color: #c586c0;">include</span> <span style="color: #ce9178;">"accounts.name"</span> . }}</div><div> <span style="color: #569cd6;">action</span>: <span style="color: #ce9178;">ALLOW</span></div><div> <span style="color: #569cd6;">rules</span>:</div><div> - <span style="color: #569cd6;">from</span>:</div><div> - <span style="color: #569cd6;">source</span>:</div><div> <span style="color: #569cd6;">principals</span>: [<span style="color: #ce9178;">"cluster.local/ns/moneta/sa/frontend-web"</span>]</div><div> <span style="color: #569cd6;">to</span>:</div><div> - <span style="color: #569cd6;">operation</span>:</div><div> <span style="color: #569cd6;">paths</span>: [<span style="color: #ce9178;">"/accounts/*"</span>]</div></div></div></div><div><br /></div><h3 style="text-align: left;">
check policies applied </h3><div>istioctl x authz check $(kubectl get pods -l app=mssql -n moneta -o jsonpath="{.items[0].metadata.name}").moneta</div>Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-57369974575199650592021-03-11T12:52:00.012+01:002021-04-08T14:51:11.593+02:00Cloud-native Architecture<h2 style="background-color: white; box-sizing: border-box; color: #24292e; font-size: 16px; margin-bottom: 16px; margin-top: 0px; text-align: left;"><span style="font-weight: normal;">Definition:<br /><span style="font-family: inherit;">Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.</span></span></h2><h2 style="background-color: white; box-sizing: border-box; color: #24292e; font-size: 16px; margin-bottom: 16px; margin-top: 0px; text-align: left;"><span style="font-weight: normal;"><span style="font-family: inherit;"><br /></span><span style="font-family: inherit;">These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil.</span></span></h2><h2 style="background-color: white; box-sizing: border-box; color: #24292e; font-size: 16px; margin-bottom: 16px; margin-top: 0px; text-align: left;"><span style="font-weight: normal;"><span style="font-family: inherit;"><br /></span><span style="font-family: inherit;">The Cloud Native Computing Foundation seeks to drive adoption of this paradigm by fostering and sustaining an ecosystem of open source, vendor-neutral projects. We democratize state-of-the-art patterns to make these innovations accessible for everyone.</span></span></h2><h2 style="background-color: white; box-sizing: border-box; color: #24292e; font-size: 16px; margin-bottom: 16px; margin-top: 0px; text-align: left;"><span style="font-weight: normal;"><span style="font-family: inherit;"><br /></span>ref: <a href="https://github.com/cncf/foundation/blob/master/charter.md">https://github.com/cncf/foundation/blob/master/charter.md</a><br /><br /></span></h2><h2 style="background-color: white; box-sizing: border-box; margin-bottom: 16px; margin-top: 0px; text-align: left;"><span style="color: #24292e; font-size: 16px; font-weight: normal;">Traits of a cloud-native architecture:<br /><ul style="text-align: left;"><li>Self-healing</li><li>cost efficient</li><li>easy to update </li></ul></span><span style="color: #24292e;"><span style="font-size: 16px; font-weight: 400;">Principles</span></span><br /><ol style="color: #24292e; font-size: 16px; font-weight: normal; text-align: left;"><li>Design for automation</li><li>Favor stateless over statefull applications</li><li>Favor Managed Services</li><li>Practice defense in depth</li><li>Evolutionary Architecture</li></ol><span style="color: #24292e; font-size: 16px; font-weight: normal;"><br />ref: <a href="https://cloud.google.com/blog/products/application-development/5-principles-for-cloud-native-architecture-what-it-is-and-how-to-master-it">https://cloud.google.com/blog/products/application-development/5-principles-for-cloud-native-architecture-what-it-is-and-how-to-master-it</a></span></h2><p style="text-align: left;"></p><p style="text-align: left;"></p><p style="text-align: left;"></p><div style="text-align: left;"><br /></div>Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-13894937116972749312019-08-25T18:25:00.002+02:002019-08-25T18:27:44.140+02:00Micro8ks on windows<br />
<div>
Running Micro8ks on a windows machine</div>
<ul>
<li>Install Multipass: <a href="https://multipass.run/#install">https://multipass.run/#install</a></li>
<li>From Powershell:</li>
<ul>
<li>multipass launch -n microk8s-vm -m 4g -d 40g ubuntu</li>
<li>multipass list</li>
<li>multipass exec microk8s-vm -- sudo snap install microk8s --classic</li>
<li>multipass connect microk8s-vm</li>
</ul>
</ul>
<div>
References:</div>
<div>
<ul>
<li><a href="https://multipass.run/#install">https://multipass.run/#install</a></li>
<li><a href="https://microk8s.io/docs/">https://microk8s.io/docs/</a></li>
<li><a href="https://kubernetes.io/docs/getting-started-guides/ubuntu/#microk8s">https://kubernetes.io/docs/getting-started-guides/ubuntu/#microk8s</a></li>
<li><a href="https://snapcraft.io/microk8s">https://snapcraft.io/microk8s</a></li>
</ul>
</div>
<div>
<br /></div>
Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-4475287966844238652019-01-29T13:13:00.004+01:002019-01-29T13:14:09.827+01:00Check GDPR Compliancy in SQL Server with Dynamic Masking and Encryption<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;">
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 453.1pt;" valign="top" width="604"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">SELECT</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> S</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">name</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">AS</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: magenta; font-family: "consolas"; font-size: 9.5pt;">schema_name</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">,</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>T</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">name</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">AS</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> table_name</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">,</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>C</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">name</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">AS</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> column_name</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">,</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>TY</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">name</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">AS</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: magenta; font-family: "consolas"; font-size: 9.5pt;">type_name</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">,</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: magenta; font-family: "consolas"; font-size: 9.5pt;">COALESCE</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">(</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;">IT</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">value</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">,</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: red; font-family: "consolas"; font-size: 9.5pt;">N''</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">)</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">AS</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> information_type</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">,</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: magenta; font-family: "consolas"; font-size: 9.5pt;">COALESCE</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">(</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;">SL</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">value</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">,</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: red; font-family: "consolas"; font-size: 9.5pt;">N''</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">)</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">AS</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> sensitivity_label</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">,</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-tab-count: 1;"> </span><span style="mso-spacerun: yes;">
</span></span><span lang="EN-US" style="background: white; color: magenta; font-family: "consolas"; font-size: 9.5pt;">COALESCE</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">(</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;">mc</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;">is_masked</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">,</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: red; font-family: "consolas"; font-size: 9.5pt;">'0'</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">)</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">as</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> IsMasked</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">,</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-tab-count: 1;"> </span><span style="mso-spacerun: yes;">
</span></span><span lang="EN-US" style="background: white; color: magenta; font-family: "consolas"; font-size: 9.5pt;">ISNULL</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">(</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;">c</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">encryption_type</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">,</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> 0</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">)</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">as</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> IsEncrypted<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">FROM</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: lime; font-family: "consolas"; font-size: 9.5pt;">sys</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: lime; font-family: "consolas"; font-size: 9.5pt;">schemas</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">AS</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> S<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">JOIN</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: lime; font-family: "consolas"; font-size: 9.5pt;">sys</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: lime; font-family: "consolas"; font-size: 9.5pt;">tables</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">AS</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> T<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">ON</span><span style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> T</span><span style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span style="background: white; color: magenta; font-family: "consolas"; font-size: 9.5pt;">schema_id</span><span style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">=</span><span style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> S</span><span style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span style="background: white; color: magenta; font-family: "consolas"; font-size: 9.5pt;">schema_id</span><span style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">JOIN</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: lime; font-family: "consolas"; font-size: 9.5pt;">sys</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: lime; font-family: "consolas"; font-size: 9.5pt;">columns</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">AS</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> C<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">ON</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> C</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: magenta; font-family: "consolas"; font-size: 9.5pt;">object_id</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">=</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> T</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: magenta; font-family: "consolas"; font-size: 9.5pt;">object_id</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">JOIN</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: lime; font-family: "consolas"; font-size: 9.5pt;">sys</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: lime; font-family: "consolas"; font-size: 9.5pt;">types</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">AS</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> TY<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">ON</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> TY</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;">user_type_id </span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">=</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> C</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;">user_type_id<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">LEFT</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">OUTER</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">JOIN</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: lime; font-family: "consolas"; font-size: 9.5pt;">sys</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: lime; font-family: "consolas"; font-size: 9.5pt;">extended_properties</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">AS</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> IT<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">ON</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> IT</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;">major_id </span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">=</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> C</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: magenta; font-family: "consolas"; font-size: 9.5pt;">object_id</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">AND</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> IT</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;">minor_id </span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">=</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> C</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;">column_id<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">AND</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> IT</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">name</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">=</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: red; font-family: "consolas"; font-size: 9.5pt;">'sys_information_type_name'</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">LEFT</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">OUTER</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">JOIN</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: lime; font-family: "consolas"; font-size: 9.5pt;">sys</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: lime; font-family: "consolas"; font-size: 9.5pt;">extended_properties</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">AS</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> SL<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">ON</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> SL</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;">major_id </span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">=</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> C</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: magenta; font-family: "consolas"; font-size: 9.5pt;">object_id</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">AND</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> SL</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;">minor_id </span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">=</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> C</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;">column_id<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">AND</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> SL</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">name</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">=</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: red; font-family: "consolas"; font-size: 9.5pt;">'sys_sensitivity_label_name'</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-tab-count: 1;"> </span></span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">LEFT</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">OUTER</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">JOIN</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: lime; font-family: "consolas"; font-size: 9.5pt;">sys</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;">masked_columns
</span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">as</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> mc<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-tab-count: 2;"> </span></span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">ON</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> mc</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: magenta; font-family: "consolas"; font-size: 9.5pt;">object_id</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">=</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> t</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: magenta; font-family: "consolas"; font-size: 9.5pt;">object_id</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-tab-count: 2;"> </span></span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">AND</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> mc</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;">column_id </span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">=</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> c</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;">column_id<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">where</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> it</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">value</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">is</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">not</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">null</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">ORDER</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">BY</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"> S</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">name</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">,</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>T</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span lang="EN-US" style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">name</span><span lang="EN-US" style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">,</span><span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span lang="EN-US" style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span></span><span style="background: white; color: black; font-family: "consolas"; font-size: 9.5pt;">C</span><span style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">.</span><span style="background: white; color: blue; font-family: "consolas"; font-size: 9.5pt;">name</span><span style="background: white; color: grey; font-family: "consolas"; font-size: 9.5pt;">;</span><o:p></o:p></div>
</td>
</tr>
</tbody></table>
Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-88048682268757922932017-05-10T11:53:00.000+02:002017-05-10T11:53:01.708+02:00Why using { } even for single line if else statemens in C#<br />
<blockquote class="tr_bq">
<strong style="background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 14px;">If programmers at <a href="http://www.apple.com/" style="color: #333399; text-decoration-line: none;" target="_blank" title="Apple Computer">Apple</a> had simply followed a couple of the rules in the <a href="http://www.barrgroup.com/coding-standard" style="color: #333399; text-decoration-line: none;" target="_blank" title="Embedded C Coding Standard">Embedded C Coding Standard</a>, they could have prevented the very serious <a href="http://www.iphonehacks.com/2014/02/apple-gotofail-ssl-bug-affects-mail-messages-facetime-mac-apps.html" style="color: #333399; text-decoration-line: none;" target="_blank" title="Apple's `Gotofail` SSL Bug Affects iOS and OS X">`Gotofail` SSL bug</a> from entering the iOS and OS X operating systems. Here’s a look at the programming mistakes involved and the easy-to-follow coding standard rules that could have easily prevent the bug.</strong></blockquote>
Source: http://embeddedgurus.com/barr-code/2014/03/apples-gotofail-ssl-security-bug-was-easily-preventable/<br />
<br />
<br />Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-15968559641414828282016-10-14T16:28:00.003+02:002016-10-14T16:28:39.721+02:00Azure Streaming Analytics Windows<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkclREnG7AU2hVB5w9XsYXSOCaH83IyjG78cBE_Djf-jAHedYttH8k3vNI-CJQgmnnHr0Pnh8qMaRjiKIETIorfef8wg-jArFZCdCy0ZGDZKp0oSpVzBNPc-_afTqArOTeh28T6w/s1600/asa_windows.PNG" imageanchor="1"><img border="0" height="186" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkclREnG7AU2hVB5w9XsYXSOCaH83IyjG78cBE_Djf-jAHedYttH8k3vNI-CJQgmnnHr0Pnh8qMaRjiKIETIorfef8wg-jArFZCdCy0ZGDZKp0oSpVzBNPc-_afTqArOTeh28T6w/s640/asa_windows.PNG" width="640" /></a></div>
Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-52562400501810915262016-06-01T17:11:00.001+02:002016-06-03T11:26:15.681+02:00Converting unix epoch to datetime in streaming analyticssample input:<br />
<div class="MsoNormal">
<span lang="EN-GB"> {<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"Key": "Dryer_Sensor",<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"State": "0.8",<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
<b>"Timestamp": "1464782405968",</b></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"Site": "Bir57",<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"EventProcessedUtcTime": "2016-06-01T13:24:49.4517020Z",<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"PartitionId": 0,<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"EventEnqueuedUtcTime": "2016-06-01T12:00:06.4520000Z",<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"IoTHub": {<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"MessageId": "7e6d0379d85046f295c0cdaeaabe25d8",<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"CorrelationId": null,<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"ConnectionDeviceId": "openhab",<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"ConnectionDeviceGenerationId": "635957210185596241",<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"EnqueuedTime": "0001-01-01T00:00:00.0000000",<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"StreamId": null<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
}<o:p></o:p></span></div>
<span lang="EN-GB" style="font-family: "calibri" , sans-serif; font-size: 11.0pt;"> }</span><br />
<span lang="EN-GB" style="font-family: "calibri" , sans-serif; font-size: 11.0pt;"><br /></span>
<span lang="EN-GB" style="font-family: "calibri" , sans-serif; font-size: 11.0pt;"> query: <i>DATEADD(millisecond, CAST([Timestamp] as bigint), '1970-01-01T00:00:00Z') as timeFromString</i></span><br />
<span lang="EN-GB" style="font-family: "calibri" , sans-serif; font-size: 11.0pt;"><i><br /></i></span>
<span lang="EN-GB" style="font-family: "calibri" , sans-serif; font-size: 11.0pt;">this will result in '</span><span style="background-color: #daf0fa; color: #323232; font-family: "segoe ui"; font-size: 11px; line-height: 30px; white-space: nowrap;">1970-01-03T07:09:18.032Z</span><span style="font-family: "calibri" , sans-serif; font-size: 11pt;">' which is wrong!</span><br />
<span style="font-family: "calibri" , sans-serif; font-size: 11pt;"><br /></span>
<span style="font-family: "calibri" , sans-serif; font-size: 11pt;">you can correct this by modifying the input so its strips the quotes from the epoch</span><br />
<span style="font-family: "calibri" , sans-serif; font-size: 11pt;"><br /></span>
<br />
<div class="MsoNormal">
<span lang="EN-GB"> {<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"Key": "Dryer_Sensor",<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"State": "0.8",<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
<b>"Timestamp": "1464782405968",<o:p></o:p></b></span></div>
<div class="MsoNormal">
<b><span lang="EN-GB">
"epochtime": 1464782405968,<o:p></o:p></span></b></div>
<div class="MsoNormal">
<span lang="EN-GB">
"Site": "Bir57",<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"EventProcessedUtcTime": "2016-06-01T13:24:49.4517020Z",<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"PartitionId": 0,<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"EventEnqueuedUtcTime": "2016-06-01T12:00:06.4520000Z",<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"IoTHub": {<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"MessageId": "7e6d0379d85046f295c0cdaeaabe25d8",<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"CorrelationId": null,<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"ConnectionDeviceId": "openhab",<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"ConnectionDeviceGenerationId": "635957210185596241",<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"EnqueuedTime": "0001-01-01T00:00:00.0000000",<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
"StreamId": null<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB">
}<o:p></o:p></span></div>
<span lang="EN-GB" style="font-family: "calibri" , sans-serif; font-size: 11.0pt;"> }</span><br />
<span lang="EN-GB" style="font-family: "calibri" , sans-serif; font-size: 11.0pt;"><br /></span>
<span lang="EN-GB" style="font-family: "calibri" , sans-serif; font-size: 11.0pt;">and modifying the query so it omits the cast (where the bug resides): </span><i style="font-family: Calibri, sans-serif; font-size: 14.6667px;">DATEADD(millisecond, </i><span lang="EN-GB"><i>epochtime</i></span><i style="font-family: Calibri, sans-serif; font-size: 14.6667px;">, '1970-01-01T00:00:00Z') as time</i><br />
<i style="font-family: Calibri, sans-serif; font-size: 14.6667px;"><br /></i>
<span style="font-family: "calibri" , sans-serif; font-size: 14.6667px;">this will result in the expected result: </span><span style="background-color: #daf0fa; color: #323232; font-family: "segoe ui"; font-size: 11px; line-height: 30px; white-space: nowrap;">2016-06-01T12:00:05.968Z</span><br />
<span lang="EN-GB" style="font-size: 14.6667px;"><span style="font-family: "calibri" , sans-serif;"><i><br /></i></span></span>
<span lang="EN-GB" style="font-size: 14.6667px;"><span style="font-family: "calibri" , sans-serif;"><i><br /></i></span></span>Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-15425040178188354302016-04-22T11:00:00.002+02:002016-04-22T11:00:58.171+02:00Installing nodejs on a raspberry pipi@openhabpi:~ $ sudo apt-get install npm<br />
<div>
<br /></div>
Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-47213825870666241522016-04-08T15:41:00.000+02:002016-04-08T15:51:02.333+02:00Registering a device in Azure IoT Hub<br />
<h3>
Using Node.js</h3>
npm install -g iothub-explorer@latest<br />
iothub-explorer <connection string> create MyDevice<br />
<br />
<a href="https://blogs.windows.com/buildingapps/2015/12/09/windows-iot-core-and-azure-iot-hub-putting-the-i-in-iot/" target="_blank"><b>source</b></a><br />
<br />
<h3>
Using Device Explorer</h3>
See: <a href="https://github.com/Azure/azure-iot-sdks/blob/master/tools/DeviceExplorer/doc/how_to_use_device_explorer.md" target="_blank">azure iot sdk on github</a>Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-76129265981750700252016-02-26T19:58:00.003+01:002016-02-26T20:02:29.567+01:00Installing Z-Wave Stick Gen 5 on Windows IoT Core<br />
I am currently fiddling around with Windows 10 IoT Core on a raspberry Pi. I wanted to use Z-Wave to be able to control a Fibaro Wall Plug (http://www.fibaro.com/uk/the-fibaro-system/wall-plug)<br />
<br />
But I could not find the Z-Stick that was on the supported hardware list of windows iot core<br />
<br />
so I bought a Z-Wave Aeon Labs Z-Stick USB Controller - Gen5.<br />
<br />
the following steps will explain how to get it working for windows iot core<br />
<br />
Step 1<br />
Download the drivers here: http://aeotec.com/z-wave-usb-stick/1358-z-wave-drivers.html<br />
<br />
step 2<br />
Connect to tou you raspberry e.g. \\freyr\c$\Data\Users\Administrator\Documents<br />
and unzip and copy the drivers<br />
<br />
step 3<br />
connect using powershell<br />
<br />
[freyr]: PS C:\Data\Users\Administrator\Documents><br />
<br />
freyr]: PS C:\Data\Users\Administrator\Documents> dir<br />
<br />
<br />
Directory: C:\Data\Users\Administrator\Documents<br />
<br />
<br />
Mode LastWriteTime Length Name<br />
---- ------------- ------ ----<br />
-a---- 8/24/2015 8:34 PM 8424 uzb.cat<br />
-a---- 8/24/2015 8:34 PM 710 uzb.inf<br />
<br />
[freyr]: PS C:\Data\Users\Administrator\Documents> devcon dp_add .\uzb.inf<br />
<br />
....<br />
<br />
Driver package 'oem0.inf' added.<br />
[freyr]: PS C:\Data\Users\Administrator\Documents><br />
<br />
[freyr]: PS C:\Data\Users\Administrator\Documents> devcon status usb*<br />
<br />
...<br />
<br />
USB\VID_0658&PID_0200\5&3753427A&0&4<br />
Name: USB Serial Device<br />
Driver is running.<br />
<br />
...Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-20963732003311183312015-03-05T13:55:00.000+01:002015-03-05T13:55:49.611+01:00About CQS, CQRS and Event SourcingSeems to be a lot of confusion going on about these terms. The below extract form Greg Young explains it all:<br />
<blockquote class="tr_bq">
Many people have been getting confused over what CQRS is. They look at CQRS as being an architecture; it is not. CQRS is a very simple pattern that enables many opportunities for architecture that may otherwise not exist<strong>. CQRS is not eventual consistency, it is not eventing, it is not messaging, it is not having separated models for reading and writing, nor is it using event sourcing</strong>. I want to take a few paragraphs to describe first exactly what CQRS is and then how it relates to other patterns.</blockquote>
<br />
Reference: <a href="http://codebetter.com/gregyoung/2010/02/16/cqrs-task-based-uis-event-sourcing-agh/">http://codebetter.com/gregyoung/2010/02/16/cqrs-task-based-uis-event-sourcing-agh/</a><br />
<br />
<br />Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-77496025759661837282014-05-15T17:28:00.001+02:002014-05-15T17:33:50.412+02:00What is the difference between IaaS, Paas and SaaS?<h3>
Software as a Service (SaaS)</h3>
<span xmlns="">This has been around as long as the internet exists. These are pieces of software that you can subscribe to, like for instance Gmail, outlook.com, office 365 but as well as Adobe's creative cloud for instance. The main characteristics of this model is that you always are up to date with the latest version. If you take the example of outlook.com (Hotmail), Microsoft will not ask you to update it, you cannot rollback to a previous version. This off course will require from the provider that they always have to ensure continuity of their service. Since I as a customer would not appreciate it that I would not be able to read the emails in my inbox I received or sent 5 years ago.</span><br />
<h1>
<span xmlns=""><br /></span></h1>
<h3>
<span xmlns="">Platform as a Service (PaaS)</span></h3>
<span xmlns="">In Microsoft azure these are all the features Microsoft makes available to you the only thing you need to worry about is get your code on there and Microsoft will keep all these features up to date to the latest versions. You have little or no Control over the Operation System or the underlying Infrastructure. In return off course you get certain things in return. For instance in Azure Websites You can have zero downtime scaling, high availability, and failover. Cloud Services provide you with more control in configuring the underlying infrastructure but that's it, you cannot install additional components on these features like a SQL server, you get an OS, an IIS and that's it, there is however some control in the version of the underlying OS and network (expose additional endpoints, deploy on a virtual network, etc). </span><br />
<h1>
<span xmlns=""><br /></span></h1>
<h3>
<span xmlns="">Infrastructure as a Service (IaaS)</span></h3>
<span xmlns="">These are basically virtual machine, the customer is responsible to monitor and maintain the OS and install and maintain the necessary features on these Virtual Machines like e.g. IIS, MSMQ, …</span><br />
<span xmlns="">It's all matter of what you want to do yourself, are willing to do yourself</span><br />
<span xmlns=""><br /></span>
<span xmlns=""><br /></span>
<span xmlns=""><br /></span>
<span xmlns="">Scott Hanselman provides a very good analogy with regards to this: <a href="http://www.hanselman.com/blog/IntroducingWindowsAzureWebJobs.aspx">http://www.hanselman.com/blog/IntroducingWindowsAzureWebJobs.aspx</a><br /> </span>Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-34376295463258597822014-04-29T12:16:00.000+02:002014-04-29T12:16:59.090+02:00Microsoft Azure VPN: Error 0x8007274c whilst trying to connectWhen trying to connect you are getting the below error message:<br />
<br />
A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.<br />
(Error 0x8007274c)<br />
<br />
try to upload the root certificate again.Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-43339292588133071942014-04-23T14:49:00.001+02:002014-04-23T15:45:10.196+02:00Microsoft Azure: Reducing Cost<span xmlns=""></span><span xmlns="">If you plan to use IaaS make sure you have a sound monitoring strategy that you have reporting on the load and performance of your Virtual Machines. </span><br />
<span xmlns=""><br /> </span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyZcA3dPbs1abcU9tE9jDrEC1GIwhrKEEOP6TE0nZF57Nbk-dWsfh8bZ6wdSZMD_uN5rWJ8B7FnR6Vfe4D-yRS-lkKx8Wqi8qpgLu4eNdxolymWWen0QlJUOfzZjj73iK5LUEkOw/s1600/Image+1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyZcA3dPbs1abcU9tE9jDrEC1GIwhrKEEOP6TE0nZF57Nbk-dWsfh8bZ6wdSZMD_uN5rWJ8B7FnR6Vfe4D-yRS-lkKx8Wqi8qpgLu4eNdxolymWWen0QlJUOfzZjj73iK5LUEkOw/s1600/Image+1.png" height="146" width="640" /></a></div>
<span xmlns=""><br /> </span><br />
<span xmlns="">As the above graph shows that the virtual machine is not used during the last 7 days. This is a very good candidate to look a little bit deeper into. After doing some root cause analysis it is a standard small vm running linux costing your company around € 33.25 / a month. If we would scale down this application from Standard to Basic we would save € 5.54 / month which would be a cost reduction of ~17%. Since it seems that this virtual machine is underutilized for most of the time (CPU anyways) we could scale it down from S to XS bring down the cost even further from € 27.71 to € 9.98 which would save us an additional 64 %. Doing this it would mean that we would bring down out monthly cost from €33.25 to € 9.98 saving us 70%.</span><br />
<span xmlns="">If we would take it a step further we could investigate the type of application that is running on this serer and maybe migrate it to a PaaS solution bringing the cost even further down. In this case the VM was running a very simple website hosting this in a shared website we could even bring the cost further down to € 7.21 which would our bring our total savings to 92%.</span><br />
<span xmlns=""><br /></span>
<span xmlns="">The cloud is not only about up scaling it is all about optimizing cost! This means that if needed you can scale up and or out but it means you can scale down and in as well saving your company money. This is a very very simple example. But if you would closely analyze usage and optimize your scaling strategy, the potential cost savings can be quite significant. This was a case which I came across in my company, the figures are representative and taken from the Microsoft pricing calculator which can be found at: <a href="http://azure.microsoft.com/en-us/pricing/calculator/">http://azure.microsoft.com/en-us/pricing/calculator/</a>, not taken into account any EA reductions.</span><br />
<span xmlns=""><br /> </span><br />
<br />Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-45897331017914139942014-03-24T14:33:00.000+01:002014-03-24T14:33:02.147+01:00Disabling Caching on ajax calls using JQuery or javascriptdisabling cache of a single call
<script src="https://gist.github.com/jellebens/9740086.js"></script>
<br />
you can as well enable caching site-wide
<script src="https://gist.github.com/jellebens/9740121.js"></script>Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-5610608419213193792014-02-23T00:20:00.002+01:002014-02-23T00:29:58.749+01:00Problem Running application in IISExpress in Visual Studio over SSLI Currently set up an Azure VM to use as a development machine, I used MSDN's Default Visual Studio 2013 Image.<br />
<br />
When I try to run my web application locally Internet Explorer gives me a "This page can't be displayed" error... firefox gives me "The connection was reset".<br />
When browsing to the default non https port everything works as expected though...<br />
<br />
<br />
so the solution:<br />
<br />
1. uninstall iisexpress 8.0 (Control Panel > Uninstall a program)<br />
2. mmc.exe, Add/Remove snapp-in, Certificates, select Local Computer (Click Next), Finish<br />
here look under Personal, Certificates and delete the certificate Friendly Name = "IIS Express Development Certificate"<br />
3. Reinstall IIS Express 8.0<br />
4. following actions outlined in step 2. find the new "IIS Express Development Certificate", double click and goto details, find the thumbprint and copy the hash: 38 b3 05 a5 d2 1c ba 8b cb 45 fa 03 06 9a d4 b6 94 00 97 f9<br />
5. remove the spaces from the hash: 38b305a5d21cba8bcb45fa03069ad4b6940097f9<br />
open an elevated command prompt.<br />
netsh http show sslcert > sslcert.txt<br />
<br />
look for the entry matching your port. In my case it was this:<br />
<pre> IP:port : 0.0.0.0:44303
Certificate Hash : f5584bb1e88d4240d962bec7120e5a90302ff3b9
Application ID : {214124cd-d05b-4309-9af9-9caa44b2b74a}
Certificate Store Name : MY
Verify Client Certificate Revocation : Enabled
Verify Revocation Using Cached Client Certificate Only : Disabled
Usage Check : Enabled
Revocation Freshness Time : 0
URL Retrieval Timeout : 0
Ctl Identifier : (null)
Ctl Store Name : (null)
DS Mapper Usage : Disabled
Negotiate Client Certificate : Disabled
</pre>
<br />
run:<br />
netsh http delete sslcert ipport=0.0.0.0:44303<br />
netsh http add sslcert ipport=0.0.0.0:44303 appid={214124cd-d05b-4309-9af9-9caa44b2b74a} certhash=38b305a5d21cba8bcb45fa03069ad4b6940097f9<br />
<br />
references:<br />
<a href="http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx">Hanselman's blog</a>Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-3466833155211342892014-02-19T13:05:00.001+01:002014-02-19T13:09:55.110+01:00Bootstrap: 404 Not Found on .woff files<span class="objectBox objectBox-string " role="presentation">When using bootstrap I got the following message in my firefox console:</span><br />
<span class="objectBox objectBox-string " role="presentation"><br /></span>
<span class="objectBox objectBox-string " role="presentation"><span style="color: red;">"NetworkError: 404 Not Found - http://jellebens.azurewebsites.net/fonts/fontawesome-webfont.woff?v=4.0.3"</span></span><br />
<br />
Add the following lines to your web.config<br />
<script src="https://gist.github.com/jellebens/9090693.js"></script>
<br />
references:<br />
<br />
<ul>
<li>http://ideasof.andersaberg.com/idea/23/quick-fix-iis-woff-font-file-404-not-found-in-aspnet-mvc</li>
</ul>
<br />
<br />
<br />Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-83472484629683868332013-09-06T13:25:00.000+02:002013-09-06T13:25:35.748+02:00Windows Identity Framework Signing outWhen using claims based security and you implement the sign out functionality do not forget to delete the sessions cookie... otherwise when playing around with the back button you are able to sign in again... this is something you don't want...<br />
<br />
<br />
<script src="https://gist.github.com/jellebens/6462446.js"></script>
<script src="https://raw.github.com/moski/gist-Blogger/master/public/gistLoader.js" type="text/javascript"></script>
<div class="gistLoad" data-id="6462446" id="gist-GistID">Loading ....</div>
Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-2544154713443438392013-06-17T16:33:00.001+02:002013-10-10T13:51:39.076+02:00MVC: Intellisense for custom HtmlHelpers or if you want to avoid @using to import namespacesIf you write custom HtmlHelpers its quite tedious to have to add @using your.namespace.to.your.htmlHelpers on top of each page. To be able to use your newly written htmlhelpers<br /><br />to avoid this just find the web.config in your <b><u>views</u></b> folder and locate the following section: <br />
<system.web.webPages.razor><br /> <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /><br /> <pages pageBaseType="System.Web.Mvc.WebViewPage"><br /> <namespaces><br /> <add namespace="System.Web.Mvc" /><br /> <add namespace="System.Web.Mvc.Ajax" /><br /> <add namespace="System.Web.Mvc.Html" /><br /> <add namespace="System.Web.Optimization"/><br /> <add namespace="System.Web.Routing" /><br /> <add namespace="SharpSolutions..MvcApplication.Helpers.BootStrap"/><br />
<add namespace="SharpSolutions.MvcApplication.Helpers"/><br /> </namespaces><br /> </pages><br /> </system.web.webPages.razor><br />
<br />
and add your custom namespace to it.<br />
<br />After you have done this reload your mvc project (or close Visual Studio and reopen it).Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-17479503019073505092013-06-11T16:00:00.000+02:002013-06-14T16:38:29.191+02:00Windows Azure Logging not working Trace.TraceError throws: Not running in a hosted service or the Development Fabric.I had the following line in my web.config:<br />
<br />
<pre style="background: #1e1e1e; color: gainsboro; font-family: Consolas; font-size: 13;"><span style="color: grey;"><</span><span style="color: #569cd6;">system.diagnostics</span><span style="color: grey;">></span>
<span style="color: grey;"> <</span><span style="color: #569cd6;">trace</span><span style="color: grey;">></span>
<span style="color: grey;"> <</span><span style="color: #569cd6;">listeners</span><span style="color: grey;">></span>
<span style="color: grey;"> <</span><span style="color: #569cd6;">add</span><span style="color: grey;"> </span><span style="color: #92caf4;">type</span><span style="color: grey;">=</span><span style="color: grey;">"</span><span style="color: #c8c8c8;">Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</span><span style="color: grey;">"</span>
<span style="color: grey;"> </span><span style="color: #92caf4;">name</span><span style="color: grey;">=</span><span style="color: grey;">"</span><span style="color: #c8c8c8;">AzureDiagnostics</span><span style="color: grey;">"</span><span style="color: grey;">></span>
<span style="color: grey;"> <</span><span style="color: #569cd6;">filter</span><span style="color: grey;"> </span><span style="color: #92caf4;">type</span><span style="color: grey;">=</span><span style="color: grey;">""</span><span style="color: grey;"> /></span>
<span style="color: grey;"> </</span><span style="color: #569cd6;">add</span><span style="color: grey;">></span>
<span style="color: grey;"> </</span><span style="color: #569cd6;">listeners</span><span style="color: grey;">></span>
<span style="color: grey;"> </</span><span style="color: #569cd6;">trace</span><span style="color: grey;">></span>
<span style="color: grey;"> </</span><span style="color: #569cd6;">system.diagnostics</span><span style="color: grey;">></span></pre>
<br />
After removing this: it created WAWSAppLogTable as expected.<br />
More info can be found here: <a href="http://www.windowsazure.com/en-us/manage/services/web-sites/how-to-configure-websites/">www.windowsazure.com</a><br />
<br />
<br />
for local debugging I left the line untouched... I created a new config transformation where I added:<br />
<br />
<pre style="background: #1e1e1e; color: gainsboro; font-family: Consolas; font-size: 13;"><span style="color: grey;"><</span><span style="color: #569cd6;">system.diagnostics</span><span style="color: grey;">></span>
<span style="color: grey;"> <</span><span style="color: #569cd6;">trace</span><span style="color: grey;">></span>
<span style="color: grey;"> <</span><span style="color: #569cd6;">listeners</span><span style="color: grey;">></span>
<span style="color: grey;"> <</span><span style="color: #569cd6;">add</span><span style="color: grey;"> </span><span style="color: #92caf4;">name</span><span style="color: grey;">=</span><span style="color: grey;">"</span><span style="color: #c8c8c8;">AzureDiagnostics</span><span style="color: grey;">"</span><span style="color: grey;"> </span><span style="color: #92caf4;">xdt:Locator</span><span style="color: grey;">=</span><span style="color: grey;">"</span><span style="color: #c8c8c8;">Match(name)</span><span style="color: grey;">"</span><span style="color: grey;"> </span><span style="color: #92caf4;">xdt:Transform</span><span style="color: grey;">=</span><span style="color: grey;">"</span><span style="color: #c8c8c8;">Remove</span><span style="color: grey;">"</span><span style="color: grey;"> /></span>
<span style="color: grey;"> </</span><span style="color: #569cd6;">listeners</span><span style="color: grey;">></span>
<span style="color: grey;"> </</span><span style="color: #569cd6;">trace</span><span style="color: grey;">></span>
<span style="color: grey;"> </</span><span style="color: #569cd6;">system.diagnostics</span><span style="color: grey;">></span></pre>
<br />
<br />
Which is quite logic since Azure websites is not hosted in the AppFabrikJelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-66002630743938226602013-06-07T10:11:00.002+02:002013-06-07T10:11:57.507+02:00Team Foundation 2012: Run xUnit unit testsCurrently I am using <a href="https://tfs.visualstudio.com/">https://tfs.visualstudio.com/</a> and writing my unit tests with <a href="http://xunit.codeplex.com/">xUnit</a>. To enable this follow the steps outlined on <a href="http://tfs.visualstudio.com/en-us/learn/hosted-build-controller-in-vs.aspx#supplemental_binaries">MSDN</a>.<br />
<br />
<br />
You can find the binaries in the packages folder in your solution directoryJelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0tag:blogger.com,1999:blog-34744747.post-10975380470114017332012-12-19T14:35:00.004+01:002012-12-19T14:35:50.716+01:00Windows 8 RDP with blank password If you want to enable Remote Desktop with a blank password on window 8, this is the same procedure as enabling rdp on windows 7 instructions can be found<b> <a href="http://jellebens.blogspot.be/2010/01/windows-7-rdp-with-blank-password.html">here</a></b><br />
<br />
As a collegue suggested enabling this is a security risk.Jelle Benshttp://www.blogger.com/profile/04614790746997025594noreply@blogger.com0