Wednesday, August 10, 2022

2201, 240 Skyview Ranch Road NE 2201, Calgary, Alberta, T3N0P4

 $199,500

Property Summary for 2201, 240 Skyview Ranch Road NE

Type
 
Single Family
Sub-Type
 
Condominium/Strata
Building Type
 
Apartment
Title
 
Condominium/Strata
MLS® Number
 
A1220669
Year Built
 
2015
Stories
 
4
Basement
 
Unknown
Association Fee
 
$351.02 CAD
Neighborhood
 
Skyview Ranch
Postal Code
 
T3N0P4

Description for 2201, 240 Skyview Ranch Road NE

PRICE ADJUSTMENT! Welcome to a great opportunity in the up-and-coming community of Skyview Ranch. Whether youre a first-time homebuyer, an investor, tired of paying rent or just looking for an affordable home, this cozy 2 bedroom Skymills condo will check all the boxes. Youll love the open concept. The kitchen is great with lots of cupboard space and upgraded appliances and breakfast bar. Youll enjoy the large living room which allows easy access to your glass-railed deck. In-suite washer and dryer complete the comfort and convenience of this great unit. Skyview Ranch is expanding quickly with many amenities including new schools and shopping. Youll also appreciate the easy access to major routes like Stoney and Deerfoot Trails as well as being only minutes from the Airport. Book a showing today. This unit is priced to sell quickly! (id:1937)

6 Best Drag and Drop WordPress Page Builders Compared 2022

Here is the link. 

Want an easy way to build your own WordPress website? WordPress page builders are a great solution that let you edit and customize your website without writing any code. In this video, we'll compare the 6 best drag and drop page builders in WordPress

  1. Page builder - SeedProd
  2. beaverbuilder
  3. Divi 
  4. elementor 
  5. visual composer - old platform, code little slower, A- rating 
  6. Themify

Prebuild page template - SeedProd - I like to install plugin and then get familiar with SeedProd for one hour


How to edit your WordPress wp-config.php file

 

How to edit your WordPress wp-config.php file

wp-config.php is a core WordPress configuration file. It is generated during the WordPress installation and contains details specific to your installation and server environment. 

Many WordPress configuration settings are saved in wp-config.php. While we recommend that you use the WordPress dashboard whenever possible, it can be helpful to understand when and how to edit wp-config.php when moving your site from one web host to another or changing domain names or databases.

Getting ready to edit your WordPress wp-config.php file

Before you edit your wp-config.php file, you should understand that even a tiny error in the file could make your WordPress site inaccessible. For this reason, we strongly recommend that you make a site backup and a copy of the existing wp-config.php file before you begin editing.

There are many backup plugins available for WordPress, or you can use the backup feature in cPanel.

Investor common mistakes | 3 common ones

What are the most common mistakes for a beginner to learn? After three years' experience, I would like to talk about three common mistakes. 

  1. Be careful! Biggest risk to invest in risky biotech stocks; Need to learn psychology effects of investor, fear and greed. 
  2. I chose to invest in the short term, so that there is no return after three years of hard work. 
  3. Aim at long term, focus on analysis of long-term trend of equities. 
  4. Focus on at least one equity, and then learn from the investment. Work on equity research hard, get all data and business analysis and then really learn how to analyze a business, small capital business is a good choice. 
  5. Work on self-discipline, short term investor - need to read at least 50 books related to investing in equities. Start to read books early. 
  6. It is better to start to read seekingAlpha.com articles as early as possible. No one is an expert; we all have to learn and be open to learning from experts. Reading is the most important job as an investor. 
  7. Subscribe to SeekingAlpha.com premium service. 

3 common mistakes

  1. Please consider subscription to premium service of seekingAlpha.com; Please seek analyst's advice in those articles as soon as possible. 
  2. Please start to read a lot of books, and also start to learn from your own experience. 
  3. Learn to measure the risk; Avoid biggest risk, such as purchase of biotech stocks. 




Leetcode discuss: 53. Maximum Subarray

 August 10, 2022

Here is the link. 

C# | Quick learner | Four solutions | My progress

March 3, 2020 - Aug 10, 2022

Introduction

I like to share my four practice from 2018 to 2021. Hard work beats talent. Keep going, work hard. Practice makes perfect.

Four practices | One with two upvotes
The following is my latest practices with two upvotes:

  1. Latest practice on Jan. 12, 2021, two upvotes, C# - prefix sum. Here is the link.

Three practices | Continue to make improvements
I also had three practices from 2018 to 2020. It is better to keep the records and continue to make improvements.

  1. C# work on prefix sum - fix a bug written in mock interview on March 1, 2020. Here is the link. Practice date: March 1, 2020
  2. C# work on prefix sum - this one is more complicated. Should be simplified. Here is the link. Practice date: March 3, 2020
  3. C# work on dynamic programming, optimal time complexity O(N). Here is the link. Practice date: August 28, 2018

I learn to practice the aglorithm during mock interview from 2018 to 2021 as a mock interviewer.

Problem statement
Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.

A subarray is a contiguous part of an array.

Solution 1 | C# - prefix sum
Jan. 12, 2021

Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.

Example 1:

Input: nums = [-2,1,-3,4,-1,2,1,-5,4]
Output: 6
Explanation: [4,-1,2,1] has the largest sum = 6.

The idea is to save prefix sum's smallest value, so that every iteration from left to right the maximum contiguous subarray's sum can be found easily.

public class Solution {
    public int MaxSubArray(int[] nums) {
        if(nums == null ||  nums.Length == 0)   
            return 0; 
        
        var minPrefixSum = 0; 
        var length = nums.Length; 
        var largestSum = Int32.MinValue; 
        var prefixSum = 0; 
        var foundOne = false; 
        
        for(int i = 0; i < length; i++)
        {
            var current = nums[i];
            prefixSum += current; 
            
            var diff = prefixSum - minPrefixSum; 
            if(diff > largestSum)
            {
                largestSum = diff;                 
            }
            
            if(prefixSum < minPrefixSum)
            {
                minPrefixSum = prefixSum; 
            }
        }
        
        return largestSum; 
    }
}

July 5, 2022 | 10 Downvotes | Make improvements
I came cross this discuss post with down votes -10, so I quickly learn the lessons. I like to make improvements in terms of writing skills and problem solving skills.

I can write better C# code, but I still like to keep those past practice in order to encourage myself work hard, and learn to write a simple discuss post and then learn to make improvements.

Thanks for continuous support.

Solution 2 | C# work on prefix sum

I chose to share my practice solution during my mock interview on March 1, 2020.

Case study

Input: [1, 4, -100, 1]
The idea is to use prefix sum to find maximum subarray. We like to brute force end position for all positions from 0 to length - 1.

We deliberately define three variables:
sum - it is prefix sum
minValue - it is the minimum of prefix sums
maxSubArraySum - for each end position, it will be updated if needed.

To make code simple, we like to design a for loop for working on end position in the following:
for (int i = 0; i < length; i++)

So default values for the above three variables are easy to choose as following. But be careful to make corrections to deal with edge case like i = 0.

var sum = 0; // prefix sum default is zero,
var minValue = 0; // prefix sum minimum one is zero
var maxSubArraySum = 0; // this may not be true. For the first element of the array, the variable should be set value correctly.

Input: [1, 4, -100, 1]
sum
[1, 5, -95, -94]
minValue
[0, 0, -95, -95]
maxEndAtI
[1, 5, -95, 1]
maxSubArraySum
[1, 5, 5, 5]

Edge case

The idea is to solve the maximum subarray using prefix sum. In order to write bug-free code, the edge case should be considered when i ==0, maxSubArraySum should not be default value 0 anymore. For example, test case with input [-1], the value should be -1 instead.

Time complexity
O(N), N is the length of the array.

The following C# code passes online judge.

public class Solution {
    /// work on test case [1, 4, -100, 1]
    public int MaxSubArray(int[] numbers) {
            if (numbers == null)
                return 0;

            var length = numbers.Length;
            var sum = 0; // prefix sum 
            var minValue = 0;
            var maxSubArraySum = 0;

            // work on end position      
            for (int i = 0; i < length; i++)
            {
                var current = numbers[i]; // 1, 4, -100, 1 
                sum = current + sum; // 1, 5, -95, -94

                var maxEndAtI = sum - minValue; // 1 - 0 = 1, 5, -95, 1

                // edge case - added after mock interview
                if (i == 0)
                {
                    maxSubArraySum = maxEndAtI;
                }
                
                if (maxSubArraySum < maxEndAtI ) // 0 < 1, 1 < 5, 5 > -95
                {
                    maxSubArraySum = maxEndAtI; // 1, 5, 
                }

                // update minValue
                if (sum < minValue) // 1 > 0, 5 5 > 0 , -95 < 0
                {
                    minValue = sum; // 0, -95
                }
            }

            return maxSubArraySum;  // 5 [0,1]
    }
}

Solution 3 | Prefix sum | March 3 2020

I like to share my analysis based on my practice and recent mock interview experience.

Case study
If all numbers are positive ones, then all numbers should be included. Otherwise work on prefix sum, and then exclude those negative prefix sum as possible.

If I can work on the above idea, then I should come out the ideas to solve the problem.
The idea is to work on all subarrays ending at index position i from 0 to length - 1.

In the design process, consider the following arrays:
[-1], what is the return? Answer: -1
[1], what is the return? Answer: 1
[1, 2,3, 4], what is the maximum sum of subarray? 10
[1, 2, -4, 4], what is the maximum sum of subarray? 4

My weakness
I am overconfident in mock interview or onsite interview. But it is important to challeng myself to come out simple test cases like [-1], [1], or all positive numbers to challenge my assumptions. I wrote buggy code in my recent mock interview on March 1, 2020.

public class Solution {
    public int MaxSubArray(int[] numbers) {
         if (numbers == null)
                return 0;

            var length = numbers.Length;
            var prefixSum = numbers[0]; 
            var minPrefixSum = numbers[0];  
            var maxSubArraySum = numbers[0];

            // work on end position      
            for (int i = 1; i < length; i++)
            {
                var current = numbers[i];  
                prefixSum = current + prefixSum;  
                // all positive numbers, sum
                // some negative numbers in between, exclude negative prefix as possible      
                var maxEndAtI = Math.Max(prefixSum, prefixSum - minPrefixSum);  

                if (maxSubArraySum < maxEndAtI) 
                {
                    maxSubArraySum = maxEndAtI;  
                }

                // update minValue
                if (prefixSum < minPrefixSum)  
                {
                    minPrefixSum = prefixSum;  
                }
            }

            return maxSubArraySum;  
    }
}

Solution 4 | Dynamic programming | 2018 August 28

I like to share my C# practice. The idea is to apply dynamic programming to calculate the sum of the all subarray starting from index value zero first, and then brute force the end position of each continuous subarray. In order to calculate the maximum value, one variable is used to keep the minimum value of prefix array sum.

In summary there are four steps.

  1. Preprocess the prefix array sum starting from index 0; time complexity O(N);
  2. Brute force the end position of subarray
  3. Keep calculate the minimum sum of prefix array, calculate current maximum
  4. Get global maximum value
public class Solution {
    public int MaxSubArray(int[] nums)
        {
            if (nums == null)
                return 0;

            var prefixSum = getPrefixSum(nums);
           
            var minimumSofar = 0;
            var max = int.MinValue; 
            for (int i = 0; i < nums.Length; i++)
            {
                var current = prefixSum[i];                             
                var currentMax = current - minimumSofar;               

                max = max < currentMax ? currentMax : max;
                minimumSofar = minimumSofar > current ? current : minimumSofar;
            }

            return max; 
        }

        private static int[] getPrefixSum(int[] nums)
        {
            var length = nums.Length;
            var prefixSum = new int[length];

            for (int i = 0; i < length; i++)
            {
                prefixSum[i] = i > 0 ? prefixSum[i - 1] : 0;
                prefixSum[i] += nums[i];
            }

            return prefixSum; 
        }
}

Hootsuite

 Hootsuite is a social media management platform, created by Ryan Holmes in 2008.[6] The system's user interface takes the form of a dashboard, and supports social network integrations for Twitter, Facebook, Instagram, LinkedIn, Pinterest and YouTube.

Based in Vancouver, Hootsuite has close to 1,000 staff members in 13 locations, including Toronto, Bucharest, Milan, Rome and Mexico City. The company has more than 16 million users in over 175 countries.[5]

Hootsuite: 30% layoff

Here is the link. 

Hootsuite Inc. says it will lay off 30 per cent of its staff as part of a global restructuring.

The Vancouver-based social media business declined to answer questions about the exact number of staff laid off or what triggered the job cuts, but the most recent figures from financial data firm Refinitiv show the company employs about 1,000 people.

“Today is a hard day at Hootsuite…This sadly means we are saying goodbye to some of our people,” said Hootsuite CEO Tom Keiser, in a statement.

“These people are our colleagues and our friends. They are some of the best in their fields, and we will do whatever we can to help them land well elsewhere.”

He added that the move will help the company once considered a darling in Canada’s tech scene to realign itself with strategies that can make it successful. In particular, he said Hootsuite needs to refocus, so it can drive efficiency, growth and financial sustainability.

He declined to elaborate further on the restructuring, saying, “Today our focus is on our people, both those who are leaving us and those who are staying, and ensuring our customers continue to receive the support they need.”

Hootsuite’s cuts come as tech companies have conducted similar layoffs in recent weeks as investor interest in tech stocks has faded.

Among the most high profile was Shopify Inc. which laid off 10 per cent staff last month, after Wealthsimple had already slashed its workforce by 13 per cent.

Also in the mix is Clearco, an e-commerce investing platform run by “Dragon’s Den” star Michele Romanow, which reduced its head count by 25 per cent at the end of July.

Data from Layoffs.fyi shows 493 startups worldwide have laid off about 67,562 employees this year.

Hootsuite’s Keiser has been at the helm of the company since July 2020, when he replaced founder Ryan Holmes.

Under Keiser’s tenure, Hootsuite acquired artificial intelligence chatbot company Heyday for $60 million in 2021.

At the time, it said it wanted to buy the Montreal-based company because the e-commerce sector was rapidly moving onto social and messaging platforms, and the purchase would give Hootsuite more opportunities to help brands elevate their customer experiences.