The streetwear store Shelta goes worldwide

http://www.codeodyssey.se/upload/resource/blog/shelta.eu.png

It was about a year ago when the swedish version of Shelta's webstore was born with some help from us as development partner.

Today we released the international version (Shelta.eu) where we have worked on some improvements. We have removed the frames for more easy navigation and bookmarking, made it possible to choose from four different currencies and installed a nwe paymentsystem. André at Shelta has also worked on the design and given it a nice lilac color.

Please visit and check out SNS fisherman shirts, Nike Sneakers, Adidas Originals, Svensson jeans and a lot of other nice stuff for your winter shopping.

By Jesper Lind

Swede publishes email logins of 100 embassies

The Swedish security expert, Dan Egerstad has found and published usernames and passwords to email accounts of 100 embassies across the world.

Computer Sweden has interviewed him and he lets us know how he found the information when he was doing a security lab recently.

Since then he has pondered over what to do with it. Contacting all the ambassies would have been a time consuming task and perhaps met with the wrong attitude. If he would have given it to SÄPO (National Security Service (of Sweden) it would have been considered a act of espionage. So he made the brave decision and published the information on his blog, Deranged Security.

Still there are no information about which systems the hacked email acounts was running on, but it would be interesting to find out. I guess it's only a matter of time before we we learn more about this.

Hopefully this will shed some light on the issues with insufficient security of email accounts, and push the development towards safer system forward.

By Jesper Lind

Tafiti – An experimental search concept built on Silverlight

http://www.codeodyssey.se/upload/resource/blog/tafiti.png

The Silverlight applications are beginning to get a bit more advanced and to show tehe real possibillities. Microsoft is showing off Tafiti, a experimental search koncept built on Silverlight and Live Search.

The demo is showing off some fun features, for exempel the "tree" as you can see an screenshot of above. Perhaps not very useful, but a fine exampel on hos visualization can make search more fun.

(LiveSide)

Read more on Techcrunch

By Jesper Lind

Friendly XSS-worm fixes your Wordpress installation

Got a message from the security expert beni which says that he has found 7 security issues with the blog platform Wordpress (latest version 2.2.1).

He has now created a friendly XSS-worm which uses this vulnerabilities to patch your system. More instructions how to do this in his blog-post.

Now that the flaws are known to the public there are a big risk of XSS-attacks happening. So you now got two options, wait for the official Wordpress-fix, or apply beni's fix to have an immidiate protection.

If you apply the patch from this recommendation, I am not responsible for any side affects this might have. But I trust beni, so I think you can go on with the patching. Just make sure you do a proper backup before you start.

More info

http://www.gnucitizen.org/blog/friendly-ajax-xss-worm-for-wordpress

Update: Wordpress has now released a security fix. Benjamin Flesch (beNi) is impressed it only took 6 days but, but not so happy they didn't mention him at first. They have now however put a thank you message in their blog post. Mission complete.

By Jesper Lind

UpdatePanel - TinyMCE Demo with project zip-file

TinyMCE is a nice HTML-Editor which has become very popular. It's easy to use and has a lot of configuration possibillities. But when it come to combining it to Ajax and partial updates - it can be a nightmare...

I have now done a proper test and will provide the source code for anybody who is interested, free of use in any way. I've tested this code successfully in IE7, FF2 and Opera.

But now let the source speak for it self, don't miss out on the complete project download at the bottom.

Default.aspx

<%@ Page Language="C#" ValidateRequest="false" Trace="false" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>MS Ajax UpdatePanel - TinyMCE</title>
<script type="text/javascript">
function SaveMyPreciousValues()
{
tinyMCE.triggerSave(false,true);
TextBox1 = document.getElementById('TextBox1');
alert('Check value when posting: '+ TextBox1.value)
}
</script>
</head>
<body>

<form id="form1" runat="server">
<asp:ScriptManager ID="sm" EnablePartialRendering="true" runat="server">
</asp:ScriptManager>

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<p>
<asp:Label ID="Label1" runat="server" Text="Welcome to the MS Ajax UpdatePanel - TinyMCE Demo, Enjoy!"></asp:Label>
</p>
<asp:TextBox ID="TextBox1" Rows="10" Columns="50" TextMode="MultiLine" EnableViewState="false" Text="Write something here..." runat="server"></asp:TextBox>

<p>
<asp:Button ID="Button1" runat="server" OnClick="Button1_OnClick" OnClientClick="SaveMyPreciousValues();" Text="Hit me" />
</p>
</ContentTemplate>
</asp:UpdatePanel>

</form>
</body>
</html>

Default.cs.aspx

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
LoadTinyMCE();
}

private void LoadTinyMCE()
{

//Load tinyMCE
HtmlGenericControl Include = new HtmlGenericControl("script");
Include.Attributes.Add("type", "text/javascript");
Include.Attributes.Add("src", "js/tiny_mce/tiny_mce.js");
this.Page.Header.Controls.Add(Include);


//Config MCE
HtmlGenericControl Include2 = new HtmlGenericControl("script");
Include2.Attributes.Add("type", "text/javascript");
Include2.InnerHtml = "tinyMCE.init({mode : 'textareas' ,language : 'sv',entity_encoding : 'raw'});";
this.Page.Header.Controls.Add(Include2);

}

protected void Button1_OnClick(object sender, EventArgs e)
{

//Get the contect of the TextBox
string inputText = Request.Form["TextBox1"];

//Print all Form-values when testing
/*for (int i = 0; i<Request.Form.Count;i++ )
{
string itemName = Request.Form.AllKeys[i];
string itemValue = Request.Form.GetValues(i)[0];
Label1.Text = Label1.Text + "<br />" + itemName + ":" + itemValue;
}*/

Label1.Text = "Content posted from TextBox1: " + inputText;

//Register some javascript to redraw the editor.
//Very important to reset the id-counter to "0", or else strange things will happen..
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "init", "tinyMCE.idCounter=0;tinyMCE.execCommand('mceAddControl', false, 'TextBox1');", true);
}
}

zip-icon UpdatePanelTinyMCE.zip (C#)

Update: Joakim has rewritten the example to VB.NET, read more on his blog.

By Jesper Lind

CSS Redundancy Checker

When A web site been running for some time the CSS-files can grow very large and it is difficult to identify which classes that are really in use.

Infovore has been trying to tackle this problem with the new tool CSS Redundancy Checker that can be downloaded at Google Code.  You have to download and run it locally, and it will identify CSS-classes that are not in use in the code. It only works with HTML- files and not dynamicly genereated web sites.

Would be great to have this running online. Is there anybody who knows of any other service like that? 

By Jesper Lind

Flash audio player from 1 Pixel Out

I've been looking for a Flash audio player and found a nice one called 1 Pixel Out - Audio Player. The only thing I'm missing is a volume control.

The player is availible as a plugin for Wordspress and it's source code can be downloaded here. It's free to modify due to the GNU-licence status.

If you like to use the player with another platform than Wordpress Mindy McAdams has the instruction.

Here are a few examples. Mixes are borrowed from our friend DJ JayStarSeven.

Warmup.Karizma:

Puzzle.mix.vol.1:

By Jesper Lind