Skip to main content

Privacy Policy

Your privacy is critically important to us.

It is Pipe's Coding Clues's policy to respect your privacy regarding any information we may collect while operating our website. This Privacy Policy applies to https://blog.pipe01.me (hereinafter, "us", "we", or "https://blog.pipe01.me"). We respect your privacy and are committed to protecting personally identifiable information you may provide us through the Website. We have adopted this privacy policy ("Privacy Policy") to explain what information may be collected on our Website, how we use this information, and under what circumstances we may disclose the information to third parties. This Privacy Policy applies only to information we collect through the Website and does not apply to our collection of information from other sources.
This Privacy Policy, together with the Terms and conditions posted on our Website, set forth the general rules and policies governing your use of our Website. Depending on your activities when visiting our Website, you may be required to agree to additional terms and conditions.

Website Visitors

Like most website operators, Pipe's Coding Clues collects non-personally-identifying information of the sort that web browsers and servers typically make available, such as the browser type, language preference, referring site, and the date and time of each visitor request. Pipe's Coding Clues's purpose in collecting non-personally identifying information is to better understand how Pipe's Coding Clues's visitors use its website. From time to time, Pipe's Coding Clues may release non-personally-identifying information in the aggregate, e.g., by publishing a report on trends in the usage of its website.
Pipe's Coding Clues also collects potentially personally-identifying information like Internet Protocol (IP) addresses for logged in users and for users leaving comments on https://blog.pipe01.me blog posts. Pipe's Coding Clues only discloses logged in user and commenter IP addresses under the same circumstances that it uses and discloses personally-identifying information as described below.

Gathering of Personally-Identifying Information

Certain visitors to Pipe's Coding Clues's websites choose to interact with Pipe's Coding Clues in ways that require Pipe's Coding Clues to gather personally-identifying information. The amount and type of information that Pipe's Coding Clues gathers depends on the nature of the interaction. For example, we ask visitors who sign up for a blog at https://blog.pipe01.me to provide a username and email address.

Security

The security of your Personal Information is important to us, but remember that no method of transmission over the Internet, or method of electronic storage is 100% secure. While we strive to use commercially acceptable means to protect your Personal Information, we cannot guarantee its absolute security.

Advertisements

Ads appearing on our website may be delivered to users by advertising partners, who may set cookies. These cookies allow the ad server to recognize your computer each time they send you an online advertisement to compile information about you or others who use your computer. This information allows ad networks to, among other things, deliver targeted advertisements that they believe will be of most interest to you. This Privacy Policy covers the use of cookies by Pipe's Coding Clues and does not cover the use of cookies by any advertisers.

Links To External Sites

Our Service may contain links to external sites that are not operated by us. If you click on a third party link, you will be directed to that third party's site. We strongly advise you to review the Privacy Policy and terms and conditions of every site you visit.
We have no control over, and assume no responsibility for the content, privacy policies or practices of any third party sites, products or services.

Aggregated Statistics

Pipe's Coding Clues may collect statistics about the behavior of visitors to its website. Pipe's Coding Clues may display this information publicly or provide it to others. However, Pipe's Coding Clues does not disclose your personally-identifying information.

Cookies

To enrich and perfect your online experience, Pipe's Coding Clues uses "Cookies", similar technologies and services provided by others to display personalized content, appropriate advertising and store your preferences on your computer.
A cookie is a string of information that a website stores on a visitor's computer, and that the visitor's browser provides to the website each time the visitor returns. Pipe's Coding Clues uses cookies to help Pipe's Coding Clues identify and track visitors, their usage of https://blog.pipe01.me, and their website access preferences. Pipe's Coding Clues visitors who do not wish to have cookies placed on their computers should set their browsers to refuse cookies before using Pipe's Coding Clues's websites, with the drawback that certain features of Pipe's Coding Clues's websites may not function properly without the aid of cookies.
By continuing to navigate our website without changing your cookie settings, you hereby acknowledge and agree to Pipe's Coding Clues's use of cookies.

Privacy Policy Changes

Although most changes are likely to be minor, Pipe's Coding Clues may change its Privacy Policy from time to time, and in Pipe's Coding Clues's sole discretion. Pipe's Coding Clues encourages visitors to frequently check this page for any changes to its Privacy Policy. Your continued use of this site after any change in this Privacy Policy will constitute your acceptance of such change.

Comments

Popular posts from this blog

ConditionalWeakTable, what does it do?

C#'s ConditionalWeakTable, what does it do?C# has many lesser known features, some more useful than others, and one of them is the ConditionalWeakTable<TKey, TValue> (keep in mind that TKey and TValue must be reference types).
You can think of this type as a dictionary where the keys are weakly referenced, meaning that they won’t count when the GC checks if the object has to be collected. Additionally, when the keys do eventually get collected by the GC, that entry will get removed from the dictionary. This means that you can attach arbitrary objects to any object, allowing you to do something like this:publicstaticclassExtensions{privatestatic ConditionalWeakTable<object,dynamic> Table =newConditionalWeakTable<object,dynamic>();publicstaticdynamicData(thisobject obj){if(!Table.TryGetValue(obj,outvar dyn)) Table.Add(obj, dyn =newExpandoObject());return dyn;}}...var myObject ="hello"; myObject.Data().Foo ="bar"; Assert.AreEqual(myO…

C# to JS: LINQ Expressions and ExpressionVisitor

How to translate (some) C# to JavaScriptIf you’ve ever used something like EF Core you may have noticed that methods like LINQ’s Where take an Expression<Func<...>> as the first argument, instead of simply a Func<...>:
Expressions were introduced in .NET 3.5 along with the rest of LINQ and they represent the code tree that a lambda is composed of. For example, if you had a lambda like () => a + b, this is how the resulting expression tree would look like:
.NET 4.0 later introduced ExpressionVisitor, which lets you traverse the expression tree. Take this visitor for example:publicclassConsolePrinterVisitor: ExpressionVisitor {//This is just a helper method to get the Expression, normally you would already have it//so you'd just do ConsolePrinterVisitor.Visit(expression)publicvoidWriteLambda(Expression<Func<object>> expression){this.Visit(expression);}protectedoverride Expression VisitBinary(BinaryExpression node){ Console.Write("("…

Hangfire: setup and usage

How to setup Hangfire, a job scheduler for .NETInstalling HangfireSetting up HangfireSetting up storageMySQL StorageIn-memory storageRunning jobsFire-and-forget jobsDelayed jobsContinuation jobsRecurring jobsASP.NET Core job integrationConclusionHangfire is a job scheduler for .NET and .NET Core that lets you run jobs in the background. It features various different job types:Fire-and-forget jobs are executed only once, shortly after creation.Delayed jobs are very similar to fire-and-forget jobs but they wait for a specified amount of time before running.Continuation jobs, which run after their parent job has finished.Recurring jobs, perhaps the most interesting of all, run repeatedly on an interval. If you like Unix’s cron you’ll feel right at home, as this kind of job lets you specify the job interval as a cron expression. If you have never used this I recommend crontab.guru, it has a live expression editor, as well as some examples to get you started.Hangfire has two more job type…