Migrating from Wordpress to Hugo
I recently decided to migrate my blog from Wordpress to Hugo. I don’t blog as often these days so trying to keep up with new wordpress versions, securing my wordpress installation against hack attempts, and fighting comment spam was becoming overwhelming.
Powershell profile for Java and Maven
As we gradually replace regular windows command line with powershell, it will be useful to set up a powershell environment for Java / Maven development.
SSRS Subscribe Action and SharePoint Permissions
For SQL Server Reporting Services (SSRS) reports there is the ability to create subscriptions. Subscriptions can be scheduled to run on a certain schedule to send emails, export reports to SharePoint document libraries, or save to windows file shares.
Depending on your requirement, you may need to grant or remove access to the subscribe action and can be managed by creating or editing the default SharePoint roles: Read, Contribute, Full Control, etc.
Using HBase within Storm
There is a lot of documentation around Apache Storm and Apache HBase but not so much about how to use the hbase-client inside of storm. In this post, I’ll outline:
- Information about my dev environment
- Setting up your Storm project to use the HBase client
- Managing connections to HBase in Storm
- Reading one row (Get)
- Reading many rows (Scan)
- Writing one row (Put)
- Writing many rows in a batch of Puts
Please note, this post assumes you already are comfortable with Storm and HBase terminology. If you are just starting out with Storm, take a look at my example project on GitHub: storm-stlhug-demo.
Also, an option to consider when writing to HBase from storm is storm-hbase and it is a great way to start streaming data into hbase. However, if you need to write to multiple tables or get into more advanced scenarios you will need to understand how to write your own HBase bolts.
Example running MapReduce on tez and parsing arguments
I ran into some trouble executing a simple MapReduce program on TEZ. I kept reading about the special “-Dmapreduce.framework.name=yarn-tez” parameter you could pass to your MR job to make it automatically switch frameworks without modifying the configs for your entire cluster but couldn’t get the argument to be parsed correctly.
After doing some research, I found that your MapReduce class must extend Configured and implement Tool. In addition to parsing the generic arguments correctly, you also get arguments parsed for you automatically.
Apache Zeppelin on the Hortonworks 2.3 sandbox
A few notes from playing with zeppelin on the Hortonworks HDP 2.3 sandbox.
Getting started with Storm: Logging
Logging within storm uses Simple Logging Facade for Java (SLF4J).
SharePoint 2013 LCIDs with default Time Format
A list of SharePoint 2013 LCIDs along with their language and the time format.
Tinkers' Construct Cheat Sheet
Tinkers’ Construct is a mod for Minecraft.
Tinkers’ Construct Materials
The following materials are what you use to build your tools.
Name | Durability | Handle Modifier | Full Tool Durability | Mining Speed | Mining Level | Base Attack | Material Trait |
---|---|---|---|---|---|---|---|
Blue Slime | 1200 | 2.0x | 2400 | 1.5 | 0 (Stone) | 0 Hearts | Slimy |
Green Slime | 750 | 1.5x | 500 | 1.5 | 0 (Stone) | 0 Hearts | Slimy |
Paper | 30 | 0.3x | 9 | 2.0 | 0 (Stone) | 0 Hearts | Writable |
Bone | 200 | 1.0x | 200 | 4.0 | 1 (Iron) | 0.5 Hearts | |
Cactus | 150 | 1.0x | 150 | 5.0 | 1 (Iron) | 1 Heart | Jagged 1 |
Copper | 180 | 1.15x | 207 | 5.0 | 1 (Iron) | 1 Heart | |
Stone | 131 | 0.5x | 65 | 4.0 | 1 (Iron) | 0.5 Hearts | Stonebound 1 |
Flint | 171 | 0.7x | 119 | 5.25 | 1 (Iron) | 1 Heart | |
Wood | 97 | 1.0x | 97 | 3.5 | 1 (Iron) | 0 Hearts | |
Bronze (alloy of copper and tin) | 550 | 1.3x | 715 | 8.0 | 2 (Redstone) | 1 Heart | Reinforced 1 |
Iron (ore) | 250 | 1.3x | 325 | 6.0 | 2 (Redstone) | 1 Heart | Reinforced 1 |
Netherrack | 131 | 1.2x | 157 | 4.0 | 2 (Redstone) | 0.5 Hearts | Stonebound 1 |
Obsidian | 89 | 0.8x | 71 | 7.0 | 3 (Obsidian) | 1 Heart | Reinforced 3 |
Pig Iron (alloy of emerald, iron, and blood) | 250 | 1.3x | 325 | 6.0 | 3 (Obsidian) | 1 Heart | Tasty Reinforced 1 |
Alumite (alloy of obsidian, aluminum, and iron) | 700 | 1.3x | 909 | 8.0 | 4 (Cobalt) | 1.5 Hearts | Reinforced 2 |
Ardite (ore from the nether) | 500 | 2.0x | 1000 | 8.0 | 4 (Cobalt) | 1.5 Hearts | Stonebound 2 |
Cobalt (ore from ??) | 800 | 1.75x | 1400 | 14.0 | 4 (Cobalt) | 1.5 Hearts | Reinforced 2 |
Steel (from melting down chainmail armor) | 750 | 1.3x | 750 | 10.0 | 4 (Cobalt) | 2 Hearts | Reinforced 2 |
Manyullyn (alloy of cobalt and ardite) | 1200 | 2.5x | 3000 | 9.0 | 5 (Manyullyn) | 2 Hearts |
- Reinforced: 10% chance per level of not using durability.
- Stonebound: The tool mines faster as it wears out, but does less damage.
- Jagged: The tool does more damage as it wears out, but mines slower.
- Writable: One extra modifier per piece.
- Tasty: Sometimes drops food items.
- Slimy: Randomly spawns small slimes.
Tinkers’ Construct Alloys
By combining different metals inside the Smeltery, you can create alloys.
Powershell script to change SSRS Subscription Owner
We leverage Reporting Services subscriptions a lot to deliver reports via email. A problem we run into frequently is when the user who created the subscription loses permission (leaving the company, changing jobs, etc.) then all of the subscriptions they created stop working. This is because they are the Owner of the subscription and SSRS won’t allow the subscription to run when the owner no longer has permission.
Here is a quick powershell script you can use to change the owner using the ReportingService2010 web service endpoint.