23 years Ago
C++ Initializer List Ordering
Published by marco on
The April issue of the C++ Users Journa[1] published a letter by Ashley Williams pointing out yet another wart of C++. For any class in C++, you may declare as many member variables as you like. Each one of these member variables may be initialized in the constructor in the “initializer list”. References, in fact, must be initialized in this list.
Now, if you had to guess, in which order would those initializers be called? In the order they’re written? Remember that parameters passed to a... [More]
Skinnable User Interfaces
Published by marco on
osOpinion has an interview with Jef Raskin, …Jef Raskin Talks Skins…, one of the original UI designers for the Macintosh.
Skinning is all the rage with many applications these days (like earthli.com’s themes). A lot of the time, it seems that the designer is more interested in the fun had making the skin or the look of it than the actual usability of it. Apple recently drew criticism for keeping its UI, “Aqua”, closed to skinning in order to provide a more consistent interface for users.
... [More]
Visual C++ Warning #4786
Published by marco on
The March 2002 issue of Windows Developer Journal has a tech tip that anyone who uses the STL with Visual C++ has been waiting for. If you’ve tried this, then you’ve likely gotten warning #4786, which tells you that the fully-qualified name of the class you are using is too long to fit into the debug information and will be truncated to 255 characters.
The reason behind this error is pretty stupid. You see, a while ago, I had a cross-platform project that compiled in Visual C++ 6.0 on Windows... [More]
What is .NET?
Published by marco on
Ars Technica is running a great article called Microsoft .Net aims to demystify .NET and clear up some of the misunderstandings and deliberate obfuscations surrounding it.
“In a remarkable feat of journalistic sleight-of-hand, thousands of column inches in many “reputable” on-line publications have talked at length about .NET whilst remaining largely ignorant of its nature, purpose, and implementation. Ask what .NET is, and you’ll receive a wide range of answers, few of them accurate, all of... [More]”
Dots Per Inch
Published by marco on
For those who’ve ever struggled to determine what pixels per inch actually means when applied to the real world, the thread DPI: TRUTH OR LIE? at TalkGraphics provides many answers.
The basic gist is that when you store a graphic in Photoshop, it asks for the Pixels per Inch for the graphic. If this graphic will never be printed or does not need to retain its crispness when printed, this number does not matter at all. With an increasing amount of content created exclusively for the web, the... [More]
Removing illegal filenames in NT/2000
Published by marco on
I thought it was a shame that the guy was laughing at what sad bastards we are that we can’t even clean up his mess (for 3 months).
For future reference, here’s how you do it (only works in Windows NT/2000, for Windows 95, 98, use a DOS utility like ‘elim’):
dir /x
The /x
switch shows short and long file names. All of the illegal folders had legible short file names. The first one was ~0200, where 20 is actually hexadecimal for 32, which is ‘space’ in ASCII.
Once you know the folder name,... [More]
Beware constants in ASP (scripting bug)
Published by marco on
There is a bug in scope resolution in IIS 5.0. When resolving a variable within a member function, precedence is given to a global constant instead of to a member variable of the same name. The problem does not occur with global variables. Paste the following code into a page:
Sample Code
<%
const name = 1
class A
public name
public function get_name
get_name = name
end function
end class
dim a1
set a1 = new A
a1.name = "test"
%>
<%=name%><br>
<%=a1.name%><br>
<%=a1.get_name%><br>
... [More]