October 22nd, 2006 — ASP.NET
Too bad. Microsoft said goodbye to Atlas and comes up with a *new* framework called ASP.NET AJAX. There are lots of new features and bugfixes within that beta release which comes in 3 pars:
- The ASP.NET AJAX v1.0 “Core†download. This redist contains the features that will be fully supported by Microsoft Product Support, and which will have a standard 10 year Microsoft support license (24 hours a day, 7 days a week, 365 days a year). The download includes support for the core AJAX type-system, networking stack, component model, extender base classes, and the server-side functionality to integrate within ASP.NET (including the super-popular ScriptManager, UpdatePanel, and Timer controls).
- The ASP.NET AJAX “Value-Add†CTP download. This redist contains the additional higher-level features that were in previous CTPs of “Atlas,†but which won’t be in the fully-supported 1.0 “core†redist. These features will continue to be community supported as we refine them further and incorporate more feedback. Over time we’ll continue to move features into the “core†download as we finalize features in this value-add package more.
- The ASP.NET AJAX Control Toolkit. This project contains 28 free, really cool, AJAX-enabled controls that are built on top of the ASP.NET AJAX 1.0 “Core†download. The project is collaborative shared source and built by a combination of Microsoft and non-Microsoft developers, and you can join the community or just download it on CodePlex today.
Sounds nice but the thing which makes me a little bit angry is.. the old Atlas code has to be migrated. It took me about 5 hours to migrate four of my existing ASP.NET Atlas applications. Here’s the migration guide: Atlas Migration guide.
Let’s hope we’re working with somewhat more stable bits now, ASP.NET Ajax.
October 19th, 2006 — Windows
Microsoft could be ready to release Windows Vista to manufacturing as early as next week, a milestone that would signify the end of a protracted development process. It could also set the company on a course to launch the operating system at the huge International Consumer Electronics Show in Las Vegas, where Chairman Bill Gates is to deliver the opening keynote Jan. 7.
“9 Days Until Vista RTM!!!” read a scrolling electronic reader board in a building on Microsoft’s Redmond campus Monday. If the countdown is correct, it would mean Vista is to be released to manufacturing (RTM) on Oct. 25, earlier than analysts expected.
Other than to reiterate that Vista is on track, a Microsoft spokesman had no comment on the reader-board message, which was visible from the lobby of Building 9, where part of the Windows Vista team works.
October 10th, 2006 — ASP.NET, Development, SQL
Red-Gate released a fantastic SQL Refactor Tool which helps you refactoring that horrible SQL Code you have to deal with on a daily basis.
SQL Refactor is an Add-In to Microsoft Management Studio. Therefore you must have Management Studio installed. SQL Refactor’s features are available from the Management Studio menus, which can access both SQL Server 2000 and SQL Server 2005. In this release of SQL Refactor you can use the following features:
- SQL Lay Out reformats your T-SQL scripts. You can select this feature from the top level SQL Refactor menu. There are over 30 options to control this feature, these you can access from the top level SQL Refactor menu.
- Smart Rename renames functions, views, stored procedures and tables, and updates all the references to these renamed objects. You can select this feature from the context menu in Management Studio’s Object Explorer.
- Smart Rename parameters and columns renames parameters of stored procedures and functions, and columns of tables and views. You can select this feature from the context menu in Management Studio’s Object Explorer.
- Table Split splits a table into two tables, and automatically rewrites the referencing stored procedures, views, and so on. You can also use this refactoring to introduce referential integrity tables. You can select this feature from the context menu in Management Studio’s Object Explorer.
- Uppercase keywords turns keywords in your script or selection to uppercase.
- Summarize Script provides you with an overview of your script. By highlighting items in this overview you can see the corresponding statements highlighted in your script.
- Encapsulate as stored procedure turns your selection into a new stored procedure, and if requested, introduces a reference to it in your script.
- Expand wildcards expands SELECT * statements to include a full list of columns in the select part.
- Find unused variables and parameters shows you the variables and parameters in you script that are not used, or that are only assigned to.
- Qualify Object Names modifies the script so that all object names are qualified. You can select this feature from the top level SQL Refactor menu.
Download it here: ftp://ftp.red-gate.com/sqlrefactorbeta/sqlrefactorsetup.exe
Great Job!
October 7th, 2006 — Gaming, Windows
Microsoft is reportedly telling it’s gaming industry associates that games will run 10-15% slower on their new operating system due to the new GUI implemented.
Vista’s new 3D desktop will constantly be draining the PC of video memory that games could make use of, so in actual fact many of your favourite games will probably run faster on Windows XP. Of course after Vista arrives new PCs and hardware will be built especially for Vista which will increase performance anyway.
In the end, that should be clear for everyone. Windows Vista will be heavily bloated and if you don’t plan on disabling all that shiny stuff you will suffer a significant performance loss. I will upgrade to Vista as soon as it’s out, however, I will buy new hardware, too, in fact a complete new custom PC. If my games still don’t run smooth, the shiny stuff gotta go.
September 27th, 2006 — Development, SQL
Some meaningful scenarios when to use .NET programming inside SQL Server 2005:
- The developer is not very comfortable with T-SQL, an implementation with .NET seems to be easy and uncomplicated. After some tests the created elements don’t show any performance impacts.
- The realization of T-SQL seems to be inadequately complex. Especially string manipulation and sequencing are not the strength of T-SQL. However, in .NET it’s rather easy by using existing methods and functions. It’s better to use .NET if it’s faster to develop but also faster or as good as T-SQL in performance.
- The realization in T-SQL is not possible at all. .NET commands make functions possible which wouldn’t be equivalent to T-SQL. This is mostly the case when accessing external resources.
So in my opinion .NET in SQL Server 2005 is only a real alternative if you have to access external resources or have to deal with complex tasks. It’s still SQL Server 2005 and not .NET Application Server 2005 ;).
September 26th, 2006 — ASP.NET, SQL
Here’s how to update one table by selecting the values from another:
UPDATE C
SET C.Phone = O.[Tel],
C.Fax = O.[Fax]
FROM output$ O
JOIN Contacts C
ON C.MemberId = O.MemberId
Maybe this saves someone time..
September 23rd, 2006 — ASP.NET
I found a pretty nice set of AJAX Activity Indicators here: http://www.napyfab.com/ajax-indicators/
One example would be this here:

Saves some time in AJAX Development
September 22nd, 2006 — ASP.NET, HowTo's
I’m finally back from vacation, expect some impressions of Gran Canaria in the near future. For now, here’s a little HowTo for enforcing strong passwords.
Regex is a good way to deal with password validation. If you want your users to choose strong passwords here’s how to do it:
This regular expression will enforce a password to be at least 8 characters and to be a mix of letters and numbers. Additionally they need to have at least one uppercase letter.
^(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?!.*\s).*$
“pAssword555†will be accepted.
Serverside implementation:
public static bool IsPasswordStrong(string password)
{
return Regex.IsMatch(password, @"^(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?!.*\s).*$");
}
Clientside implementation:
<asp:TextBox runat="server" ID="PasswordBox" TextMode="password" />
<asp:RegularExpressionValidator runat="server"
ControlToValidate="PasswordBox"
ValidationExpression="(?=.{8,})[a-zA-Z]+[^a-zA-Z]+|[^a-zA-Z]+[a-zA-Z]+"
Display="Dynamic"
ErrorMessage="Password must be 8 chars long and has to contain letters and numbers." />
Simple and effective, enjoy!
September 5th, 2006 — Personal
I’m leaving for 2 weeks in a couple of hours, flying to Gran Canaria ;). I will respond to all the e-mails as soon as I get back, thanks and have a good time!
Andreas
August 23rd, 2006 — ASP.NET
Whenever you execute a Cross Page Post-Back from one site to another by using
<asp:button PostBackUrl=“anotherpage.aspx" runat=“server"/>
be sure to set this on anotherpage.aspx to gain full access to the controls of the previous page:
<%@ PreviousPage VirtualPath=“previouspage.aspx" %>
Afer that, you can access the controls by using the Page.PreviousPage Property.
Example:
Textbox MyNewTextBox = PreviousPage.FindControl("PreviousPageTextBox");
Label1.Text = MyNewTextBox.Text;
Cheers!
August 18th, 2006 — SEO, Web/Net
Sometimes I’m just registering domains because I think that specific domain name could be worth something. However, I don’t always have an idea for them.
A good advise is to check the domain with different extensions. Let’s say you registered my-domain.de. Now check out my-domain.com, my-domain.net, my-domain.org, etc. and see what they did with that specific domain.
That might help you with building an idea for your domain!
August 15th, 2006 — Web/Net
Today, the Swedish Pirate Party launched a new Internet service that lets anybody send and receive files and information over the Internet without fear of being monitored or logged. In technical terms, such a network is called a “darknet”. The service allows people to use an untraceable address in the darknet, where they cannot be personally identified.
“There are many legitimate reasons to want to be completely anonymous on the Internet”, says Rickard Falkvinge, chairman of the Pirate Party. “If the government can check everything each citizen does, nobody can keep the government in check. The right to exchange information in private is fundamental to the democratic society. Without a safe and convenient way of accessing the Internet anonymously, this right is rendered null and void.
File sharing of music, films, and other forms of culture is where the surveillance of Internet addresses has attracted the most attention, largely because the entertainment industry has been so aggressive in suing Internet users for copyright infringement, suing college students and single mothers alike without concern.
“But there are much more fundamental values at stake here than copyright,” Rickard Falkvinge says. “The new technology has brought society to a crossroads. The only way to enforce today’s unbalanced copyright laws is to monitor all private communications over the Internet. Today’s copyright regime cannot coexist with an open society that guarantees the right to private communication.”
“Until we have changed the laws to ensure that citizens’ right to privacy is respected, we have a moral obligation to protect the citizens from the effects of the current routine surveillance,” Falkvinge continues. “This is our technical means to do just that.”
The service is being offered for 5 EUR per month or 50 EUR per year by a company called Relakks. Right now you’re getting a dynamic IP but static IPs are planned.
Sounds like a great opportunity for all you Filesharers out there. I didn’t test the service myself yet but I’m planning to give it a try in the near future.
Here’s the official press release: click
August 9th, 2006 — Gaming
Now this are some great news. Tired of all your multiplayer games and didn’t buy F.E.A.R. yet? No problem, Sierra is coming up with a free F.E.A.R. Multiplayer component on Thursday, August 17th.
The F.E.A.R. Combat download will offer the entire F.E.A.R. multiplayer experience which includes:
- 19 multiplayer maps
- 10 game modes
- 12 different weapons
- The ability to download custom user content (maps and such)
- Punkbuster support
F.E.A.R. Combat users will be able to play against other Combat users and retail F.E.A.R. users as well.
That’s a nice move from Sierra, I only tested F.E.A.R. in Single Player shortly but it’s absolutly worth a try in Multiplayer. Looking forward to see you online ;).
Download Link (on August 17th): http://www.joinfear.com
August 4th, 2006 — Administration, SQL, Web/Net
If you’re running in this specific problem you are probably trying to update a pretty large forum. This happens because the post table is too big and the PHP Connection Timeout is being fired.
The browser might just stop loading or showing a blank white page. In some cases this error pops up:
This request takes too long to process, it is timed out by the server. If it should not be timed out, please contact administrator of this web site to increase ‘Connection Timeout’.
..so, whether you increase the Connection Timeout or you manually run the tables by using SSH Access.
If you want to update the big tables manually, here are the queries:
- ALTER TABLE vb3_post ADD COLUMN infraction smallint(5);
- ALTER TABLE vb3_thread ADD COLUMN deletedcount smallint(5);
- ALTER TABLE vb3_post ADD COLUMN reportthreadid int(11);
- ALTER TABLE vb3_thread ADD COLUMN lastpostid int(11);
The post tables took around 48 minutes here, updating 1,6 million rows of postings.
After running those queries, open up upgrade_360b1.php, find Alter Post table OH NO HERE WE GO! — new system will allow a refresh if it dies at least and comment out the following:
$upgrade->add_field(
sprintf($upgrade_phrases['upgrade_300b3.php']['altering_x_table'], 'post', 1, 1),
'post',
'infraction',
'smallint',
FIELD_DEFAULTS
);
$upgrade->add_field(
sprintf($upgrade_phrases['upgrade_300b3.php']['altering_x_table'], 'thread', 1, 1),
'thread',
'deletedcount',
'smallint',
FIELD_DEFAULTS
);
$upgrade->execute();
$upgrade->add_field(
sprintf($upgrade_phrases['upgrade_300b3.php']['altering_x_table'], 'post', 1, 1),
'post',
'reportthreadid',
'int',
FIELD_DEFAULTS
);
$upgrade->add_field(
sprintf($upgrade_phrases['upgrade_300b3.php']['altering_x_table'], 'thread', 1, 1),
'thread',
'lastpostid',
'int',
FIELD_DEFAULTS
);
$upgrade->execute();
Then run it and you should be fine.. hope that helps!
August 3rd, 2006 — Google, SEO
Some interesting facts about SEO taken from Matt Cutt’s latest video sessions:
- When you launch a new website, rather launch it with a few thousands pages instead of millions. After that, add pages in a healthy period of time.
- Be sure to have unique pages!
- Don’t worry about W3C validation too much. It’s good to validate but it’s not necessary. Usability and how the pag looks should be your first thing to worry about. Personally I never really cared about W3C validation because in my opinion they’re living in the past.
- Dynamic pages with query strings are crawled by most searchengines just one link deeper. If you have to use dynamic query string pages be sure to keep your parameters short and avoid long numbers as they might be treated as session ids.
- Try to use mod_rewrite or simliar techniques to make your urls more friendly and readable
- GEOIP targeting is not treated as cloaking, however, you should never treat the googlebot or any other searchengine bot in a special way. Cloaking means to show different content to searchengine bots than to users.
- Google does a lot of duplicate content detections. There are several forms of duplicate content, like full duplicates or just near duplicates. Be sure to write as unique pages as possible and you won’t get into trouble.
That’s a short summary of what I written down while listening to the videos.