Tag Archives: GitHub

PowerShell Conference and Cloud Automation

The last two weeks I had the opportunity to speak at a number of events. The PowerShell Conference Europe in Hanover and technical user groups in the UK. This post is intended to provide information about the various events and is intended to share the information in regard to the sessions.

Last week, 17-20 April, the PowerShell Conference Europe was held again. This event was once again a great success, with sessions presented by the PowerShell Team and experts from their respective fields. Enthusiasts gathered from all over the Europe, and the world, to participate in this event. There were plenty of lively interactions between attendees and speakers and the PowerShell team. All in all there was a great atmosphere of sharing and collaboration at the conference.

The location of the conference, unchanged for 3 years now, housed the 300+ attendees easily. In contrast to last year the rooms in which the sessions were held were located more conveniently so that limited the amount of walking around the venue. On the last day of the conference an German X-Factor event was being held in the same venue, so this resulted an interesting mix of people in- and around the venue.

I could not mention this years PowerShell Conference without at least mentioning the fact that #SadJoey hashtag was a trending topic at the conference. Due to an excellent picture tweeted by PowerShell team member, Steve Lee.

To give you and impression of the event I have shared some pictures of the PowerShell Conference Europe here:

I presented the following three topics, so head over to my GitHub account to grab the slides and code, as always it is stored in the Events repository:

All presentations and accompanying code can be found in the PSConfEU GitHub repository here. All sessions have been recorded and this post will be updated with the links to the videos once it becomes available.

The week following the PowerShell Conference I left for the UK to speak at various PowerShell, WinOps and Cloud Infrastructure user groups. The theme of the topics was mostly focused on Cloud Automation using Azure Functions and Microsoft Flow in combination with several other products of the Office 365 suite.

As the sessions in the UK were in the week after the PowerShell Conference, Tobias Weltner was so kind to gift two PSConfEU shirts for the user groups in the UK. The best question was rewarded with the polo with the PSConfEU logo embroidered on it. This was of course a tough call, and for the second shirt I opted for the always reliable Get-Random cmdlet.

It was impressive to see everyone turn up for the technical meetups, as all of them took place in the evenings and the Microsoft Flow workshop was held on Saturday. There are a lot of people with passion for their jobs and the technologies they work with. It was great to meet you all, thanks for your interest and the engaging discussions, both after as well as during the sessions.

The slide decks, labs and code I have used are stored into my GitHub account in the Events repository:

The big take away for me is that fueling this passion in the technical communities is important and sharing ideas is what drives this. By doing so we are able to learn from each other and improve our technical abilities. This would of course not be possible without the support of all the sponsors, and in my case my employer Rubrik, as they make it possible for me to participate and contribute to the technical communities.

I also put the slides up on SlideShare to make it easier to view and share:








Share

Updated Events GitHub repository – Convert pptx to pdf

As I have been speaking at a number of events recently I also have been updating my GitHub Events repository. Usually I include a markdown file with a short description, my demos and my slides. I had been uploading my files as .pptx and I noticed that the repository edged over 100 MB. This prompted me into reconsidering this approach, I felt I needed to address the following:

  • Use the most compatible format available, presentations should be viewable on any device
  • Fonts should be correctly represented
  • File size should be minimal

In an effort to more efficiently use the space I have available and to use a more compatible format I decided to convert my presentations to .pdf.

Because I do not like doing stuff manually I decided to use PowerShell in combination with a bit of bash scripting to get my repository updated. First lets take a look what kind of data we are dealing with:

1
2
Get-ChildItem C:\git\Events -File -Filter *pptx -Recurse |
Select-Object -Property FullName

In total 29 presentations uploaded in .pptx format, if I would have to convert these by hand it would take about 30 minutes. Taking a look at what is possible with the PowerPoint.Application Com-Object took about 5 minutes and an additional 5 to put together the following script:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Get-ChildItem C:\git\Events -File -Filter *pptx -Recurse |
ForEach-Object -Begin {
    $null = Add-Type -AssemblyName Microsoft.Office.Interop.PowerPoint
    $SaveOption = [Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType]::ppSaveAsPDF
    $PowerPoint = New-Object -ComObject "PowerPoint.Application"
} -Process {
    $Presentation = $PowerPoint.Presentations.Open($_.FullName)
    $PdfNewName  = $_.FullName -replace '\.pptx$','.pdf'
    $Presentation.SaveAs($PdfNewName,$SaveOption)
    $Presentation.Close()
} -End {
    $PowerPoint.Quit()
    Stop-Process -Name POWERPNT -Force
}

This script will recursively look for all .pptx files in the Events repository and the run the following code:

  • In the begin block load the PowerPoint Com-Object and the required type for storing files as .pdf
  • For each presentation, open the presentation, generate a new name and convert it to .pdf
  • Finally at the end close the PowerPoint application and afterwards using Stop-Process to close the window, note that if you had any other PowerPoint windows open they will also be closed.

Now I have both the .pdf and the .pptx stored in the folder, let’s take a look what the difference in file size is:

1
2
3
4
5
6
7
8
9
foreach ($Extension in ('pptx','pdf')) {
    Get-ChildItem C:\git\Events -File -Filter "*$Extension" -Recurse |
    Measure-Object -Property Length -Sum | ForEach-Object {
        [pscustomobject]@{
            'SizeinMB'  = [math]::Round($_.Sum/1MB,2)
            'Extension' = $Extension
        }
    }
}

A nice decrease in size and a format that is more suitable for sharing, this is looking good. After verifying that the .pdf files are looking good we can remove the .pptx files with the following code:

1
2
Get-ChildItem C:\git\Events -File -Filter *pptx -Recurse |
Remove-Item -Force

The last step is to commit everything to GitHub and make it available to everyone. I found a nice Stack Overflow thread that explained how to mass remove files:

Removing multiple files from a Git repo that have already been deleted from disk

Which left me with the following commands to run to commit everything to the repository using bash:

1
2
3
4
git ls-files --deleted -z | xargs -0 git rm 
git add *
git commit -m "Removed pesky pptx and added glorious pdf"
git push origin master

And to view the result here is what is looks like on GitHub now and the commit:

GitHub – JaapBrasser – Events – Commits

Let me know what you think, is .pdf a more useful format over .pptx to share presentations or would you rather see it the other way around?

Share

Wrap up of Tuga IT Conference in Lisbon


Last week I attended and delivered two presentations at Tuga IT in the Microsoft HQ in Lisbon. It was a great experience and a first visit to Lisbon to me, which gave me the change to interact with the local IT communities there. Tuga IT is a conference put together by nine separate user groups based in Portugal.

To give you an impression of the event I included the following pictures:

All the code and slides are as always available in my Events GitHub repository:

Furthermore I have also uploaded my presentations to Docs and SlideShare:

Share

Summary of PowerShell Conference Europe 2017

Last week I was lucky enough to attend and speak at the largest European PowerShell conference, PowerShell Conference Europe in Hannover.  At the conference I was surrounded by some of the best and brightest in the my field, an overwhelming and educational experience. I think it is fair to say this has been one of the best events of its kind and my thanks goes out to Tobias and the PSConfEU team for putting such a great event together.

If you missed out on the event then there is no need to fret as almost every session has been recorded and the PSConfEU team is currently working on making sure all content is available on the PowerShell Conference Europe YouTube channel:
YouTube icon Playlist: PowerShell Conference EU – PSCONF.EU 2017

To give you an impression of the event here are some pictures of the PowerShell Conference:

For the actual code and presentation slide decks that were used by all presenters you can check out the GitHub repository:
GitHub – PSConfEU – 2017

More information is continually posted, both by the PSConfEU team as well as other speakers and organizers. You can expect blog posts on the content I presented on during the conference. Let me know what topics you are most interested in and I will use that as input for upcoming blog posts.

I presented the following three topics, so head over to my GitHub account to grab the slides and code, as always it is stored in the Events repository:

Furthermore I have also uploaded my presentations to Docs and SlideShare.



Share

Virtual PowerShell Presentation Microsoft User Groups Singapore

Last Friday I presented at the PowerShell Meetup of the Microsoft User Groups based in Singapore. Having been a speakers at the PowerShell Conference Asia, which is also held in Singapore, for the past two years, it was nice to virtually be present in the Microsoft offices again. 

The session I prepared was on the topic of writing PowerShell code, what tools to use and how to leverage the strengths of those tools. I focused the presentation on using both Visual Studio Code, VSCode, and the PowerShell ISE in combination with ISESteroids.

I have uploaded all the materials I used during my presentation to my Events GitHub Repository, which is available here:

GitHub – Jaap Brasser – Events – MSUG Singapore

To get an impression of the event, the event organizer Sebastian Szumigalski was kind enough to provide me with these pictures of the event, be sure to check out his blog it contains a lot of great content. Here are some of the photos to give you an impression of the event.

The PowerPoint slides are also available on SlideShare:

Share