Implementing Missing Features in Entity Framework Core – Part 5: Getting the SQL for a Query

This will be the fifth post in a series of posts about bringing the features that were present in Entity Framework pre-Core into EF Core. The others are:

  • Part 1: Introduction, Find, Getting an Entity’s Id Programmatically, Reload, Local, Evict

  • Part 2: Explicit Loading

  • Part 3: Validations

  • Part 4: Conventions

This time I’m going to talk about something that is often requested: how can I get the SQL string for a LINQ query? If you remember, in the pre-Core days you had to do some reflection in order to get the underlying ObjectQuery and then call its ToTraceString method. Now, things are very different, although I may say, still rather tricky!

So, this is all we need:

private static readonly FieldInfo QueryCompilerField = typeof(EntityQueryProvider).GetTypeInfo().DeclaredFields.First(x => x.Name == "_queryCompiler");
private static readonly PropertyInfo NodeTypeProviderField = QueryCompilerTypeInfo.DeclaredProperties.Single(x => x.Name == "NodeTypeProvider");
private static readonly MethodInfo CreateQueryParserMethod = QueryCompilerTypeInfo.DeclaredMethods.First(x => x.Name == "CreateQueryParser");
private static readonly FieldInfo DataBaseField = QueryCompilerTypeInfo.DeclaredFields.Single(x => x.Name == "_database");
private static readonly FieldInfo QueryCompilationContextFactoryField = typeof(Database).GetTypeInfo().DeclaredFields.Single(x => x.Name == "_queryCompilationContextFactory");

public static string ToSql<TEntity>(this IQueryable<TEntity> query) where TEntity : class
{
if (!(query is EntityQueryable<TEntity>) && !(query is InternalDbSet<TEntity>))
{
throw new ArgumentException("Invalid query");
}

var queryCompiler = (IQueryCompiler) QueryCompilerField.GetValue(query.Provider);
var nodeTypeProvider = (INodeTypeProvider) NodeTypeProviderField.GetValue(queryCompiler);
var parser = (IQueryParser) CreateQueryParserMethod.Invoke(queryCompiler, new object[] { nodeTypeProvider });
var queryModel = parser.GetParsedQuery(query.Expression);
var database = DataBaseField.GetValue(queryCompiler);
var queryCompilationContextFactory = (IQueryCompilationContextFactory) QueryCompilationContextFactoryField.GetValue(database);
var queryCompilationContext = queryCompilationContextFactory.Create(false);
var modelVisitor = (RelationalQueryModelVisitor) queryCompilationContext.CreateQueryModelVisitor();
modelVisitor.CreateQueryExecutor<TEntity>(queryModel);
var sql = modelVisitor.Queries.First().ToString();

return sql;
}

You can see that it needs some reflection, meaning, things *may* break on a future version. I cached all of the fields to make the access faster in subsequent calls. For the time being, it works perfectly:

var sql1 = ctx.Blogs.ToSql();

var sql2 = ctx
.Blogs
.Where(b => b.CreationDate.Year == 2016)
.ToSql();

Hope this is useful to you! Winking smile

Optimising WMI calls–part 3

The next change just uses 1 call to get the disk information instead of 2

 

Measure-Command -Expression {

$srvs = ‘W16TP5TGT01’, ‘W16TP5TGT02’

for ($i=1; $i -le 150; $i++){

foreach ($srv in $srvs) {
$cs = New-CimSession -ComputerName $srv
$bootupMemory = Get-CimInstance -Query "SELECT * FROM Win32_OperatingSystem" -CimSession $cs
$cpuLoad = Get-CimInstance -Query "SELECT * FROM Win32_Processor" -CimSession $cs

$tSessions = Get-CimInstance -Query "SELECT * FROM Win32_TerminalService" -CimSession $cs

$sfilt = "Name=’imaservice’ OR Name=’mfcom’ OR Name=’cpsvc’ OR Name=’msmq’"
$reqserv = Get-CimInstance -ClassName Win32_Service -Filter $sfilt -CimSession $cs
 
$ima = $reqserv | where Name -eq ‘imaservice’
$mfcom = $reqserv | where Name -eq ‘mfcom’
$ctxPrintMgr = $reqserv | where Name -eq ‘cpsvc’
$msmqstatus = $reqserv | where Name -eq ‘msmq’

$dfilt = "Deviceid=’c:’ OR Deviceid=’D:’"
$drives = Get-CimInstance -ClassName Win32_Logicaldisk -Filter $dfilt -CimSession $cs
 
$cDrive = $drives | where deviceid -eq ‘c:’
$dDrive = $drives | where deviceid -eq ‘d:’
Remove-CimSession -CimSession $cs
}
}
}

 

Time now becomes

Days              : 0
Hours             : 0
Minutes           : 6
Seconds           : 36
Milliseconds      : 923
Ticks             : 3969235528
TotalDays         : 0.00459402260185185
TotalHours        : 0.110256542444444
TotalMinutes      : 6.61539254666667
TotalSeconds      : 396.9235528
TotalMilliseconds : 396923.5528

 

Not such a dramatic change but overall we’re now taking 26.4% less time to run the code. 

Optimising WMI calls–part 2

Last time we looked at using CIM sessions to make a set of WMI calls run quicker. This time we’ll reduce the number of calls.  I’m deliberately just reducing the number of calls to the Win32_Service class.  We’ll look at the disks another time

 

Our code becomes

Measure-Command -Expression {

$srvs = ‘W16TP5TGT01’, ‘W16TP5TGT02’

for ($i=1; $i -le 150; $i++){

foreach ($srv in $srvs) {
$cs = New-CimSession -ComputerName $srv
$bootupMemory = Get-CimInstance -Query "SELECT * FROM Win32_OperatingSystem" -CimSession $cs
$cpuLoad = Get-CimInstance -Query "SELECT * FROM Win32_Processor" -CimSession $cs

$tSessions = Get-CimInstance -Query "SELECT * FROM Win32_TerminalService" -CimSession $cs

$sfilt = "Name=’imaservice’ OR Name=’mfcom’ OR Name=’cpsvc’ OR Name=’msmq’"
$reqserv = Get-CimInstance -ClassName Win32_Service -Filter $sfilt -CimSession $cs
 
$ima = $reqserv | where Name -eq ‘imaservice’
$mfcom = $reqserv | where Name -eq ‘mfcom’
$ctxPrintMgr = $reqserv | where Name -eq ‘cpsvc’
$msmqstatus = $reqserv | where Name -eq ‘msmq’

$cDrive = Get-CimInstance -Query "SELECT * FROM Win32_Logicaldisk WHERE deviceid=’c:’" -CimSession $cs
$dDrive = Get-CimInstance -Query "SELECT * FROM Win32_Logicaldisk WHERE deviceid=’d:’" -CimSession $cs
Remove-CimSession -CimSession $cs
}
}
}

 

The change is to create a filter that pulls back JUST the services we want. Use that to create a collection of Win32_Service objects and then populate the variables with the required service data

 

Time drops dramatically

Days              : 0
Hours             : 0
Minutes           : 6
Seconds           : 50
Milliseconds      : 133
Ticks             : 4101339515
TotalDays         : 0.0047469207349537
TotalHours        : 0.113926097638889
TotalMinutes      : 6.83556585833333
TotalSeconds      : 410.1339515
TotalMilliseconds : 410133.9515

 

Total time goes from 539.42 seconds to 410.13 seconds.  That’s reduced the time by 23.96%

 

These are just simple coding changes remember- we’re not performing any clever parallel processing here

PowerShell speaker opportunities still open

You have just over a month to register your session proposals for the 2017 PowerShell Summit – https://powershell.org/2016/08/01/powershell-and-devops-global-summit-2017-call-for-topics/

Linux Malware – FairWare ransomware deletes web server files

A newly improved ransomware threat called FairWare can now deletes files from Linux web servers

http://www.networkworld.com/article/3113998/new-ransomware-threat-deletes-files-from-linux-web-servers.html

Dubbed FairWare, the malicious program is not the first ransomware threat to target Linux-based web servers but is the first to delete files. Another program called Linux.Encoder first appeared in November and encrypted files, but did so poorly, allowing researchers to create recovery tools.  After attackers hack a web server and deploy FairWare, the ransomware deletes the entire web folder and then asks for two bitcoins (around US$1,150) to restore them, Lawrence Abrams, the founder of tech support forum BleepingComputer.com, said in a blog post.

Intel — Announces Kaby Lake Processor Details

Intel — Announces Kaby Lake Processor Details

Intel has announced details for Kaby Lake CPUs which promises improved power consumption, functionality and 4K video handling

http://www.pcmag.com/news/347429/intel-unveils-kaby-lake-processor-details

Intel showed today that it’s continuing to pursue the goal, with the full release of its 7th Generation Core processing platform, code-named “Kaby Lake,”.   Kaby Lake’s debut focuses on devices at the lower end of the power spectrum, with the introduction of a new range of processors using between 4.5 and 15 watts. The chips will be available in laptop computers and Intel-driven mobile devices beginning this fall. The processors will come to enterprise, workstation, desktop, and enthusiast notebook systems by January 2017.

The variation of the process used in Kaby Lake is something Intel calls “14nm+”, which boasts an improved fin profile and transistor channel strain. Intel claims that the chips represent a power efficiency improvement of as high as 25 percent over Skylake processors, and that they may deliver up to 12 percent increased productivity performance and up to 19 percent increased Web performance.

Much of Intel’s push around Kaby Lake centered on comparisons to PCs that are five years old, what the company considers the standard upgrade window. Its press materials offer that Kaby Lake chips are 1.7 times faster at basic processing, for example, and are three times better when playing high-end 3D games at 1,920-by-1,080 resolution.

Apple – iPhone 7 details to be announced on September 7

On September 7, 2016, Apple will announce iPhone 7 details. They could unveil new MacBook Pros and the Apple Watch 2 at the same event.

https://9to5mac.com/2016/08/29/apple-event-date-iphone-7/

Both iPhone 7 models are expected to introduce a darker color for the black-front model. The iPhone 5 introduced a dark blue color called slate that was prone to scuffing, and Apple has played with versions of its ‘space gray’ gunmetal gray color since the iPhone 5s. The iPhone 7 is expected to feature a return to a dark blue color or maybe even a near black ‘space black‘ option.

As you may notice in the alleged leaked cases above, Apple is also widely expected to drop the 3.5-mm headphone jack on both iPhone 7 models in a push toward Lightning, Bluetooth, and AirPlay audio.  While both models are expected to gain faster A10 processors and drop the 16GB tier for 32GB entry models, the most dramatic change is likely coming to the 5.5-inch iPhone 7 Plus.

As for the Apple Watch 2, the anticipated refresh will mark the first update since the current model was unveiled two years ago and released a year and a half ago. The design is expected to look generally the same, but much needed speed improvements are on the way and a GPS chip for mapping workouts and using location services is expected.

Apple later released the 9.7-inch iPad Pro at its March event earlier this year, new iPads aren’t expected until next year, and rumors of an updated Apple TV haven’t surfaced aside from one story late last year.  Apple will also likely give stage time once again to its upcoming software updates: iOS 10, macOS Sierra, watchOS 3, and tvOS 10.

Got battery problems with Surface 3? There’s a fix!

If you have a Surface 3 and the battery doesn’t last long, there is a firmware fix available from MS.

Catastrophic Surface Pro 3 battery life finally has its firmware fix

Top tools for preventing data leaks

If you are a corporation and want to protect vital or legal documents like HIPAA data, here some examples of software that can help.

Top tools for preventing data leaks

Removal instructions for Get-a-Clip

What is Get-a-Clip?

The Malwarebytes research team has determined that Get-a-Clip is adware. These adware applications display advertisements not originating from the sites you are browsing.

https://forums.malwarebytes.org/topic/187642-removal-instructions-for-get-a-clip/

Optimising WMI calls–part 1

Recently saw some code where user was running this

$bootupMemory = gwmi -Query "SELECT * FROM Win32_OperatingSystem" -ComputerName $srv
$cpuLoad = gwmi -Query "SELECT * FROM Win32_Processor" -ComputerName $srv

$tSessions = gwmi -Query "SELECT * FROM Win32_TerminalService" -ComputerName $srv

$ima = gwmi -Query "SELECT * FROM Win32_Service WHERE name=’imaservice’" -ComputerName $srv
$mfcom = gwmi -Query "SELECT * FROM Win32_Service WHERE name=’mfcom’" -ComputerName $srv
$ctxPrintMgr = gwmi -Query "SELECT * FROM Win32_Service WHERE name=’cpsvc’" -ComputerName $srv
$msmqstatus = gwmi -Query "SELECT * FROM Win32_Service WHERE name=’msmq’" -ComputerName $srv

$cDrive = gwmi -Query "SELECT * FROM Win32_Logicaldisk WHERE deviceid=’c:’" -ComputerName $srv
$dDrive = gwmi -Query "SELECT * FROM Win32_Logicaldisk WHERE deviceid=’d:’" -ComputerName $srv

 

against 300 machines.  There were some more calls they involved WMI classes installed by Citrix which I don’t use in my lab

 

Question was why was it running slow

 

Two thoughts initially are that repeated calls to Get-WmiObject involve creating, using and removing DCOM connections. This assumes that DCOM isn’t blocked by a firewall or the network. Using a single CIM session should speed up the process.

 

Secondly making multiple calls to the same class is inefficient.

 

In addition using the WQL query involves more typing which makes things more difficult to maintain.

 

Last point is that everyone knows how much I love aliases so you won’t be surprised if I point out that using them is BAD

 

I don’t have 300 servers in my lab – though using nano server VMs on a machine with 64GB ram you could do that – so I used some PowerShell looping to get round that

Measure-Command -Expression {

$srvs = ‘W16TP5TGT01’, ‘W16TP5TGT02’

for ($i=1; $i -le 150; $i++){

foreach ($srv in $srvs) {
$bootupMemory = gwmi -Query "SELECT * FROM Win32_OperatingSystem" -ComputerName $srv
$cpuLoad = gwmi -Query "SELECT * FROM Win32_Processor" -ComputerName $srv

$tSessions = gwmi -Query "SELECT * FROM Win32_TerminalService" -ComputerName $srv

$ima = gwmi -Query "SELECT * FROM Win32_Service WHERE name=’imaservice’" -ComputerName $srv
$mfcom = gwmi -Query "SELECT * FROM Win32_Service WHERE name=’mfcom’" -ComputerName $srv
$ctxPrintMgr = gwmi -Query "SELECT * FROM Win32_Service WHERE name=’cpsvc’" -ComputerName $srv
$msmqstatus = gwmi -Query "SELECT * FROM Win32_Service WHERE name=’msmq’" -ComputerName $srv

$cDrive = gwmi -Query "SELECT * FROM Win32_Logicaldisk WHERE deviceid=’c:’" -ComputerName $srv
$dDrive = gwmi -Query "SELECT * FROM Win32_Logicaldisk WHERE deviceid=’d:’" -ComputerName $srv
}
}
}

Measure command will run the commands but it reports the time taken rather than the results

 

I have 2 servers and loop 150 times round connecting to them and getting the results

Some caching of connectivity information occurs but this is close enough

 

Days              : 0
Hours             : 0
Minutes           : 8
Seconds           : 59
Milliseconds      : 419
Ticks             : 5394194858
TotalDays         : 0.00624328108564815
TotalHours        : 0.149838746055556
TotalMinutes      : 8.99032476333333
TotalSeconds      : 539.4194858
TotalMilliseconds : 539419.4858

 

A time of just under 9 minutes isn’t bad. This is fast enough to run during the day and can definitely be run over night

 

But we should be able to do better than that

 

Lets use a CIM session instead of individual DCOM sessions

Measure-Command -Expression {

$srvs = ‘W16TP5TGT01’, ‘W16TP5TGT02’

for ($i=1; $i -le 150; $i++){

foreach ($srv in $srvs) {
$cs = New-CimSession -ComputerName $srv
$bootupMemory = Get-CimInstance -Query "SELECT * FROM Win32_OperatingSystem" -CimSession $cs
$cpuLoad = Get-CimInstance -Query "SELECT * FROM Win32_Processor" -CimSession $cs

$tSessions = Get-CimInstance -Query "SELECT * FROM Win32_TerminalService" -CimSession $cs

$ima = Get-CimInstance -Query "SELECT * FROM Win32_Service WHERE name=’imaservice’" -CimSession $cs
$mfcom = Get-CimInstance -Query "SELECT * FROM Win32_Service WHERE name=’mfcom’" -CimSession $cs
$ctxPrintMgr = Get-CimInstance -Query "SELECT * FROM Win32_Service WHERE name=’cpsvc’" -CimSession $cs
$msmqstatus = Get-CimInstance -Query "SELECT * FROM Win32_Service WHERE name=’msmq’" -CimSession $cs

$cDrive = Get-CimInstance -Query "SELECT * FROM Win32_Logicaldisk WHERE deviceid=’c:’" -CimSession $cs
$dDrive = Get-CimInstance -Query "SELECT * FROM Win32_Logicaldisk WHERE deviceid=’d:’" -CimSession $cs
Remove-CimSession -CimSession $cs
}
}
}

 

Time is now

Days              : 0
Hours             : 0
Minutes           : 8
Seconds           : 31
Milliseconds      : 839
Ticks             : 5118397269
TotalDays         : 0.00592407091319444
TotalHours        : 0.142177701916667
TotalMinutes      : 8.530662115
TotalSeconds      : 511.8397269
TotalMilliseconds : 511839.7269

 

That’s a 5% speed increase for minimal coding effort

 

Next step is to remove the redundant WMI calls which we’ll do in the next post

Installing and Configuring SharePoint Server 2013 on premise for Microsoft Azure

In case you are wondering this is completely different than the Quick and Dirty install video. This video goes through all of the steps to build a production grade install of SharePoint.

What? That seems really confusing. How do you do on-prem SharePoint 2013 on Azure? You use IaaS (Infrastructure as a Service) of course.

In this video, we start with nothing and build out all of the pieces to install SharePoint Server 2013. While the video shows it how to do everything in Azure you can adapt the steps to do an install inside your own network just as easy.

Domain Controller

  • We create a VM DC1 and set a static IP
  • We make changes to the Azure Virtual Network
  • We DCPromo the server and create a new Contoso.com domain
  • All of those steps and a lot more are covered in this video: Create a new Active Directory Forest in Azure https://www.youtube.com/watch?v=_HmQO43vgNs

SQL Server 2014 SP2

  • We create a VM SQL1
  • We install SQL Server 2014 SP2 180-day trial
  • We set all of the security and settings to make SharePoint happy
  • All of those steps and more are covered in this video: Install SQL Server 2014 for SharePoint https://www.youtube.com/watch?v=AXxMONuRN2E

SharePoint Server 2013 Install

  • We create a VM SP1
  • We install SharePoint Server 2013 RTM 180-day trial
  • We install Service Pack 1
  • We install June 2016 Cumulative Update
  • All of those steps and more are covered in this video: Install and Configure SharePoint Server 2013 on-prem using Microsoft Azure – Part 1 https://www.youtube.com/watch?v=rFElnN8vG20

SharePoint Server 2013 Configure

  • We use PowerShell to create our farm
  • We walk through the service accounts and least privileged security concepts
  • We create all of the service applications with database names without GUIDs
  • SharePoint is up and fully functional for you to use
  • All of those steps and more are covered in this video: Install and Configure SharePoint Server 2013 on prem using Microsoft Azure – Part 2 https://www.youtube.com/watch?v=-wOlCEm-H5w

That should do it. Walk through all of that content and you can have a SharePoint 2013 Server up and running in Azure. Pretty awesome!

For this video, there is also a premium guide available. The premium guide just documents all of the steps in an easy to following guide with numbered steps, bolded actions, and screenshots. Additionally, it includes automated PowerShell scripts that allow you to avoid all of the typing demonstrated in the video. Finally, there is a script and Excel file that will create the active directory accounts for you. It is preconfigured to create all of the accounts in the video but is easy to update to add additional accounts for testing or to change the names to meet your domain standards. For more information, check out http://www.boldzebras.com/youtube

Let me know what you think and if you have suggestions for future videos.

 Shane

 PS – I have the same thing available for SharePoint Server 2016 http://www.boldzebras.com/sharepoint-2016-on-prem

How to Sign in to Windows 10

By default, you need to dismiss the lock screen and enter your credentials to sign in to Windows 10 with your account.

This tutorial will show you how to sign in to Windows 10 with your user account.

Read more…

Unit Testing .NET Core

Introduction

With the recent arrival of .NET Core, some things that we were used to having are no longer available. This includes unit tests – plus Visual Studio integration – and mocking frameworks. Fortunately, they are now becoming available, even if, in some cases, in pre-release form.

In this post, I will cover:

  • Unit testing frameworks
  • Mocking libraries
  • Validation libraries

I won’t explore everything that exists, just present a simple setup that works well for .NET Core.

Unit Testing

So, you want to do unit testing? There are a couple of frameworks for that purpose that work with .NET Core, which include:

MS Test is Microsoft’s own unit testing library, I’d say a much hated one because of its historical tie to Visual Studio. This was the last one that was announced for .NET Core and it’s still not in release form.

They more or less work the same way, so let’s see how to use xUnit, my favorite one So, you need to add two Nuget packages:

  • xunit: this is the actual library that you will be using
  • dotnet-test-xunit: this is the runner and integration with Visual Studio

I sometimes have a base class for tests, which takes care of loading configuration and initializing stuff, but let’s leave that aside. A unit test class for xUnit looks like this:

using Xunit;

public class MyTests
{
[Fact]
public void Test()
{
}
}

Now, you need to configure the runner so that you can run tests in Visual Studio. Using project.json, it goes like this:

{
"version": "1.0.0-*",
"testRunner": "xunit",
"buildOptions": {
"emitEntryPoint": false,
"copyToOutput": ["appsettings.json"]
},

"dependencies": {
"dotnet-test-xunit": "2.2.0-preview2-build1029",
"Microsoft.Extensions.Configuration": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
"Microsoft.Extensions.PlatformAbstractions": "1.0.0",
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
},
"xunit": "2.2.0-beta2-build3300"
},

"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
}
}

Notice that I am copying to the output folder the appsettings.json file, I am not going to talk about it, but let’s just say that it has some configuration that my tests will use, and it needs to be on the same file as the unit tests assembly.

With the Visual Studio integration working, we get this:

image

So we can run and debug our tests directly from here. Nice to have coherent behavior for all unit test frameworks!

Mocking

As for mocking, there are also some mocking frameworks that work with .NET Core:

I’ll pick Moq for this exercise. Just add the Moq package to your project. Here’s how to do simple mocking of an interface:

using Xunit;
using Moq;

[Fact]
public void Test()
{
var mock = new Mock<IService>();
mock
.Setup(x => x.Get())
.Returns("Hi there!");

var svc = mock.Object;

var result = svc.Get();

Assert.NotNull(result);

Assert.Equal("Hi there!", result);
}

Exactly the same as you’d do in a classic .NET unit test using mocking.

Validation

As for validations, I know of two libraries that work with .NET Core:

I’ll pick FluentAssertions. Here’s a simple example, for the same test:

using FluentAssertions;
using Moq;
using Xunit;

[Fact]
public void Test()
{
var mock = new Mock<IService>();
mock
.Setup(x => x.Get())
.Returns("Hi there!");

var svc = mock.Object;

var result = svc.Get();

result
.Should()
.BeOfType<string>()
.And
.Be("Hi there!");
}

Again, this should be familiar to everyone.

Conclusion

So, it’s no longer unit tests holding us back from .NET Core! Most of what is done today in classic .NET can be done in Core by now. There are still some more complex libraries, for interception, mapping, serialization, etc, that are not quite there yet, but I expect these to come with time.

Removal instructions for Window Raws Manager

What is Window Raws Manager?

The Malwarebytes research team has determined that Window Raws Manager is adware. These adware applications display advertisements not originating from the sites you are browsing.
This one belongs to the WinRange family.

https://forums.malwarebytes.org/topic/187587-removal-instructions-for-window-raws-manager/

How to Change Picture Password for your Account in Windows 10

You can sign in to your PC with a picture password. You choose the picture and the three gestures you use with it to create a password that’s uniquely yours. When you have chose a picture, you “draw” with the mouse, touchpad, or pin/finger on a touchscreen to create a combination of circles, straight lines, and taps. The size, position, and direction of your gestures become part of your picture password.

When you change your picture password, you can keep your current picture and change your gestures, or choose a new picture.

This tutorial will show you how to change the picture password for your account in Windows 10.

Read more…

How to Remove a Picture Password from your Account in Windows 10

You can sign in to your PC with a picture password. You choose the picture and the three gestures you use with it to create a password that’s uniquely yours. When you have chose a picture, you “draw” with the mouse, touchpad, or pin/finger on a touchscreen to create a combination of circles, straight lines, and taps. The size, position, and direction of your gestures become part of your picture password.

This tutorial will show you how to remove a picture password from your account in Windows 10.

Read more…

How to Replay your Picture Password in Windows 10

You can sign in to your PC with a picture password. You choose the picture and the three gestures you use with it to create a password that’s uniquely yours. When you have chose a picture, you “draw” with the mouse, touchpad, or pin/finger on a touchscreen to create a combination of circles, straight lines, and taps. The size, position, and direction of your gestures become part of your picture password.

If you have forgotten your current set of gestures for your account’s picture password, then you can replay them to see them.

This tutorial will show you how to replay the picture password gestures for your account in Windows 10.

Read more…

How to Add a Picture Password to your Account in Windows 10

You can sign in to your PC with a picture password. You choose the picture and the three gestures you use with it to create a password that’s uniquely yours. When you have chose a picture, you “draw” with the mouse, touchpad, or pin/finger on a touchscreen to create a combination of circles, straight lines, and taps. The size, position, and direction of your gestures become part of your picture password.

This tutorial will show you how to add a picture password to your account in Windows 10.

Read more…

“Toymaster” has released Security Mailer Volume 16 #35

Security Mailer V16 #25

  • Apple rushes out security patches for iOS
  • Microsoft Office for Mac updates
  • Browser updates – Pale Moon for Linux
  • Cisco advisories including new patches related to NSA hack and Shadow Brokers
  • Open Source bulletin from HP for Perl and PHP, Linux 25th birthday, Linux Updates
  • Microsoft Security Bulletin revisions, Windows 10 updates and issues
  • General curity entries including US CERT bulletins
  • There is also information on VM Ware updates and the Microsoft PRO section has some important information.
  • During August I have also made a number of new additions to the Windows 10 resources so if you use Windows 10 be sure to take a look (look by date and you will find the new entries quite easily).

    Part 2 –

    1- JB – Article discussing the Shadow Brokers NSA leak from a different perspective that I happen to agree with completely as it coincides with my research on the issue and it led me to the same conclusions (another Snowden at the NSA)

    2- Leaked Exploits – from Mohit Kumar at The Hacker News, the leaked exploits from the Shadow Brokers are indeed legit and do belong to the NSA

Recent Comments

Archives