User Experience Guidelines
- Windows User Experience Interaction Guidelines (UXGuide.pdf, 876 pages)
- Apple Human Interface Guidelines (OSXHIGuidelines.pdf, 394 pages) or web
Andrei Alexandrescu “Iterators Must Go!”
Andrei Alexandrescu gives his keynote presentation, “Iterators Must Go!” at BoostCon 2009. Slides are available here (pdf).
Iterators Must Go (Google Docs)
Qt::WA_StaticContents
Qt Assistant: Indicates that the widget contents are north-west aligned and static. On resize, such a widget will receive paint events only for parts of itself that are newly visible. This flag is set or cleared by the widget’s author. (Link)
But also it prevents to avoid flicking during resizing.
Boost compilation with Visual Studio
- download latest Boost version
- unpack it
- run “Visual Studio 2008 Command Prompt” bat file
build bjam
- go to %BOOST%/tools/jam/src folder
- run build.bat file
- copy bjam.exe file to %BOOST%/bin folder from %BOOST%/tools/jam/src/bin.ntx86 folder
build boost
- go to %BOOST% folder
- compile Boost using bjam.exe:
bin\bjam.exe –build-dir=”C:\Dev\Libs\boost\build-boost” –toolset=msvc –build-type=complete stage
Computer Science for Everyone
Adaptive Learning Online is a website for everyone who is interested in learning Computer Science related topics. We provide information and interactions for learning.
We created this website because we felt that the Internet has vast amounts of information required to learn computer science. But this information is scattered all around the net making it intimidating to a new learner. We also realize that just information is not enough for a proper learning experience. There needs to be a place to ask questions, discuss various topics, do some exercises, get them reviewed, work on projects, and many other things.
We plan to curate existing multimedia content from the Internet and present it to learners in a structured manner. We will also provide tools for interaction and collaboration which people can use to enhance their learning process. A long time back I wrote a blog post on networked reciprocal learning. We are hoping to realize that vision of an ecosystem where people have access to information and interactions, and can learn in a space without any barriers.
The website is free for use. Registration is not required to view material on this website, however several parts of the website such as forums do need registration. Registration is free, so please register and use the full potential of this website.
Qt State Machine Overview
Сайт «Алгоритмы и методы»
«Алгоритмы и методы» (algolist.manual.ru)
Desktop Window Manager
The desktop composition feature, introduced in Windows Vista, fundamentally changes the way applications display pixels on the screen. When desktop composition is enabled, individual windows no longer draw directly to the screen or primary display device as they did in previous versions of Microsoft Windows. Instead, their drawing is redirected to off-screen surfaces in video memory, which are then rendered into a desktop image and presented on the display.
Desktop composition is performed by the Desktop Window Manager (DWM). Through desktop composition, DWM enables visual effects on the desktop as well as various features such as glass window frames, 3-D window transition animations, Windows Flip and Windows Flip3D , and high resolution support. For more information about the user experience features enabled by the DWM visit the Windows Vista: Features user experience page.
Many of the DWM features can be controlled or accessed by an application through the DWM APIs . The following documentation describes some of the features and requirements of the DWM APIs.
Security Development Lifecycle (SDL) Banned Function Calls
Note: This paper is derived from the book The Security Development Lifecycle, by Michael Howard and Steve Lipner, Microsoft Press, 2006.
Prohibiting the use of banned APIs is a good way to remove a significant number of code vulnerabilities — this practice is reflected in Stage 6 of The Microsoft Security Development Lifecycle: “Establish and Follow Best Practices for Development.” It can also be referenced in Chapter 11 of the Microsoft Press Book The Security Development Lifecycle.
When the C runtime library (CRT) was first created about 25 years ago, the threats to computers were different; machines were not as interconnected as they are today, and attacks were not as prevalent. With this in mind, a subset of the C runtime library must be deprecated for new code and, over time, removed from earlier code. It’s just too easy to get code wrong that uses these outdated functions. Even some of the classic replacement functions are prone to error, too.
This list is the SDL view of what comprises banned APIs; it is derived from experience with real-world security bugs and focuses almost exclusively on functions that can lead to buffer overruns (Howard, LeBlanc, and Viega 2005). Any function in this section’s tables must be replaced with a more secure version. Obviously, you cannot replace a banned API with another banned API. For example, replacing strcpy with strncpy is not valid because strncpy is banned, too.
Also note that some of the function names might be a little different, depending on whether the function takes ASCII, Unicode, _T (ASCII or Unicode), or multibyte chars. Some function names might include A or W at the end of the name. For example, the StrSafe StringCbCatEx function is also available as StringCbCatExW (Unicode) and StringCbCatExA (ASCII).