jump to navigation

MS Office 365 (Click-to-Run): Remove unused applications August 16, 2015

Posted by claudio in Uncategorized.
Tags: , , , , ,
add a comment

Too many MS Office 365 appsIf you install Microsoft Office trough click-to-run you’ll end with the full suite installed. You can no longer select what application you want to install. That’s kind of OK because you pay for the complete suit. Or at least the organisation (school, work, etc.) offering the subscription does. But maybe you are like me and you dislike installing applications you don’t use. Or even more like me: you’re a Linux user with a Windows VM you boot once in a while out of necessity. And unused applications in a VM residing on your disk is *really* annoying.

The Microsoft documentation to remove the unused applications (Access as a DB? Yeah, right…) wasn’t very straightforward so I post what worked for me after the needed trial-and-error routines. This is a small howto:

    • Install the Office Deployment Toolkit (download). The installer asks for a installation location. I put it in C:\Users\<me>\OfficeDeployTool (<me> is my username, change accordingly).
    • Create a configuration.xml with the applications you want to delete. The file should reside in the directory you chose for the Office Deployment Tookit (e.g. C:\Users\<me>\OfficeDeployTool\configuration.xml) or you should refer to the file with its full path name. If you run the 64-bit Office version change OfficeClientEdition="32" to OfficeClientEdition="64".
      You can find the full list op AppIDs here. Add or remove ExcludeApps as desired. The content of the file in my case was like follows:
      <Add SourcePath="C:\Users\<me>\OfficeDeployTool" OfficeClientEdition="32">
      <Product ID="O365ProPlusRetail">
      <Property Name="FORCEAPPSHUTDOWN" Value="TRUE" />
      <Language ID="en-us" />
      <ExcludeApp ID="Access" />
      <ExcludeApp ID="Groove" />
      <ExcludeApp ID="InfoPath" />
      <ExcludeApp ID="Lync" />
      <ExcludeApp ID="OneNote" />
      <ExcludeApp ID="Outlook" />
      <ExcludeApp ID="Project" />
      <ExcludeApp ID="Publisher" />
      <ExcludeApp ID="SharePointDesigner" />
      <Updates Enabled="TRUE"/>
      <Display Level="None" AcceptEULA="TRUE" />
      <!-- <Property Name="AUTOACTIVATE" Value="1" /> -->
    • Download the office components. Type in a cmd box:
      C:\Users\<me>\OfficeDeployTool>setup.exe /download configuration.xml
    • Remove the unwanted applications:
      C:\Users\<me>\OfficeDeployTool>setup.exe /configure configuration.xml
    • Delete (if you want) the Office Deployment Toolkit directory (that includes the downloaded office components)

Enjoy the space (if you are using a VM don’t forget to defragment and compact the Virtual Hard Disk to reclaim the space) and the faster updates.

Post-it: PROXIMUS_AUTO_FON and TelenetWifree (Belgium) from GNU/Linux (or Windows 7) April 14, 2015

Posted by claudio in Uncategorized.
Tags: , , , , , ,


The Belgian ISPs Proximus and Telenet both provide access to a network of hotspots. A nice recent addition is the use of alternative ssids for “automatic” connections instead of a captive portal where you login through a webpage. Sadly, their support pages provide next to no information to make a safe connection to these hotspots.

Proximus is a terrible offender. According to their support page on a PC only Windows 8.1 is supported. Linux, OSX *and* Windows 8 (!) or 7 users are kindly encouraged to use the open wifi connection and login through the captive portal. Oh, and no certification information is given for Windows 8.1 either. That’s pretty silly, as they use EAP-TTLS. Here is the setup to connect from whatever OS you use (terminology from gnome-network-manager):

Security: WPA2 Enterprise
Authentication: Tunneled TLS (TTLS)
Anonymous identity: what_ever_you_wish_here@proximusfon.be
Certificate: GlobalSign Root CA (in Debian/Ubuntu in /usr/share/ca-certificates/mozilla/)
Inner Authentication: MSCHAPv2
Usename: your_fon_username_here@proximusfon.be
Password: your_password_here

Telenet’s support page is slightly better (not a fake Windows 8.1 restriction), but pretty useless as well with no certificate information whatsoever. Here is the information needed to use TelenetWifree using PEAP:

SSID: TelenetWifree
Security: WPA2 Enterprise
Authentication: Protected EAP (PEAP)
Anonymous identity:what_ever_you_wish_here@telenet.be
Certificate: GlobalSign Root CA (in Debian/Ubuntu in /usr/share/ca-certificates/mozilla/)
Inner Authentication: MSCHAPv2
Usename: your_fon_username_here@telenet.be
Password: your_password_here
Radius server certificate (optional): authentic.telenet.be

If you’re interested, screenshots of the relevant parts of the wireshark traceare attached here:

proximus_rootca telenet_rootca

Build the Padre development tree using local::lib on Debian/Ubuntu February 17, 2015

Posted by claudio in Uncategorized.
Tags: , , ,
1 comment so far

catThanks to the great job of Kaare Rasmussen (kaare) and Kevin Dawson (bowtie) moving the Padre repository from a stalled svn/trac setup to github (and keeping the repo alive), hopefully the development can be rebooted.

I posted a small howto about setting and development environment to hack on Padre (svn), but it’s already outdated due to the new libraries that Linux distros now package (gtk3, wx 3.0.1, etc.). The fastest way I found to setup a Padre environment is using local::lib (https://metacpan.org/pod/local::lib).

Because recent Linux distributions have recent Perl and Padre packages, you won’t be working with ancient packages. E.g., Ubuntu 14.10 comes with Perl 5.20.1 and Padre 1.0 (this is also valid for Debian Testing/Unstable). Kudos to the Debian Perl Group (https://pkg-perl.alioth.debian.org/).

These instructions are provided for building an development environment to hack on Padre itself or to keep track of the most recent changes on github.

These are the step to get Padre fromgithub:

  • Get the OS dependencies. The easieast way is just to install the packaged padre. Its dependencies include local::lib:
    $ sudo apt-get install padre

The OS-packaged Padre can of course be starting by just typing:

$ padre

  • Get development dependencies for Padre:
    $ cpanm -l ~/perl5 Module::Install
  • Install Padre and dependencies:
    $ cpanm -l ~/perl5 .
  • Run Padre:
    – in dev mode:
    $ ./dev
    – or the local::lib installed app:
    $ ~/perl5/bin/padre

Perl@Fosdem: thanks! February 2, 2015

Posted by claudio in Uncategorized.
Tags: , , ,
add a comment

fosdemSo far, the reactions to the Perl presence at Fosdem  have been great. The dev-room was more than packed most of the day, the Perl booth was by far the nicest there (biggest Perl library in the world, huge and small camels, wall sized banners, books, stickers, wine from the city of Perl (!), …) and Larry’s big announcement in a packed 1400 sits auditorium made waves: Christmas got a date.

So a big thank you for everyone helping out: the speakers, the dev-room (Theo, Geoff!) and booth volunteers and of course the audience!

According to the Fosdem people, the videos should be online Real Soon ™…

Ignorance and arrogance don’t mix well (aka the CCC The Perl Jam talk) January 6, 2015

Posted by claudio in Uncategorized.
Tags: , ,


In my experience (in an academic setting), positive public talks can often be categorized in two scenarios:

– You are knowledgeable about the subject, but by no means an expert. You have something to share that you think will be interesting for the audience.

– You specialised on a subject, and you hope the expertise you built and your experience will interest/help others. You know there are experts on related subjects out there and you’re curious in what they have to say. Oh, and maybe you’re not an expert after all. Maybe you are. You don’t care.

With a positive attitude like that these kind of talks tend to be fun for you and for the audience. With or without jokes, depending on the setting and your style. It boils down to knowledge (can they audience learn something from you, or at least did you made someone there think about the subject) and openness (are you willing to learn?). If you’re a superstar in your field, you may get pretty far with knowledge alone. The audience may forgive you for being an arrogant prick. For some time. Maybe. (If you declare yourself an expert, you’re probably no superstar.)

Most of us are no superstars: enter the “Perl Jam Talk”. Wouter (@debian) presented a nice technical rebuttal. I am sure there are other out there. Someone that learnt the basics of Perl with O’Reilly’s Learning Perl (I did) of stayed up to date with 2014’s Perl by reading chromatic’s Modern Perl (a wonderful gift to the Perl community), knows that the ranting has no technical merit.

So, in this case it wasn’t ignorance that hit me. We are all newbies one way of an other, life would be boring otherwise. I think I may even stand arrogance. But the combination? No number of “suck” and “fuck” exclamations during a talk can save you there. The tantrum route for not understanding something? Here is what most sensible people do: reread the paragraph or ask someone to explain it. I am pretty sure that even superstars do that once in a while.

Review: Java Cookbook, 3rd ed., by Ian F. Darwin (O’Reilly) September 7, 2014

Posted by claudio in Uncategorized.
Tags: , , , , ,
add a comment

Java Cookbook

I am not really a fan of Cookbook style books. However, by looking at the table of contents of the Java Cookbook, it’s clear that the chapters on this book run parallel to chapters in more classical technical books, e.g. the excellent Core Java books by Horstman and Cornell. While the more classical books try hard to provide a logical structure within the chapter with the needed context (a story) to master the content, cookbooks give you independent ready-to-use recipes (yeah for metaphors!). So it’s really about getting a proven solution fast than (deep) understanding. But you should get that from the title, so no surprises there.

My specific use case is simple. I want to do some Java coding soon, and needed a quick refresh on the language. While not so long ago I used Java 7 features for a private project, most of my Java coding in the past was based on Java 6. Java 8 seems to have nice improvements, so a fresh-from-the-press Java Cookbook (3rd edition, July 2014) seemed a fast way to get up to date. With 900+ pages, “fast” is of course relative. By this standard, the books delivered.

The content is *very* varied. Some chapters needed careful reading (or even re-reading), while others could be skimmed or even skipped. Recipes include (citing the product page):

  • Methods for compiling, running, and debugging
  • Manipulating, comparing, and rearranging text
  • Regular expressions for string- and pattern-matching
  • Handling numbers, dates, and times
  • Structuring data with collections, arrays, and other types
  • Object-oriented and functional programming techniques
  • Directory and filesystem operations
  • Working with graphics, audio, and video
  • GUI development, including JavaFX and handlers
  • Network programming on both client and server
  • Database access, using JPA, Hibernate, and JDBC
  • Processing JSON and XML for data storage
  • Multithreading and concurrency

As you can see, it’s a mixture of very basic and advanced stuff and that kind of thechnical width has its risks. Some recipes are too obvious and not more useful than the javadoc showing the classic usage of a standard method of a standard class (e.g. substr from String). As such, I don’t think it can replace a good book from a “Learning/Starting” series if you’re new to Java. A similar phenomenon happened on the other side of the spectrum. For more complicated subjects (like the new functional aspects in Java (lambdas), GUI development or threading) a cooking recipe just doesn’t provide enough context to really grasp the concepts. I hope the following screenshot from the book illustrates my point (and also shows what I don’t like about java):


Try to put this in a recipe!


Despite this warning, I can say that most of the recipes are useful. By example, even the first chapter (“Getting Started: Compiling, Running, and Debugging”) was surprisingly useful because it included things like ant, maven and gradle. There is lots of content to skim (it’s OK, it’s a cookbook!), lots of interesting stuff to read, lots to use with a mental note “need to dig deeper here” and even some annoyances from time to time (I wish the author would stop pushing his own classes for trivial stuff, like removing tabs (!)).

As a conclusion we can say that if you like cookbooks, this could be a good one. If you don’t, it depends on your expectations. Mine were met, no more, no less. 3 out of 5.


Title: Java Cookbook, 3rd Edition
By: Ian F. Darwin
Publisher: O’Reilly Media
Print: July 2014
Ebook: June 2014
Print ISBN: 978-1-4493-3704-9
| ISBN 10: 1-4493-3704-X
Ebook ISBN: 978-1-4493-3703-2
| ISBN 10:1-4493-3703-1

Review: “Software Architecture Fundamentals Part 2. Taking a Deeper Dive” by Neal Ford and Mark Richards August 14, 2014

Posted by claudio in Uncategorized.
Tags: , , ,
add a comment

Taking a Deeper DiveWell if the first video got a 5/5 rating, you can be sure that the second part deserves that as well. Although more advanced than the first part, it’s pretty obvious both videos must be considered to be one workshop. Looking a the clothing of the instructors and audience in the studio (2 people), tt’s pretty clear they were recorded on the same day:).

While the first video was more about common sense and obvious rights and wrongs (patterns and anti-patters), the second part seems to boil down to ‘it depends’. TIMTOWTDI (There is more than one way to do it) will Perl people say. By example, it was clear the instructors had a very different opinion about SOA and Continous Delivery.

Like in the first part, the chapters titles are well chosen and give a correct overview of the subjects that make up the course. The video starts with Architecture Tradeoffs (see above), followed by Continous Delivery, Abstraction and Choosing and Comparing Architecture. More applied are the chapters about Web Services and Messaging, SOA, Integrations Hubs and the continuation of Continous Delivery. More abstract where the Approaches to Enterprise Architecture, Strategies, Evolutionary Architecture and Emergent Desing.

Again,  this video delivers what it promises. Neal Ford and Mark Richards are still enthusiastic about their teaching and seem even more involved in the second part.

Again, great series. Kudos to Neal and Mark.

Software Architecture Fundamentals Part 2
Taking a Deeper Dive
By Neal Ford, Mark Richards
Publisher: O’Reilly Media
Final Release Date: April 2014
Run time: 5 hours 57 minutes


Review: “Software Architecture Fundamentals Part 1. Understanding the Basics” by Neal Ford and Mark Richards May 5, 2014

Posted by claudio in Uncategorized.
Tags: , , ,
add a comment

Concerning learning, I don’t consider myself a “visual” guy. I am pretty happy with a good book. Although I often read O’Reilly books, this is the first “full feature” video (7 hours) from the publisher watched. While I am very interested in the topic of I.T. Architecture, the idea was to give this “new” format a chance.

bktThe chapters titles are well chosen and give a correct overview of the subjects that make up the course. Starting with an introduction defining the role of architect, it goes through the more social (Architecture Soft Skills) and infrastructure role (Continuous Delivery) of the job. Some chapters are very close to the developer level (Understanding Large Codebases, Design Patterns), while others are very specific for the architect role (Architecting for Change, Architecture Patterns, Architecture Anti-Patterns). Some chapters are more geared toward Enterprise Architecture (e.g. Enterprise Architecture Concepts and Fundamentals).

I must say, this video delivers what it promises. Neal Ford and Mark Richards are good and enthusiastic speakers making it a very pleasant experience. Also the concept of a limited studio audience helps to make the format more active. Going back and forth between Soft Skills (leadership, technical depth/breadth, multi-platform skill, business domains, etc.),

Architectural Techniques (adaptability, integration, Architectural and Design Patterns, etc.). The course gradually present the basic knowledge to understand more complex enterprise architecture approaches, strategies *and* implementations. I liked it.

Software Architecture Fundamentals Part 1
Understanding the Basics
By Neal Ford, Mark Richards
Publisher: O’Reilly Media
Released: March 2014
Run time: 6 hours 57 minutes

Review “Resilience and Reliability on AWS” by Jurg van Vliet, Flavia Paganelli, Jasper Geurtsen (O’Reilly) April 26, 2014

Posted by claudio in Uncategorized.
Tags: , ,
add a comment

When cloud technologies go beyond the hype, they can be very interesting. I have spent some time looking and evaluating different stacks and cloud providers. Amazon’s AWS is certainly the 800 pound gorilla of Cloud offerings. I had high expectations for a book with a title like

“Resilience and Reliability on AWS”. If you have an UNIX administration and architecture background “Resilience and Reliability’ is specially what you’re looking for (and evaluating) in cloud offerings.

Let’s start by the good part. This little book (<150 pages) is a will give you a good overview of the many components of Amazon’s cloud setup. Some information about FOSS projects is useful outside of AWS.

The bad is that while there are some tips and nice ad-hoc examples about Resilience and Reliability, this is by far not the subject of the book. You get the feeling the authors know about the principles of good and stable engineering and administration, but as a reader you don’t benefit from their experience. You’ll be a witness of their success histories, but you will not learn about the basic principles.

Besides the bad, there is also the terrible. Maybe half the pages are filled with terribly formatted code. Pages and pages of white space sensitive Python without syntax colouring and bad formatting is too much for a Perl guy:). There are other ways to deliver code in 2013 (publishing year). IT moves fast and cloud offering change all the time. Printed code tied to a service will be dead even before… well, it should be useless by now.

I would not recommend if you want to learn about Resilience and Reliability. Maybe a third could be useful as an introduction to AWS, but you may get better results by reading the docs or the upstream howto’s.

Resilience and Reliability on AWS
Engineering at Cloud Scale
Publisher: O’Reilly Media
Released: January 2013
Pages: 150

Perl@FOSDEM: a big thank you! February 4, 2014

Posted by claudio in Uncategorized.
Tags: , , , ,


Just a short post with a huge “thank you” to everyone that made the Perl presence (dev-room + booth) at FOSDEM 2014 a success: the speakers, the video and booth responsibles, the volunteers that decided on the spot to help us man the booth or helped us to set it up/break it down (this was a heavy job: we had the biggest collection of Perl books *in* *the* *whole* *world* and a huge camel with us…) and of course everyone who attended the talks or talked to us at the booth.

And last and not least, the people from FOSDEM itself. Organizing and running an event of such size and importance is a herculean task. And yet, every year 5000 FOSS people leave with a smile on their face and full batteries to continue our work advancing FOSS.

Thank you,

Claudio and Wendy, the Perl@Fosdem organizers.


Get every new post delivered to your Inbox.

Join 197 other followers