Notes on software and the ideas behind it

Find the meaning
behind the code.

I’m Fred Yang. I write about software—how it works, why it behaves the way it does, and the ideas that make code easier to reason about.

Open the notebook

Working notes / 2026

Recently mapped

Architecture, reactivity, and the hidden relationships that shape frontend systems.

field note

Add update panel dynamically

<pre data-sub="prettyprint:_"> private Label Label1;
Follow the thread
field note

UpdatePanel load user control

<pre data-sub="prettyprint:_"> string ascx = "customerview.ascx"; UpdatePanel1.ContentTemplate = this.LoadTemplate(ascx); </pre>
Follow the thread
css

why set body margin to 0

Because in IE7 body.marginleft == 10px, but firefox is 8px; ie7 margintop is 15px, firefox is 8px
Follow the thread
asp.net ajax

Creating asp.net ajax class

<pre data-sub="prettyprint:_"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title>ASP.NET AJAX Class</title> <script type="text/javascript">function pageLoad(sender, args) { Type.registerNamespace('Wrox.ASPAJAX.Samples'); Wrox.ASPAJAX.Samples.Album = function(title, artist) { this._title = title; //_title...
Follow the thread
asp.net ajax

asp.net ajax namespace

<pre data-sub="prettyprint:_"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title>ASP.NET AJAX Namespaces</title> <script type="text/javascript"> function pageLoad(sender, args) { Type.registerNamespace('Wrox.ASPAJAX.Samples'); alert(Type.isNamespace(Wrox.ASPAJAX)); //displays alert(Type.isNamespace(Wrox.ASPAJAX.Samples)); //displays var namespaces = Type.getRootNamespaces();...
Follow the thread