Download GNS
https://www.gns3.com/software/download

GNS VM
https://www.gns3.com/software/download-vm

Ubuntu Desktop
https://ubuntu.com/download/desktop
Download WireShark
https://www.wireshark.org/download.html

Aug 22
Download GNS
https://www.gns3.com/software/download
GNS VM
https://www.gns3.com/software/download-vm
Ubuntu Desktop
https://ubuntu.com/download/desktop
Download WireShark
https://www.wireshark.org/download.html
Aug 20
On RRSP Over Contribution in Canada.
“Here’s a clean, copyright-free version you can safely post on Facebook or your blog. I’ve rewritten it in plain, friendly language so it’s clear and useful without sounding like legal or financial advice.
In Canada, your RRSP contribution limit is based on:
You can find your personal limit in your CRA My Account or on your Notice of Assessment.
Yes — the $2,000 cushion is ongoing, not a “one-time pass.”
This means you could, for example, intentionally over-contribute $2,000 to invest in something like an ETF inside your RRSP. That’s allowed.
✅ In short: You can contribute up to your RRSP limit, and you have a permanent $2,000 safety buffer. Using that buffer again in the future is fine, but crossing above it triggers penalties.
“
“Perfect 👍 Here’s a short infographic-style summary version you can use for Facebook or your blog — very visual and easy to read.
1️⃣ Your Limit
2️⃣ The $2,000 Cushion
3️⃣ If You Go Over the Cushion
4️⃣ What If You Already Over-Contributed Before?
✅ Bottom line: Stay within your RRSP limit + $2,000 buffer. Going above that costs money.
“
Ref: AI Tools/AI Chat/OpenAI
Aug 12
Ref: AI/Chat/Internet
Sure — here’s a concise, copyright-free summary:
CPI (Consumer Price Index) measures how the average prices of a set basket of goods and services change over time. It’s the main public measure of inflation: rising CPI means prices are going up; falling CPI means they’re going down.
Core CPI is the same calculation but without food and energy prices, which can swing sharply due to temporary factors like weather or oil markets. This makes Core CPI a better gauge of long-term inflation trends.
In relation to inflation:
If you want, I can also create a visual diagram showing CPI vs. Core CPI and how they connect to inflation trends.
Aug 05
Here’s a complete, copyright-free guide to Query Strings in C# / ASP.NET, including definition, examples, use cases, limitations, performance, and security. You can freely copy-paste this on your blog or Facebook page.
A query string is a part of the URL that carries data from one web page to another. It starts after a ?
and consists of key-value pairs, separated by &
.
In ASP.NET, query strings are commonly used to pass small amounts of data between pages.
https://example.com/profile.aspx?userId=123&lang=en
?userId=123&lang=en
is the query string.userId
and lang
are keys, and 123
, en
are values.Response.Redirect("Profile.aspx?userId=123&lang=en");
string userId = Request.QueryString["userId"];
string lang = Request.QueryString["lang"];
Always check for null:
if (Request.QueryString["userId"] != null)
{
int userId = int.Parse(Request.QueryString["userId"]);
}
Use Case | Example |
---|---|
Navigation between pages | Pass user ID, category ID, or search terms |
Bookmarkable URLs | Save filter/search settings in URL |
Third-party API or link sharing | Share public resources with identifiers in the URL |
Tracking | Add campaign IDs, referral sources in URLs |
Limitation | Description |
---|---|
❌ Length limit | Browsers limit URL length (commonly 2,000+ characters) |
❌ Visible to user | Anyone can see the data in the URL bar |
❌ Not secure | Never use query strings to send passwords or personal info |
❌ Easy to modify | Users can change values manually, potentially breaking logic |
❌ Not suitable for large data | Should be used for small pieces of information only |
Concern | Recommendation |
---|---|
🔓 Data is exposed | Never pass sensitive info like passwords, tokens, or IDs directly |
🧪 Input tampering | Always validate and sanitize query string values |
🦠 XSS attack risks | Use URL encoding and avoid rendering user input directly |
🔒 Use HTTPS | Prevents interception of query string in transit |
string name = Server.HtmlEncode(Request.QueryString["name"]);
Feature | Description |
---|---|
What is it? | Part of URL carrying data in key=value format |
Syntax | ?key1=value1&key2=value2 |
Stored Where? | In browser URL (client side) |
Size Limit | Around 2000 characters (browser-dependent) |
Lifetime | Until user navigates or refreshes |
Secure? | ❌ No, unless encrypted or protected with HTTPS |
Use Cases | Search filters, public IDs, navigation, analytics |
Not Good For | Sensitive, large, or private data |
HttpUtility.UrlEncode()
if needed).Would you like a code sample project, visual diagram, or a PDF cheat sheet on this topic? Let me know!
Aug 05
By AI:
Here’s a clear, blog- and Facebook-ready explanation of Cookies in C# (ASP.NET) with their pros and cons, including examples. You can freely copy, share, or repost it anywhere.
In web development with ASP.NET, cookies are used to store small pieces of data on the client’s browser.
They are useful for remembering information between visits, such as login preferences, user settings, or tracking data.
A cookie is a name-value pair stored in the browser and sent automatically with every request to the same server.
HttpCookie userCookie = new HttpCookie("UserName", "JohnDoe");
userCookie.Expires = DateTime.Now.AddDays(7);
Response.Cookies.Add(userCookie);
string userName = Request.Cookies["UserName"]?.Value;
Advantage | Description |
---|---|
🌐 Persistent Storage | Cookies can store data between sessions (e.g., “Remember Me” login). |
💻 Stored on Client | Saves server memory; no need to keep everything on the server. |
🔁 Automatic Transfer | Cookies are automatically sent with each request to the server. |
📦 Lightweight | Perfect for small data like IDs, names, preferences. |
🔒 Support for Expiry | You can set an expiration time for long-term or session cookies. |
🌍 Cross-page Access | Cookies can be accessed from any page in the domain. |
Disadvantage | Description |
---|---|
🔓 Not Secure by Default | Stored in plain text unless encrypted; vulnerable to theft or tampering. |
❌ Size Limit | Limited to ~4KB per cookie. |
🧼 User Can Delete Them | Users can delete or block cookies in their browser settings. |
🐢 Performance Overhead | All cookies are sent with every request, which can increase load times. |
⚠️ Not Reliable for Sensitive Info | Should not be used for passwords or secure tokens unless encrypted and HTTPS is enforced. |
🌐 Domain-bound | Cookies are only sent to the server that created them. |
Secure
and HttpOnly
flags:userCookie.Secure = true; // Only over HTTPS
userCookie.HttpOnly = true; // Not accessible via JavaScript
Feature | Cookie Support |
---|---|
Size Limit | ~4 KB per cookie |
Expiry | Yes (can be session or persistent) |
Stored Where? | Client-side (browser) |
Security | Low unless secured/encrypted |
Access Scope | Per domain, across all pages |
Common Uses | Preferences, login IDs, tracking |
Let me know if you’d like a C# sample project, PDF handout, or infographic version of this content!
Aug 05
Here’s a clear and blog/Facebook-ready answer to:
In ASP.NET, both Application State and Session State are used to store data on the server side — but they serve different purposes and scopes.
Below is a breakdown of the types of data you can store in each, along with examples.
Stores global data shared by all users and sessions.
You can store any object in Application state:
Data Type | Example |
---|---|
string | Application["Theme"] = "Dark"; |
int , double | Application["VisitorCount"] = 100; |
bool | Application["IsSiteLive"] = true; |
DateTime | Application["StartTime"] = DateTime.Now; |
List<string> | Application["Countries"] = new List<string>() { "Canada", "USA" }; |
DataTable | Application["CachedTable"] = myTable; |
Custom objects | Application["Config"] = new Config(); |
Stores user-specific data — unique to each visitor.
You can store the same types of data as Application state:
Data Type | Example |
---|---|
string | Session["UserName"] = "John"; |
int , double | Session["CartCount"] = 5; |
bool | Session["IsLoggedIn"] = true; |
DateTime | Session["LoginTime"] = DateTime.Now; |
List<int> | Session["CartItems"] = new List<int>() { 101, 102 }; |
DataSet / DataTable | Session["UserData"] = myDataTable; |
Custom objects | Session["UserProfile"] = userObject; |
Feature | Application State | Session State |
---|---|---|
Scope | Shared across all users | Unique per user/session |
Lifetime | Until app restarts or recycles | Until session timeout or logout |
Data Types Allowed | Any object | Any object |
Thread Safety Required | ✅ Yes (use Lock() /UnLock() ) | ❌ Not needed (user-specific) |
Common Data Examples | Site-wide settings, counters, cache | Login info, shopping cart, temp data |
Let me know if you’d like a visual infographic, code examples, or a printable PDF for this content!
Aug 05
Here’s a clear, copyright-free explanation of Application State Variables in C#.NET, ideal for blogs, Facebook pages, or classroom notes.
Application State in ASP.NET is a way to store global data that is shared by all users across the entire web application.
It is commonly used to store settings, counters, configuration values, or cache-like data that doesn’t change per user.
Application
object.Application["SiteTitle"] = "My Awesome Website";
string title = Application["SiteTitle"].ToString();
Application.Remove("SiteTitle");
Application.Clear();
Since Application state is shared, you must be careful when multiple users are reading/writing the same data.
Application.Lock();
Application["VisitorCount"] = (int)Application["VisitorCount"] + 1;
Application.UnLock();
Lock()
prevents other users from modifying the data at the same time.UnLock()
releases the lock so others can access it.Use Case | Example |
---|---|
Global site settings | Application[“Theme”] = “Dark” |
Visitor counter | Application[“VisitorCount”] = 100 |
App-wide configuration | Application[“MaxUsers”] = 50 |
Read-only cached data | Application[“CountriesList”] = GetCountries() |
Session
instead).ASP.NET Core does not support Application[]
state directly.
Instead, you can use:
Feature | Application State |
---|---|
Scope | Shared across all users and sessions |
Lifetime | Until app restart or recycle |
Use for | Global, read-only, or low-frequency data |
Access object | Application["Key"] |
Thread safety | Use Lock() and UnLock() |
Let me know if you’d like a sample project, PDF summary, or diagram for visual learners!
Aug 05
By AI:
Here are the 5 modes to store Session State in ASP.NET, each with its own storage location and behavior. This is especially useful for configuring ASP.NET (Framework) Web Forms or MVC applications — though some modes also apply to ASP.NET Core with slight differences.
You can copy and share this content freely on your blog or Facebook. ✅
Session state helps store user-specific data (like login info, preferences, shopping cart) across multiple requests and pages. ASP.NET provides five storage modes for session state, configured in web.config
.
<sessionState mode="InProc" />
Pros:
Cons:
<sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424" />
Pros:
Cons:
<sessionState mode="SQLServer" sqlConnectionString="data source=YourDBServer;user id=sa;password=pass" />
Pros:
Cons:
<sessionState mode="Custom" customProvider="MyProvider">
<providers>
<add name="MyProvider" type="YourNamespace.YourCustomProvider" />
</providers>
</sessionState>
Pros:
Cons:
<sessionState mode="Off" />
Use case: For static content or pages that don’t need session state (improves performance).
Mode | Stored In | Speed | Supports Web Farm | Survives App Restart | Notes |
---|---|---|---|---|---|
InProc | Server Memory | ✅ Fastest | ❌ No | ❌ No | Default, simple apps |
StateServer | Windows Service | ⚠ Medium | ✅ Yes | ✅ Yes | Needs external service |
SQLServer | SQL Database | ⚠ Slower | ✅ Yes | ✅ Yes | Good for large-scale apps |
Custom | Your choice | ⚠ Varies | ✅ Yes | ✅ Depends | For custom cache/storage |
Off | — | ✅ N/A | ✅ Yes | ✅ Yes | When session isn’t needed |
web.config
<configuration>
<system.web>
<sessionState mode="InProc" timeout="20" />
</system.web>
</configuration>
Let me know if you want a code example, diagram, or PDF cheat sheet for these session modes!
Aug 05
By AI: Here’s a copyright-free, blog/Facebook-friendly explanation of Client-side and Server-side State Management in C#/.NET, along with techniques under each category. You can freely copy and use it.
In C# and .NET applications—especially in web development like ASP.NET—state management helps maintain data across user requests.
Since HTTP is stateless, we need ways to remember things like login info, shopping carts, or form entries across multiple pages or actions.
Category | Description | Where Data Is Stored |
---|---|---|
Client-side | Data is stored on the user’s device/browser. | Browser (cookies, URL, etc.) |
Server-side | Data is stored on the web server. | Server memory, session store |
These methods store state information in the user’s browser. They’re lightweight and reduce server load but require security precautions.
ViewState["UserName"] = "Sayed";
Pros: Easy to use, no server memory
Cons: Increases page size, visible in source (not secure)
<input type="hidden">
fields.<input type="hidden" name="userId" value="123" />
Pros: Simple, works across postbacks
Cons: Data is exposed to users (not secure)
Response.Cookies["Theme"].Value = "Dark";
Pros: Persistent across sessions, easy to access
Cons: Size limit (about 4KB), user can disable or delete cookies
?
.Response.Redirect("Profile.aspx?user=John");
Pros: Simple for navigation between pages
Cons: Limited size, exposed in URL, not secure for sensitive data
These methods store data on the server, often linked to a session ID. They’re more secure and can hold more data, but require memory or storage.
Session["Email"] = "user@example.com";
Pros: Secure, works across multiple pages
Cons: Uses server memory; expires after inactivity
Application["SiteName"] = "MyWebsite";
Pros: Useful for read-only global data
Cons: Not user-specific; data can be lost on app restart
Cache["Products"] = productList;
Pros: Fast access, improves performance
Cons: Data can expire or be removed under memory pressure
Feature | Client-Side | Server-Side |
---|---|---|
Storage Location | User’s browser | Web server |
Security | Less secure | More secure |
Scalability | Good (less server load) | Depends on server resources |
Persistence | Depends on method (e.g., cookies) | Lasts during session or cached |
Access Speed | Fast (local) | May involve database or memory access |