Recent Bookmarks and Annotations
-
Time management: How an MIT postdoc writes 3 books, a PhD defense, and 6+ peer-reviewed papers — and finishes by 5:30pm | I Will Teach You To Be Rich on 2009-12-28
-
Fix your ideal schedule, then work backwards to make everything fit — ruthlessly culling obligations, turning people down, becoming hard to reach, and shedding marginally useful tasks along the way.
-
“Choosing how and when I respond to requests has had a dramatic impact,” Saunders notes.
-
-
Collins, Saunders, and Simmons all share a similar discovery. When they constrained their schedule to the point where non-essential work was eliminated and colleagues and clients had to retrain their expectations, they discovered two surprising results.
First, the essentials — be it making sales calls, or focusing on the core research behind a book — are what really matter, and the non-essentials — be it random e-mail conversations, or managing an overhaul to your blog template — are more disposable than many believe.
-
Second, by focusing only the essentials, they’ll receive more attention than when your schedule was unbounded.
-
- Dramatically cut back on the number of projects you are working on.
- Ruthlessly cull inefficient habits from your daily schedule.
- Risk mildly annoying or upsetting some people in exchange for large gains in time freedom.
- Stop procrastinating.
-
I’m ruthlessly results oriented
-
Anything that got in the way of this goal was treated with suspicion. This results-oriented vision made it easy to keep the middling crap from crowding my schedule.
-
You can get away with telling people to expect a result a long time in the future, if — and this is a big if — you actually deliver when promised.
-
If a project gets out of control and starts to sap too much time from my schedule, or strays from my results-oriented vision: I drop it. If something demonstrably more important comes along, and it conflicts with something else in my queue, I drop the less important project.
-
If something is hindering your production of the important results in your field, you have to ask why you’re keeping it around.
-
I check and respond to work e-mail only a couple times a day, and never at night or on weekends.
-
Any regularly occurring work gets turned into a habit — something I do at a fixed time on a fixed date.
-
Habit-based schedules for regular work makes it easier to tackle the non-regular projects. It also prevents schedule-busting pile-ups.
-
On certain projects that I know are important, I don’t tolerate procrastination.
-
I think it’s wrong to assume that you automatically have the right to work whatever schedule you want. It’s a valuable prize that most be earned. And results are the currency you must spend to buy it.
-
: I know I have a never-ending stream of work, but this is when I’m going to face it.
-
Advanced CSS | custom stylesheet classes, ids, conditional style, the @import method and the tag || HTMLSource ] on 2009-10-19
-
Say you had redefined the p tag in an external stylesheet. If you redefine it again in the head section of a document, this definition will be the one that is used, as it is closer to the things that it affects.
-
cascade order:
- the
style attribute overrides - a style block, which overrides
- a
linked stylesheet, which overrides - an imported sheet.
-
-
ote the dot before the name you want to use for it. You've just set up a class.
-
Try to name the classes based on their function rather than their presentation.
-
ds are practically the same as classes, with one difference. Only one element can be given each id per page. They can be used for elements you know will only occur once, such as header and navigation tables. If you want to use them, the code is the same, but with hashes (#) in place of the dots.
-
Note that the
span tag does absolutely nothing on its own without the
class attribute.
-
Introduction to CSS | beginner's cascading stylesheets tutorial || HTMLSource ] on 2009-10-19
-
Each of these pairs of properties and values is a declaration.
-
-
Learning and understanding - Gabriel Schenker's Blog - on 2009-06-05
-
She has to translate from the ubiquitous language to another language. But to be able to make this translation a student has to thoroughly understand the topic she is talking about. Possibly she has to find analogies with topics that the laymen is familiar with.
-
- Mandatory dependencies are best injected via constructor (--> constructor injection). In this sample the IProductRepository dependency.
- Optional dependencies are best injected via [writable] properties (--> property injection). In this case the ILogger dependency.
- To avoid tedious validation code I would initialize an optional dependency with a default implementation that does nothing (here: NulloLogger)
-
-
International studies and meta-studies have shown that up to 90% of the questions asked in a written or in an oral exam do not exceed level 2. T
-
majority of people never reach a level higher than 3.
-
If a student reaches this level she is able to analyze a given complex situation or problem and disentangle it. She can identify and isolate sub-problems. She is able to categorize and prioritize those sub-problems.
-
Asperger: Nonverbal Learning Disorders on 2009-03-26
-
And likewise, a student who is a top reader, achieves excellent spelling scores, and expresses herself articulately usually does not prompt her teacher to consider a learning disorder. But, this is often exactly the presentation a child with nonverbal learning disabilities (NLD) syndrome manifests in the early elementary grades.
-
Nonverbal learning disorders (also called "right-hemisphere learning disorders") often go unrecognized and unaided by teachers and other professionals for a large part of a child's schooling.
-
-
The NLD syndrome reveals itself in impaired abilities to organize the visual-spatial field, adapt to new or novel situations, and/or accurately read nonverbal signals and cues. It appears to be the reverse syndrome of dyslexia.
-
such a student will have difficulty "producing" in situations where speed and adaptability are required
-
1.0 to 0.1% of the general population
-
these disabilities can be much more devastating to a child than language-based learning disorders in the long run.
-
Both parents and teachers will often suspect that "something is amiss" early on, but they can't quite "put a finger on it." Three categories of dysfunction present themselves: (1) motoric (lack of coordination, severe balance problems and/or difficulties with fine graphomotor skills), (2) visual-spatial-organizational (lack of image, poor visual recall, faulty spatial perceptions, and/or difficulties with spatial relations), and (3) social (lack of ability to comprehend nonverbal communication, difficulties adjusting to transitions and novel situations, and/or significant deficits in social judgment and social interaction).
-
This child learns little from experience or repetition and is unable to generalize information.
-
The importance of identifying and servicing children with nonverbal learning disorders is especially acute. Overestimates of the child's abilities and unrealistic demands made by parents and teachers can lead to ongoing emotional problems.
-
This child is extremely verbose and may "speak like an adult" at two or three years of age.
-
Yet, these are some of the important early indicators that a child is having difficulty relating to and functioning in her world nonverbally, and a warning that she has developed an excessive reliance upon her verbal strengths.
-
The three broad aspects of development in which NLD presents deviations and abnormalities are (1) motoric, (2) visual-spatial-organizational, and (3) social. If a child has right hemispheric dysfunction, deficits in these areas should be quite evident to an observer during the child's early years, despite his valiant efforts to compensate for them. The more novel the psychomotor, visual-spatial, and/or social situation, the more evident his impairments will be.
-
At the dinner table or (upon entering a school situation) at a desk, this child needs to muster an extraordinary amount of determination to remain seated in her chair. And, as soon as she diverts her attention to the task at hand (i.e. eating or school work), the cognitively maintained balance is gone, and over she topples.
-
She will have a relatively poor memory for novel and/or complex material and/or material which is not easily verbally coded.
-
Specific problems in arithmetic can result from deficits in visual-spatial reasoning and visual perception. She will commonly have problems aligning columns of numbers, observing directionality, and in organizing her work.
-
It is clear that these students are motivated to conform and adapt socially, but sadly, they perceive and interpret social situations inaccurately.
-
This inability to "read" the intentions of others often results in a lot of unfortunate "scapegoating" of this child. He needs to be taught to question the motives of others - he won't learn from experience.
-
relative discrepancy between the VIQ and PIQ.
-
verbal conceptualization cluster will generally be the strongest for the child with NLD while the spatial cluster will be the weakest.
-
As the child moves into the higher grades, where less and less will be "spelled out" for him, he will reach a point where functioning in school is impossible without specific compensations, accommodations, modifications, and strategies (CAMS).
-
Find Application Bottlenecks with Visual Studio Profiler on 2009-02-27
-
As Internet technologies like blogs have now enabled frustrated users to easily cast a negative light on your applications, you really need to make performance a primary priority. Early in planning, you should add requirements for responsiveness and create prototypes to identify possible technology restrictions. Throughout development, you should also measure different performance aspects of the application to find possible regression, and ensure that testers file and track bugs for slow scenarios.
-
To start our investigation, we launch the Performance Wizard from the new Analyze menu in Visual Studio 2008. In Visual Studio 2005 this functionality is available from the Tools | Performance Tools menu.
-
-
Visual Studio Profiler displays the Performance Report Summary, which lists the most expensive functions (see Figure 2). The report shows these functions in two ways. The first measures the work performed directly or indirectly by listed functions. For each function, the numbers represent the accumulated samples collected in both the body of the function and in all of its child calls. The second list does not count the samples collected in child calls.
-
the Inclusive Samples % column represents the samples collected in the function and its children. The Exclusive Samples % column represents samples collected in the body of the function only.
-
With both sampling and instrumentation, you can also collect memory allocation data for applications based on the Microsoft® .NET Framework.
-
As a low overhead solution, sampling is often the recommended option. It is important to note, however, that sampling collects information only when the program actively uses the CPU.
-
how long the function took to run (Elapsed Time),
-
In instrumentation mode, Visual Studio Profiler modifies (instruments) the binaries by injecting special instructions (called probes) at the beginning and at the end of each function.
-
Additionally, the profiler also adds a pair of probes around each external function call, enabling it to determine how expensive those external calls are.
-
how long the function was actively using the CPU (Application Time)
-
Note that the summary page of the new performance report shows that body of DrawMandel directly causes 83.66 percent of the total samples. Since we optimized the drawing, the bottleneck is now in the calculation of the fractal.
-
Luckily, the Visual Studio 2008 sampling profiler also collects line-level data by default, which will help identify which lines within a function are most expensive.
-
To view line-level data, let's inspect the performance report from another point of view. From the Current View menu, switch to the Modules view. Unlike the Call Tree view, the Modules view does not show information on how functions call each other and how much those calls cost in the context of the parent function. Instead, the Modules view contains the total accumulated samples per executable (assembly or DLL) and per function in that executable. Visual Studio Profiler accumulates that data from all call stacks.
-
he Modules view is good for observing the bigger picture. For instance, if we sort by the Exclusive Samples % column, we can see that Mandel.exe performs 87.57 percent of the processing itself.
-
Visual Studio 2008 includes a new feature that allows you to compare two performance reports.
-
To better view the actual optimization, in the comparison options pane we will change the column to Inclusive Samples (see Figure 7). We also increase the threshold to 1500 samples, so that we do not see any minor fluctuations. In addition, you may note that, by default, the report shows the negative data, or least optimized functions first, as it is often used for finding regressions. For the purpose of our optimization, however, we will reverse sort the Delta column, so that we can see the most optimized functions on the top
-
This report is slightly different from the sampling report as it shows the most called functions, as well as the duration of the functions taking the longest. It is important to note that this data is aggregated over the lifetime of the application and includes both of our scenarios and any preceding activities.
-
In Visual Studio 2008, the profiler has a new Marks view that lists all inserted marks. (Note that Visual Studio Profiler inserts additional automatic marks at the beginning and end of program.)
-
For instance, we could see that System.IDisposable.Dispose is taking 3.4 seconds or 61 percent of the scenario execution time, while before it was responsible for 41 percent. Through filtering, we were able to see exactly how important this function is for our particular problem.
-
Call Tree with the Hot Path feature,
-
Note that for Web sites, Instrumentation Profiling is the default option. Web sites are often not CPU-bound; they usually rely on database server applications to do the heavy lifting. Thus, instrumentation is a better choice.
-
we can use the Launch with Profiling Paused option to start the application with Visual Studio Profiler attached, but the profiler will not collect any data until the user resumes profiling (see Figure 8).
-
An important part of that control is the list of predefined marks. Those are bookmarks or labels that you can insert into profiling data to denote interesting points of time. We use these marks to delimit the beginning and end of each user scenario.
-
IIS 7.0: Extend Your WCF Services Beyond HTTP With WAS on 2008-12-15
-
When a request arrives on the network, it is processed by the kernel-mode HTTP stack (http.sys) and delivered to the listener process. The w3svc process then looks at the request URI and uses it to map the request to a specific IIS application living inside a particular IIS application pool that is, in turn, hosted inside an instance of the worker process (w3wp),
-
If no worker process exists to handle the current request, the listener process must create a new instance of w3wp before dispatching the request.
-
-
The IIS 6.0 worker process is a lightweight executable. When it starts up in response to an activation request, the first thing it does is load a simple unmanaged shim DLL (w3wphost.dll) that enables w3svc to communicate with the worker process. This shim is also responsible for loading aspnet_isapi.dll, which implements the interface between the managed components of ASP.NET and the unmanaged components of IIS.
-
Aspnet_isapi.dll is responsible for loading the common language runtime (CLR) into the worker process and creating a default application domain, which is where the managed hosting components of ASP.NET will live. These managed hosting components are responsible for creating additional application domains (one per IIS application) on demand and routing requests to them based on the request's URL.
-
In IIS 6.0, the w3svc service really did double duty. It acted as the HTTP listener because it registered with http.sys and was the direct recipient of incoming HTTP traffic. It also owned the process activation components responsible for starting new instances of w3wp and dispatching requests appropriately. In IIS 7.0, these two responsibilities have been refactored into separate Windows NT services. The w3svc process retains its role as the HTTP listener, but the components responsible for configuration and process activation have been factored into WAS, which has three parts: the configuration manager, the process manager, and the unmanaged listener adapter interface.
-
-
. The WCF plumbing that actually receives requests over non-HTTP protocols is hosted inside of SMSvcHost.exe, which hosts the following four long-running Windows NT services: NetTcpPortSharing, NetTcpActivator, NetPipeActivator, and NetMsmqActivator
-
each application is associated with both an application pool and a site. Each site has a set of address bindings for the network protocols it supports. For example, an administrator might configure the default site to bind to HTTP on port 80 and TCP on port 7777.
-
In general, an application's site governs the set of network addresses associated with the application while its application pool governs the worker process instance that will host it.
-
In the Web garden case, each application pool maps to its own set of worker processes,
-
the TCP listener would be informed that there were two applications (*:7777/Foo and *:7777/Bar) configured to use TCP. WAS also assigns to each application a unique listener channel ID used for associating requests with their destination applications.
-
each listener service must be able to look at an incoming message, say, "Ah—this is destined for listener channel x," and dispatch the request to WAS accordingly.
-
The listener process wakes up and starts reading bytes when they arrive at the waiting socket. At this point, the goal is to read just enough information to determine the eventual destination of the forthcoming message and then pause while the listener calls back to WAS and spawns the worker process. For TCP, the destination address is determined by reading information out of the framing protocol that surrounds the SOAP message. Once the listener has the destination URI, it uses that URI as an index into its internal routing table and resolves the URI into the corresponding listener channel ID assigned to that address by WAS.
-
ach protocol implementation is free to implement communication between the listener and the worker in whatever way it sees fit. This architecture allows for various protocol-specific optimizations and for each implementation to exploit the nature of the underlying protocol. For example, the WCF MSMQ activation service simply passes the name of the MSMQ queue in the data blob, allowing the activated application to read directly from the data source and bypass the listener completely.
-
You can either edit the settings manually, use the appcmd.exe command-line tool, or use the IIS 7.0 configuration GUI. These settings, called bindings, are done at the site level (see Figure 10)
-
One thing to note here is that you do not specify a base address when hosting in WAS since that address is determined by the Web site and virtual directory system
-
By default ASP.NET compatibility is turned off, which means that HttpContext.Current is null and that the actual activation of the endpoint does not happen in an HttpHandler but in an HttpModule that hands off the request to the ServiceHost in the ASP.NET PostAuthenticateRequest pipeline event.
-
The last step is to enable the protocols of choice in the application that hosts the service
-
After that you simply have to add additional endpoints to your WCF service configuration
-
Adding an MSMQ endpoint to the service requires some additional steps. First you have to create a queue using the Message Queuing MMC snap-in (or by using any of the available programmatic approaches). Furthermore, you have to set access control lists (ACLs) on the queue to allow the worker process (NETWORK SERVICE, by default) to read and peek from the queue.
It's important to note that the activation of MSMQ endpoints only works correctly if the queue has the same name as the .svc file (minus the machine name). That means that if your service endpoint is /server/app/service.svc, the queue name must be app/service.svc.
-
The WCF ServiceHost type features two events called Opening and Closing. They are the only proper ways to execute code at service startup and shutdown. The problem is that you have to wire up the handlers for these events between creating a new instance of the ServiceHost and calling Open on it. This is not possible when using the @ServiceHost directive in .svc files as described above. A viable option in this case is to host a custom service host factory. This gives you more control and allows you to handle the aforementioned events.
-
To make the connection between the already-existing .svc endpoint and the custom factory, you have to add the Factory attribute to the @ServiceHost directive:
-
The maximum request execution limit in WAS has different values depending on the OS in question. For Windows Server 2008 it is unlimited, but for Windows Vista Ultimate and Business it is a 10-connections limit. The home-targeted versions of Windows Vista, namely Windows Vista Home Basic and Home Premium, as well as Windows Vista Starter, have a request execution limit of 3
-
Workflows, Services, and Models on 2008-12-04
-
The “M” language family includes a capability called
“MSchema” for doing this. A primary goal of “MSchema” is to make it easy for
developers and architects—not just database administrators--to define new
schemas for the “Oslo” repository. Toward this end, “MSchema” uses a syntax and
a style that will be familiar to most developers.
-
“MSchema” also provides a way to specify relationships among
schemas, define constraints, and more. And to make it easier to work with
“MSchema”, “Quadrant” includes a textual editor for creating and modifying
schemas defined in this language.
-
-
In “Oslo”, a model
is an abstract representation of something, such as a business process, an
application, or a workflow.
-
Still, the idea of moving models from just
describing an application to actually being the application is fundamental to
“Oslo”.
-
This general-purpose editor lets users create, read, update, and delete
information in the repository, giving them a graphical interface to its
contents. And since applications can be stored in the repository, “Quadrant”
can also be useful for creating and modifying some kinds of application logic.
-
Service Station: Authorization In WCF-Based Services on 2008-11-13
-
An IIdentity-derived class holds information such as the name of the user, whether he is authenticated, and how he was authenticated.
-
An IPrincipal-derived class must implement a single method called IsInRole where you can pass in a role name and get a Boolean response
-
-
based on the configuration of the WCF service behavior, ServiceAuthorization, an IPrincipal implementation is created that wraps this identity and provides role information. This IPrincipal is then set on Thread.CurrentPrincipal so that it is accessible to the service operations.
-
PrincipalPermissionAttribute that allows you to annotate your service operations with role requirements.
-
An authorization policy is simply a class that implements the System.IdentityModel.Policy.IAuthorizationPolicy interface. Implementations of this interface must employ a method called Evaluate, which gets called on every request. Here you can reach into the WCF service security context and set the custom principal
-
The ServiceAuthorization service behavior controls the creation of the IPrincipal instance to be associated with the request thread. By default, WCF assumes Windows authentication and tries to populate Thread.CurrentPrincipal with a WindowsPrincipal.
-
WCF can use an ASP.NET role provider to retrieve roles for a user. You can either use one of the built-in providers (for SQL Server or Microsoft Authorization Manager) or write one of your own by deriving from System.Web.Security.RoleProvider.
To make the connection to the role provider, WCF attaches a RoleProviderPrincipal to the executing thread
-
The service authorization manager is a class that derives from System.ServiceModel.ServiceAuthorizationManager. You can override the CheckAccessCore method to run custom authorization code for each request. I
-
ServiceNamespace/ContractName/OperationName
-
Claims-Based Authorization
-
It quickly becomes apparent that, in a more complex system, the capabilities of IIdentity and IPrincipal may not be sufficient to model identity and authorization data. Role-based security is limited to binary decisions and does not allow arbitrary data to be associated with a subject.
-
new API in the System.IdentityModel
-
The most important structural classes from the System.IdentityModel namespace that you need to understand are called Claim, ClaimSet, AuthorizationContext, and AuthorizationPolicy.
-
A claim is a piece of information that can be associated with an entity in your system. This is most commonly a user but could also be a service or some resource. A claim consists of three pieces of information: a claim type, the claim content, and whether the claim describes the identity of the subject or a capability of the subject.
-
ClaimType is a URI that identifies the claim type
-
The Resource property contains the actual claim value.
-
The class ClaimSet holds a list of claims as well as a reference to the issuer of those claims:
-
Having an issuer associated with the set allows the service to distinguish between claim sources (which may also influence trust decisions).
-
A claim set typically needs a single claim that uniquely identifies the subject it describes. This is where the Right property on the Claim class comes into play. A claim set should have a single claim that has a Right value of Identity (this is the unique identifier) and a number of claims with a Right value of PossessProperty (additional claims describing the subject).
-
-
ClaimSet provides two processing primitives for querying the claims: FindClaims and ContainsClaim. FindClaims returns a collection of claims for the specified claim type, whereas ContainsClaim gives you information about the existence of a specific claim.
-
the WCF integrated claims layer converts technology-specific identity information, such as a Windows token or certificate, to a general-purpose data structure that can be queried using standard APIs. This makes writing services that have to support multiple credential types much easier—you are not hardwired to any technology-specific APIs anymore.
-
Service operations typically don't care about the user's SID or certificate thumbprint, but they do care about domain-specific identity information such as a user identifier, e-mail address, or purchase limit.
-
Claims transformation is accomplished in an authorization policy.
-
You can query the existing claims for identity information and, based on that, create a new claim set that models your domain-specific claims.
-
Figure 7 shows a sample authorization policy that implements a common pattern. It first retrieves the identity claim of the first claim set. This claim is sent to a mapping component, which inspects the claim and returns an application user ID. After that the policy hits a data store using the ID to retrieve the information that should become part of the claim set.
-
The service authorization manager also works with claims-based authorization.
-
ince the STS knows about that service (this information is part of the token request), it can do central authorization as well as pre-generate the claims on which the service relies. This way the claims transformation does not need to happen on the service endpoint at all but can be done centrally by the STS. This can dramatically streamline your security infrastructure when your system reaches a certain level of complexity.
-
Dublin and BizTalk Server - What's the difference? on 2008-10-17
-
WCF is Microsoft’s framework for loosely-coupled service interaction. WF is a complementary framework of tightly-coupled activities, state transitions and data flows.
-
The interesting thing for us was that the pain-points developers highlighted in implementing web-based applications and services, desktop applications, etc.,
-
-
entred on the lack of frameworks, guidance and tooling needed to address loosely coupled interaction patterns and distinguish between these and tightly coupled data flows.
-
Dublin will provide hosting facilities, message-based correlation, message forwarding services, content-based routing, compensation of long-running transactions, scalability features, state persistence and rehydration, management and monitoring functions and an event tracking store. You could be reading promotional material for BizTalk Server!
-
They describe Dublin as an ‘application’ server, and BizTalk Server as an ‘integration’ server.
-
Dublin is the Windows-based application server for WCF and WF. Instead of object-based RPC, Dublin lives in the service-orientated world supported by WCF and WCF and defined chiefly by SOAP and RESTful interactions.
-
There is no talk, however, about persisted message queues and the ability to resume suspended message interchanges.
-
It is, therefore, central to investigating, troubleshooting, managing and monitoring the integration of the various ERP systems. It plays a vital role in recovery from failure, even though it is not necessarily the cause of that failure. This is what it means to be an ‘integration’ server. Dublin will not play an equivalent role in these kinds of scenarios.
-
XLANG/s is an enterprise-level technology built on a sophisticated step management engine which is deeply integrated with the BizTalk Server message box and message agent. WF, by contrast, is a developer’s framework built on the concept of data flows handled by ‘activity’ object graphs.
-
It resides in the painfully precise and comprehensive semantics and rules built into the XLANG/s ‘compiler’ – rules which are founded on a solid basis of computer science (rooted historically in pi-calculus), and which are enforced rigorously throughout the technology, often to the general dismay of BizTalk newbies.
Groups
Scott colestock havn't joined any group yet.