The Register: Tangled in .NET: Will 5.0 really unify Microsoft's development stack?. https://www.theregister.co.uk/2019/05/16/will_net_5_really_unify_microsoft_development_stack/
Thursday, May 16, 2019
Monday, May 6, 2019
Windows 10 will soon ship with a full, open source, GPLed Linux kernel
Ars Technica: Windows 10 will soon ship with a full, open source, GPLed Linux kernel. https://arstechnica.com/gadgets/2019/05/windows-10-will-soon-ship-with-a-full-open-source-gpled-linux-kernel/
Tuesday, April 23, 2019
openwrt strongswan config for android and ios using native vpn client
/etc/ipsec.config
conn ios
keyexchange=ikev1
authby=xauthrsasig
xauth=server
left=%any
leftsubnet=0.0.0.0/0
leftfirewall=yes
leftcert=serverCert.pem
right=%any
rightsubnet=192.168.1.0/24
rightsourceip=%dhcp
rightcert=clientCert.pem
forceencaps=yes
auto=add
conn android keyexchange=ikev2 left=%any leftauth=pubkey leftcert=serverCert.pem leftid=yourdomain.dyndns.org leftsubnet=0.0.0.0/0,::/0 right=%any rightsubnet=192.168.1.0/24 rightsourceip=%dhcp rightauth=pubkey rightcert=androidCert.pem auto=add
Tuesday, April 9, 2019
Extending the angular and react single page application with graph api to customer web api
The original article are published here:
https://docs.microsoft.com/en-us/graph/tutorials/angular
https://docs.microsoft.com/en-us/graph/tutorials/react
to make it work with my own web api, I have to make considerable adjustment:
in the react version, there is a need to give the tenant specific authority URL.
this is how we call the web api:
The angular version:
Most importantly , you need to specific the scope for the web api when acquiring the token, a sample config is as below:
Finally you also need to sort out CORS issue.
https://docs.microsoft.com/en-us/graph/tutorials/angular
https://docs.microsoft.com/en-us/graph/tutorials/react
to make it work with my own web api, I have to make considerable adjustment:
in the react version, there is a need to give the tenant specific authority URL.
class App extends Component {
constructor(props) {
super(props);
this.userAgentApplication = new UserAgentApplication(config.appId,
"https://login.microsoftonline.com/{tentan}", null);
this is how we call the web api:
async componentDidMount() {
try {
// Get the user's access token
var accessToken = await window.msal.acquireTokenSilent(config.scopes2);
var timesheets = await api.get(accessToken);
// Update the array of events in state
this.setState({timesheets: timesheets});
The angular version:
export class TimesheetService {
accessToken: string;
constructor(private authService: AuthService,
private alertsService: AlertsService,
private http: HttpClient
) {
//move the following two line to login method within authService and save token in cache.
//this.authService.getAccessToken(OAuthSettings.scopes2).then(data => {
//this.authService.getAccessToken(OAuthSettings.scopes2).then(data => {
//this.accessToken = data;
this.accessToken = sessionStorage.getItem('access_token');
this.accessToken = sessionStorage.getItem('access_token');
});
}
getTimeSheets():Observable<TimeSheet[]> {
var header = {headers: new HttpHeaders()
.set('Authorization', 'Bearer ' + this.accessToken)
}
return this.http.get<Array<TimeSheet>>('https://localhost:44301/api/TimeSheets?WeekEnding=2018-10-01',header);
}
export class TimesheetComponent implements OnInit {
private timesheets: TimeSheet[];
constructor(private timesheetService: TimesheetService) { }
ngOnInit() {
this.getTimeSheets();
}
getTimeSheets() {
this.timesheetService.getTimeSheets().subscribe(data => {
this.timesheets = data;
});
}
Most importantly , you need to specific the scope for the web api when acquiring the token, a sample config is as below:
export const OAuthSettings = {
appId: 'xxxxx-xxxx-4edxxxx9-xxxx-xxxxxx',
scopes: [
"user.read",
"calendars.read"
],
scopes2: [
"https://{tenant}}.onmicrosoft.com/webapi/access_as_user"
]
};
Finally you also need to sort out CORS issue.
Thursday, March 28, 2019
Integrate PowerBI report with your application using PowerBI.js with AAD authentication
I have published my test code at github here: https://github.com/georgewen/integrate-report-web-app
this is done following the tutorial here:
with some customisation and changes.
this is done following the tutorial here:
Tutorial: Embed Power BI content into an application for your organization
with some customisation and changes.
Tuesday, March 26, 2019
"Something is wrong with the numpy installation. While importing we detected an older version of numpy" error on azure databricks
"Something is wrong with the numpy installation. While importing we detected an older version of numpy"
I was doing the lab below and experienced the issue today.
https://cloudworkshop.blob.core.windows.net/cognitive-deep-learning/Hands-on%20lab/HOL%20step-by%20step%20-%20Cognitive%20services%20and%20deep%20learning.html
the problem seems to be related to azureml-sdk[databricks] because if I uninstall it some part of code can still run.
after spending quite some time scratching my hair, I looked up the azureml-sdk release page and found out that a new version 1.0.21 released just today (26 March 2019), I uninstall the default version and installed the prior version by using the format azureml-sdk[databricks]==1.0.18.1
alternatively if you choose runtime version 5.2 when creating the cluster then the problem doesn't occur.
I was doing the lab below and experienced the issue today.
https://cloudworkshop.blob.core.windows.net/cognitive-deep-learning/Hands-on%20lab/HOL%20step-by%20step%20-%20Cognitive%20services%20and%20deep%20learning.html
the problem seems to be related to azureml-sdk[databricks] because if I uninstall it some part of code can still run.
after spending quite some time scratching my hair, I looked up the azureml-sdk release page and found out that a new version 1.0.21 released just today (26 March 2019), I uninstall the default version and installed the prior version by using the format azureml-sdk[databricks]==1.0.18.1
alternatively if you choose runtime version 5.2 when creating the cluster then the problem doesn't occur.
Monday, February 18, 2019
Dax: currency conversion with date range
if you have daily exchange rate, the post at https://www.kasperonbi.com/currency-conversion-in-dax-for-power-bi-and-ssas/ shows a nice solution, however if you are like me where exchange rates are only updated periodically hence come with a start and end date then you need a difference solution.
with a small change to the above, I came up with an alternative solution as below:
Sales (in reporting currency) := if(HASONEVALUE(ReportCurrency[ReportCurrency]),
SUMX(FactSales,FactSales[Sales]*CALCULATE(MIN(FactExchangeRate[Factor]),
FILTER(FactExchangeRate,
AND(FactExchangeRate[FromDate]<=FactSales[Date],FactExchangeRate[ToDate]> FactSales[Date])
)
)
)
)
YTD Sales (year to date) :=
YTD Sales (year to date) :=
SUMX(
CALCULATETABLE(FactSales,ALL(FactSales[Date]),DATESYTD(DATE[date]))
FactSales[Sales]*CALCULATE(MIN(FactExchangeRate[Factor]),
CALCULATETABLE(FactSales,ALL(FactSales[Date]),DATESYTD(DATE[date]))
FactSales[Sales]*CALCULATE(MIN(FactExchangeRate[Factor]),
FILTER(FactExchangeRate,
AND(FactExchangeRate[FromDate]<=FactSales[Date],FactExchangeRate[ToDate]> FactSales[Date])
)
)
)
LTD Sales (life to date) :=
SUMX(
CALCULATETABLE(FactSales,ALL(FactSales[Date]),
FILTER(ALL(DATE),DATE[Date] <= MAX(DATE[date]))
)
FactSales[Sales]*CALCULATE(MIN(FactExchangeRate[Factor]),
FILTER(FactExchangeRate,
AND(FactExchangeRate[FromDate]<=FactSales[Date],FactExchangeRate[ToDate]> FactSales[Date])
)
)
)
The above formula are quite resource intensive though, hence if you are working on a very large dataset, it is probably better to have them pre-calculated
Subscribe to:
Posts (Atom)
Disable Microsoft Defender for Cloud for Visual Studio Subscription (MSDN)
I use a visual studio pro subscription which comes with $150 azure cloud credit, for some reason Microsoft Defender for Cloud was turned on ...
-
Error 15401: Windows NT user or group '%s' not found. Check the name again. SELECT name FROM syslogins WHERE sid = SUSER_SID ('Y...
-
/etc/ipsec.config conn ios keyexchange=ikev1 authby=xauthrsasig xauth=server lef...
-
Ever since I installed VMWare ESX server on my HP ML110 G4, I haven't got much chance playing it and it has been lying on the floor for ...