11/04/2019
by Marlon Ribunal
1 Comment

Book Review: Eat People – And Other Unapologetic Rules For Game-Changing Entrepreneurs

Note: This is an old post from my old blog that I no longer maintain. I am bringing it here because: 1/ I haven’t had any new content here; and, 2/ This book is more relevant than ever before. Enjoy!

Eat People: And Other Unapologetic Rules for Game-Changing Entrepreneurs is written by Andy Kessler, the New York Times bestselling author  of “Wall Street Meat: My Narrow Escape from the Stock Market Grinder“and “Running Money“. He knows a lot about startups based on his experience from various jobs – stock analyst, investment banker, venture capitalist, and hedge fund manager. “He’s heard hundreds of pitches from smooth talkers whose ventures quickly crashed and burned.”

There is a notion that this book is only for entrepreneurs or startups. Although the theme of the book is wrapped around entrepreneurship, it also addresses the need of those that are not in that bracket.

This book simply answers the question “What’s the next big thing?”. The “Unapologetic Rules” will walk you through the many elements of exactly finding that out.

How do you find the big thing? How do you find things that go up and to the right and keep going up and up and up? How do you find companies to work for or to invest in that will let you create some real wealth?

How wealth is created is not a question – Productivity creates wealth. The big question is what to do to attain the certain level of Productivity that creates wealth. This is where the controversy comes in. The message is staring us in the face. The author is simply acting as the messenger:

Get rid of humans and you probably found a rich vein of productivity and therefore wealth…That’s the goal of every economy – to increase the standard of living of its participants. If that means over a generation replacing low skill jobs with higher-skilled careers, then you are creating wealth for the entire economy.

As a mere employee (and not an entrepreneur), I find this book as a good guide to what to look out for in terms of  “career goals”. This book talks about “eating people” – job elimination. It illustrates in vivid fashion how and what jobs will be eliminated in the near future. Your clue are in the current trends in the technology today – processor chips with blazing speed, storage appliances becoming cheaper, consumer gadget becoming powerful, explosion of social networks, cloud computing, etc.

You have to figure out how to create the future yourself…figure out where productivity exists in the economy, and invest your mind or your money alongside it.

If you are an entrepreneur, startup, or business, it’s no longer enough to have your focus on your ability to scale. Your values must align with the vision of becoming a game-changer. Google is a game changer. Mark Zuckerberg has democratized communication and made our lives easier; and, thus, changed the way we communicate.

If you are a worker or an employee with low skills, it’s time to look for ways to train to upgrade your skill set. Sooner than later, unproductive jobs will be eliminated to give way to higher efficiencies in order to up the ante in productivity – and wealth. Eat people – that is what this book suggests. It means eliminating unproductive jobs – those that don’t contribute in creating the wealth.

This book has laid out the two types of job. Not Blue Collar and White Collar, as you might think. Creator and Server. There is more productivity coming from the creator than from the server. There is a great demand for productivity; hence, there’s also a great demand for the creator. The formula necessitates “wasting” on the other side of the plank – more and more servers must be eliminated to make productivity cheaper.

If you are just starting out on your career, entry to middle level, you have to read this book. This book fits best the entrepreneurs and startups. If you’re not in those group, there still a lot in store for you in this book.

Your job is in danger of being eliminated and you must be concerned about it.

03/16/2019
by Marlon Ribunal
Comments Off on Certification on Orchestrating Big Data with Azure Data Factory

Certification on Orchestrating Big Data with Azure Data Factory

I took a break from blogging this week to finish the course for and get certified with Orchestrating Big Data with Azure Data Factory on edX. This is a verified certificate of achievement.

The topics covered include but not limited to:

  • Creating data workflows with Azure Data Factory
  • Scheduling data pipelines to orchestrate big data processes
  • Applying data transformations in a pipeline with Hive or U-SQL

Next on my wishlist is a Microsoft Certification on Azure Data Engineer Associate (if and when I have the time).

Valid Certificate ID: 30bba095fbc84b12b0716699d25a1b56

03/08/2019
by Marlon Ribunal
1 Comment

SQL Server 2017 Reporting Services: The Basics Part 5

We’re now on Part 5 of our SQL Server Reporting Services Basics Series. In this installment, we’ll learn how to use a range parameter. If you want to review the series: Part 1, Part 2, Part 3, Part 4.

You may remember in Part 4 we created a simple parameterized report. We’re going to build upon the same report and add few elements to how we use the parameter.

If you followed Part 4, you have everything that you need to run this report. We only need to modify it a bit to make it work with the range parameter. Let’s dig in.

Create Dataset For Range Parameter Source

When I say “range parameter”, I mean a parameter that uses a preset range of values; example 1 – 100.

For the purpose of this demo, I have created a lookup table for the ranges. You may remember from Part 4 that our existing parameter is called Order Total. We’re going to use the same parameter.

Let’s create a new table called DollarTotalRange:

CREATE TABLE DollarTotalRange
(
RangeID INT NOT NULL IDENTITY(1, 1),
MinTotal INT NULL,
MaxTotal INT NULL,
RangeLabel VARCHAR(150)
) 

Let’s populate that with some data that we’re going to use for our ranges:

INSERT INTO dbo.DollarTotalRange ( MinTotal, MaxTotal )
VALUES ( 1, 1000 )
	, ( 1001, 3000 )
	, ( 3001, 5000 )
	, ( 5001, 8000 )
	, ( 8001, 10000 )
	, ( 10001, 20000 )
	, ( 20001, 30000 )
	, ( 30001, NULL ) ;

Let’s also populate the RangeLabel column with the combination of the MinTotal and MaxTotal columns as ranges:

UPDATE dbo.DollarTotalRange
SET	RangeLabel = CAST(FORMAT( MinTotal, '#,#' ) AS VARCHAR (25)) + 
    ' - ' + 
	ISNULL( CAST(FORMAT( MaxTotal, '#,#' ) AS VARCHAR (25)), 'MAX' ) ;

Let’s take a look at our ranges:

Modify the Stored Procedure with the new Parameter

Let’s modify the existing stored procedure so it can use the new parameter type. It is important to note that the data type of the Order Total parameter is FLOAT. We’re changing that to STRING.

We’re going to make sure also that we can accommodate the possible maximum value of 999,999,999; or you may want to set your own Max Value.

ALTER PROCEDURE [dbo].[OrderTotalQuery] ( 
    @vOrderTotal VARCHAR(255) = NULL
	
)
AS
BEGIN

DECLARE @Min INT, @Max INT

SELECT @Min = MinTotal, @Max = MaxTotal FROM dbo.DollarTotalRange WHERE RangeLabel = @vOrderTotal

SELECT c.CustomerName
    , SUM(sol.Quantity * sol.UnitPrice) AS OrderTotal
FROM Sales.Orders so 
JOIN sales.OrderLines sol ON so.OrderID = sol.OrderID
JOIN sales.Customers c on so.CustomerID = c.CustomerID
GROUP By c.CustomerName, sol.OrderID
HAVING SUM(sol.Quantity * sol.UnitPrice) >= @Min AND SUM(sol.Quantity * sol.UnitPrice) <= ISNULL(@Max,999999999)
ORDER BY OrderTotal Desc
END

Create a New Report Dataset

First thing first, let’s create a new stored procedure based on the DollarTotalRange table we created above.

CREATE PROCEDURE [dbo].[DollarRangeSelect]
AS
BEGIN
   SELECT MinTotal, MaxTotal, RangeLabel
   FROM dbo.DollarTotalRange ;
END	;

Open your Visual Studio and load you SSRS Solution if you haven’t loaded it yet. Navigate to the Solution Explorer, and under Shared Dataset create a new dataset called ds_SSRSTutorial_001_DollarRange. Select the Stored Procedure for the Query Type. Then select the stored procedure we created above.

Then leave everything else as is. Click OK.

Modify the Existing Report Dataset

Under the Shared Dataset, open the existing ds_SSRSTutorial_001_OrderTotalQuery. Click on the Parameters tab and change the data type of the @vOrderTotal parameter from FLOAT to TEXT.

Click OK.

Create a new Report Parameter

Create a new report parameter based on the dataset we just created above. Name it rpt_ds_SSRSTutorial_001_DollarRange.

Click OK.

Modify the Report Parameter

On the Report Data window, navigate to the report parameter.

  1. Navigate to the Report Data window. Edit the
    @vOrderTotal parameter
  2. From the General tab, change the data type of the parameter @vOrderTotal to Text.
  3. On the Available Values tab, Select the Get values from a query option. Select the
    rpt_ds_SSRSTutorial_001_DollarRange dataset we created above. Select RangeLabel column for both Value field and Label field.
Let’s Preview the Report

Deploy the Report!

If you are not familiar with your options of deploying your report, go back Part 3: Report Deployment.

Next, we will continue to work on another type of report parameter, multi-value parameter.