Packet Garden - visualiserar dina surfvanor som en planet

http://www.codeodyssey.se/upload/resource/blog/packet-garden.png

Packet Garden är något så coolt som en applikation för att visualisera den nätverkstrafik som sker på din dator. Data du laddar upp blir berg och nedladdad data representeras som dalgångar. Trafiken visar även vart på jorden trafiken skickas via genom geografiskt lokalisering. Plantor växer upp och för varje protokoll som används som 'HTTP plantor' och 'peer to peer plantor'.

Jag har testkört programmet lite och det är verkligen häftigt. När ens planet är uppbyggd kan man rulla runt på den med en liten boll och utforska planeten. Programmet är dock ganska resurskrävande och mitt grafikkort klarar inte riktigt av det. Efter några minuter på planeten så hänger sig programmet ofta. Men om du har en dator med mera kraft så kan det nog fungera bättre.

Mikrodatorn: Skapa en egen planet med hjälp av dina surfvanor

By Jesper Lind

Personliga företagsbloggar fungerar bäst

Idag skriver E24 en artikel om företagsbloggar och framhäver dem som ett bra verktyg för dialog med kunder, leverantörer och anställda på ett nytt sätt än. Traditionellt har företagskommunikation skett via nyhetsbrev men nu går många företag ifrån detta och börjar bli vän med det nya mediumet, bloggen.

I artikeln intervjuas webbrådgivaren Fredrik Wackå som gjort sig känd för sina bra analyser av företagskommunikation och ideer om hur den nya webben kan utnyttjas på bästa sätt. Som argument för att det tagit så lång tid för företagsbloggen att utvecklas som medium ger han följande förklaring.

Blogg blev tidigt synonymt med någon som sitter i pyjamas och skriver om vad de ätit till frukost. Och det finns tusentals sådana bloggar. Men i dag vet vi att bloggen kan vara oändligt mycket mer. Det finns privatpersoner som skapar nischade nyhetsbloggar som slår traditionella medier på fingrarna.

Men för att skapa en framgångsrik blogg gäller det att man inte underskattar hur mycket jobb det krävs.

Tyvärr är det många som inte inser att det krävs resurser. Den stora vinsten med en blogg bygger på att man etablerar sig som en återkommande röst och bygger upp en kontakt och en dialog med läsarna. Det krävs en duktig skribent som får tid på sig för att hålla en blogg intressant, säger Fredrik Wackå.

På sin egen hemsida har Wackå skrivit många bra inlägg om företagsbloggar. Speciellt intressant tyckte jag det var att läsa om vilket typ av språk som används i företagsbloggar och den dialog Wäckå haft med Eric Fallander som har dedikerat sin blogg till studier av företagsbloggen som fenomen.

Jag vill också passa på att uppmärksamma hur den oerhört duktiga bloggaren Anton Johansson anställs som skribentPrimelabs blogg. Företagsbloggaren - det nya framtidsyrket?

Uppdatering: Lite lustigt, ungefär samtidigt som jag skrev detta postade Anton ett eget inlägg på ämnet med väldigt liknande innehåll. Bloggosfären synkroniseras allt mer för varje dag som går, mycket tack till de förträffliga bloggportalerna som t ex Knuff.

By Jesper Lind

Första spam-attacken i kommentarera till bloggen

Denna sidan har varit förskonad från spam i kommentererna fram till nu. Idag postades den första till ett av mina inlägg. Nu verkar det dock som att det är en människa som postat kommentaren och ingen spam-bot. Hur som helst är det spam och jag kommer skriva om alla spammningsförsök som görs på mina sajter för att eventuellt kunna hjälpa andra att begränsa detta fenomen.

Spam som postas manuellt av människor finns det ju inte direkt något sätt att motverka. Kommentarer är ju oftast något positivt och det vill man ju inte försvåra för användaren. En grej man kan göra är att inte publisera kommentarerna automatiskt utan ha ett system där man som blogg-administratör först måste godkänna kommentarerna.

I detta fallet postades spammet den 2007-01-21 kl 12:03:55, kommer från IP-nummer 58.34.185.238 och använder webbläsaren IE6. Det verkar vara en surfare från kina eftersom språkinställningarna har koden zh-cn och texten som personen skickade innehållet mängder av nyckelord om kinesisk antik (2987 ord). I kommentaren finns också länkar till webbplatser inom samma område. Man har även lämnat telefonnummer och email uppgifter i spammet så jag kommer kontakta dem för att se om man kan få något svar.

Klicka här för en skärmdump på spammet

By Jesper Lind

Växtvärk för Geni's släktträd och hur hög är säkerheten?

Släktforskningstjänsten Geni har under de första dagarna som man haft uppe sin betaversion blivit omåttligt populär och har fått stor uppmärksamhet. Personligen gillar jag verkligen sajten och har haft mycket roligt tillsammans med min familj när alla släktingar har poppat upp under veckan.

Tjänsten har dock haft en hel del problem. Man hade inte räknat med den stora tillströmningen av användare och sidan har stundvis legat nere. De har varit ganska bra på att hålla användarna informerade via den officiella bloggen men inte på när det gäller alla problem. Många användare har nämligen råkat ut för att hela deras släktträd har raderats. Inte allt för kul när man har spenderat tid på att mata in all data. Detta har man inte bett om ursäkt för eller ens nämnt i bloggen.

Att vissa typer av familjerelationer inte är möjligt att mata in har också klagats på som att t ex att det inte går att mata in homosexuella par, adopterade barn eller andra annorlunda familjeförhållanden. Men detta är ju inget man direkt kan klaga på tycker jag, det är ju faktiskt en beta vi har att göra med. TechCrunch sammanfattar fadäserna och länkar till kommentarer från användare som råkat ut för strul.

Något som jag tycker är lite allvarligare är säkerhetsaspekten, hur säkra är våra uppgifter egentligen? Är det smart att skriva in för mycket information på sajten som t ex ens mammas namn som barn. Detta är ju en ganska vanlig säkerhetsfråga på banktjänster.

Jag gjorde häromdan en ganska skrämmande upptäckt när jag av en slump sökte runt på sajten (läs kommentarerna till det tidigare inlägget jag skrev om Geni). Hittade en publik xml-fil innehållande url:er till användares bilder och kunde lätt bläddra igenom dessa. Jag har kontaktar Geni angående detta men ännu inte fått något svar. Förhoppningsvis var det bara testdata jag hittade.

En sak är jag säker på i alla fall, de bilder man laddar upp är absolut inte säkrade för insyn. Alla bilder ligger på publika adresser. De har i och för sig ganska krångliga URL:er men det är nog inte omöjligt att hitta ett mönster i dessa och på så sätt kunna se andra användares bilder.

På förstasidan av sajten står det så här:

 

Geni is private and sequre: only the people in your family tree can see your tree and profile

 

Så Geni's uttalande får man ta med lite sanning i modifikation, dina bilder är INTE säkra!

Hur som helst tror jag inte dessa små bakslag kan stoppa sajtens framgångar. Vi kommer nog snart få se hur de har tänkt att tjäna pengar på dessa data.

Idéen med med släktträdet är genial och det kommer nog efterföljare som vill utmana på området. ZOOF.com är ett exempel på en sådan, som också precis har börjat att erbjuda användare testkonto, och de är givetvis också i beta-läge. jag har inte provat på tjänsten ännu men att de erbjuder tjänsten på 35 olika språk, svenska inkluderat, är imponerande.

By Jesper Lind

Klass-referenser till dynamiska instanser av User Controls

User Controls är smidiga att använda i .NET och ofta vill man ladda in dem dynamiskt. Då måste man referera till dem med deras egna klasstyp.

I version 1.1 var det lättare än i version 2.0 eftersom alla referenser fanns i samma assembly. Man kunde då använda kod som enligt följande.

MyUserControl_ascx myUserControl = (MyUserControl_ascx)LoadControl("MyUserControl.ascx");
myUserControl.IntProperty = 123;
myPlaceHolder.Controls.Add(myUserControl);

På många projekt som jag konverterar från 1.1 till 2.0 får jag felet:

Det gick inte att hitta typ- eller namnområdesnamnet MyUserControl_ascx (saknas ett using-direktiv eller en sammansättningsreferens?

I version 2.0 har nämligen komplileringsmodellen gjorts om en hel del och varje sida och kontroll kompileras i egna assemblys. Man måste nu tänka på att lägga in en referens på de sidorna som ska kunna använda kontrollens klasstyp. En alternativ lösning kan vara att lägga kontrollen i den speciella App_Code-mappen, men då kan man endast använda "inline-code"-modellen.

Jag tänkte nu visa några ett exempel på hur man kan referera till dynamiskt laddade User Controls, tilldela dem egenskaper och lägga till dem på sidan i en PlaceHolder. Exemplet visar hur man gör detta med både "code behind"- och "inline"-modell.

Det som är viktigt att tänka på är att referera till kontrollen med "Reference"-taggen som i mitt exempel ligger i mappen "ctrl". Observera också att när om kontrollen använder inline-kod så måste prefixet "ASP." användas på referensen till instansen.

Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Reference Control="ctrl/WebUserControl_InlineCode.ascx" %>
<%@ Reference Control="ctrl/WebUserControl_CodeBehind.ascx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Set Properties to dynamicly loaded UserControls</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:PlaceHolder ID="ph" runat="server" />
</div>
</form>
</body>
</html>

Default.aspx.cs


using System;
using System.Data;
using System.Configuration;
using System.Collections;
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)
{
Control ctrl = LoadControl("ctrl/WebUserControl_CodeBehind.ascx");
((WebUserControl_CodeBehind)ctrl).StrProperty = "First string";
ph.Controls.Add(ctrl);

//Add linebreak
ph.Controls.Add(new LiteralControl("<br />"));

Control ctrl2 = LoadControl("ctrl/WebUserControl_InlineCode.ascx");
((ASP.WebUserControl_InlineCode)ctrl2).StrProperty = "Second string";
ph.Controls.Add(ctrl2);
}
}

ctrl/WebUserControl_InlineCode.ascx

<%@ Control Language="C#" ClassName="WebUserControl_InlineCode" %>

<script runat="server">

string strProperty = string.Empty;

public string StrProperty
{
get { return strProperty; }
set { strProperty = value; }
}
void Page_Load()
{
lbl.Text = "Property from inline-code User Control: " + strProperty;
}

</script>
<asp:Label ID="lbl" runat="server" />

ctrl/WebUserControl_CodeBehind.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl_CodeBehind.ascx.cs" Inherits="WebUserControl_CodeBehind" %>
<asp:Label ID="lbl" runat="server" />

ctrl/WebUserControl_CodeBehind.ascx.cs

using System;
using System.Data;
using System.Configuration;
using System.Collections;
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 WebUserControl_CodeBehind : System.Web.UI.UserControl
{
string strProperty = string.Empty;

public string StrProperty
{
get { return strProperty; }
set { strProperty = value; }
}
void Page_Load()
{
lbl.Text = "Property from code-behind User Control: " + strProperty;
}
}


MSDN: "Creating Instances of User Controls Programmatically"

 

By Jesper Lind

Släktforska på nätet med Geni

http://www.codeodyssey.se/upload/resource/blog/GeniBeta.jpg

Internetworld beskriver den nya tjänsten Geni som ett perfekt exempel på viral marknadsföring. Svenska bloggare skriver om det och instämmer att det är en genialiskt upplägg på tjänsten som precis har lanserats som betaversion.

Det handlar om att bygga upp sitt släktträd på nätet och att bjuda in sina familjemedlemmar till att hjälpa till. Det är lätt att komma igång och i början behöver man bara uppge sitt namn och en emailadress. Sedan kan man lägga till sina föräldrar och syskon. När man skriver in dessa så får man alternativet att skicka ut en inbjudan till släktträdet till deras email. Trädet växer allt eftersom fler famlijemedlemmar och släktingar registreras.

Detta tror jag kommer bli mycket populärt och man kan se på besökarstatistiken för sajten att det redan har dragit en hel del folk. På Geni-bloggen skriver de även att de vart ett enormt intresse och deras servrar har gått på knäna. Nu planerar de att utöka maskinparken så fort som möjligt.

By Jesper Lind

Första intrycket av FON-routern och hur man registrerar den

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

Nu har jag fått min FON-router som jag beställde gratis när företaget gav bort trådlösa routrar till alla bosatta i Sverige. Nu är det erbjudandet över men ifall du missat det så finns det fler chanser. Alla som redan har fått en router kan nämligen skicka ut en inbjudan till en vän som i sin tur kan få sig en gratis router. Först ska jag höra med de jag känner om någon vill ha en inbjudan, men är du riktigt sugen på att komma med i fonero-gemenskapen så skriv en kommentar i detta inlägget eller maila mig. Uppdatering: För tillfället har vi inga fler inbjudningar att skicka ut. 

Måste säga att jag nästan ångrade mig efter jag gick med på erbjudandet. Tänkte, vad ska jag med en till router till som ska ta plats på skrivbordet när jag redan har två andra modem. Men när jag packat upp paketet blev jag väldigt positivt överraskad, den är mycket mindre än jag hade förrutställt mig. Med det smidiga yttermåtten på ca 9x7x3 cm och den smakfulla enkla designen är den inte alls störande.

Installationen var väldigt lätt och det är bara att koppla in en nätverkskabel ditt ADSL- trådlösa- eller kabelmodem. Observera dock att du redan behöver ha en internetuppkoppling. Dessutom så gillar inte leverantörerna att du delar på din uppkoppling på det här sättet. Men jag hörde dem aldrig klaga på den tiden när de flesta svenskar körde med olåsta nätverk. Nu när FON börjar bli en seriös "konkurrent" på marknaden har man dock hört en del upprörda röster från internet-leverantörerna.

Sedan ska du registrera ditt konto på www.fon.com. När detta är klart är det dags att registrera själva routern med ditt FON-konto. Detta var lite krångligt för mig med det beror nog på inställningar i min dator. Jag kunde i början bara se den privata uppkopplingen som kallas "MyPlace". Det är den publika delen "FON_AP" som du behöver logga in på första gången för att registrera routern. Dessutom verkar det vara en tidsgräns på 5 minuter, hinner du inte innan dess så måste du starta om routern för att få ett nytt försök. Denna gräns kan vara förlängd till 2 timmar enligt kommentarerna till detta inlägget, men på FONS instruktioner står det fortfarande 5 min som gräns. Efter ca 8 omstarter och en del pillande med det trådlösa inställningarna så kunde jag registrera routern och nu funkar allt fint.

Jag valde att bli en "Linus"-användare för att erbjuda min uppkoppling gratis. Känner du för att tjäna en hacka kan du ju prova på att bli en "Bill" och då dra in pengar från de användare som vill koppla upp mot ditt nät. Alla FON-medlemmar är hjärtligt välkomna att koppla upp ifall ni är i närheten av Tredje Långgatan i Göteborg.

Jag ser detta som en otroligt spännande nätverk, speciellt som Skype och Google är inblandade som sponsorer. Förhoppningsvis kommer FON bli den perfekta grunden för att koppla upp med iPhone- eller Skype-lurar i framtiden, och på så sätt vara uppkopplad gratis när man springer runt på stan.

Gå med i FON!

 

By Jesper Lind

The Venice Project kommer att heta Joost

http://www.codeodyssey.se/upload/resource/blog/J_02blog_OTF_nav_info.jpg

Det droppade just in en post i min RSS-läsare från TechCrunch som säger sig avslöja lanseringsnamnet på den kommande nät-tv-tjänsten, som vi hittills känt till som The Venice Project.

På TechCrunch skrivs det att sajten tidigare var lösenordsskyddad, men att man kunde komma förbi inloggningsrutan genom att klicka på cancel-knappen flera gånger i följd. Nu har man dock öppnat sidan för allmänheten men själva tv-tjänsten är fortfarande i privat betatestning.

Det nya namnet verkar bli Joost och surfar man in på domänen möts man av ett meddelande som bekräftar faktumet.

Yesterday, we were The Venice Project. Today, we're Joost. Tomorrow, we're yours! Imagine having infinite choice, and TV that is truly interactive. TV anywhere, anytime... This is the year. Joost is coming.

Det har tidigare läckt ut en del skärmdumpar på nätet och därför är det väl ingen mening med att försöka hålla designen på användargränssnittet hemligt längre. Nu publicerar man egna skärmdumpar och uppmanar bloggare att använda dessa. "Go mad - use them on your blog today!" - som de uttrycker det.

Männen bakom projektet är Janus Friis och Niklas Zennström, som tidigare gett Skype och Kazaa till världen. Inga dåliga succéer har det blivit heller och därför kan man nog förvänta sig något alldeles extra från tjänsten Joost. Läs intervjun med Niklas på IDG om du vill veta mer om planerna.

By Jesper Lind

Förhandsgranska länkar med Snap Preview Anywhere

Söktjänsterna utvecklas vidare och kommer i allt mer intelligent form och tappning. Snap är en tjänst som har en hel del roliga specialfunktioner. Själva sökresultaten går att bläddra igenom med piltangenterna och när man når listans slut så laddas nya resultat. Till höger på skärmen visas en förhandsgranskning av webbplatsen ungefär som PageBull som jag skrivit om tidigare.

Snap erbjuder även en tjänst som heter Snap Preview Anywhere som man kan använda på sin egen hemsida. Genom att registrera sig får man en javascript-kod att klistra in i head-taggen. När detta är klart visas en liten förhandsgranskning av de externa länkar man har på sin blogg/webbplats. Jag har precis lagt in det på denna blogg så om du håller med muspekaren över länkarna kan du se hur det ser ut.

Läs mer hos Joakim Sundén som också har börjat använda tjänsten.

By Jesper Lind

Opera lagar Adobes PDF-hål

Skrev häromdan om det nya säkerhetsproblemet med Adobes insticksmodul för PDF-filer. Oskyddade klienter kan vara öppna för XSS-attacker.

Den norska webbläsarleverantören Opera meddelar nu att man släpper en patch som tätar igen säkerhetshålet i Adobes insticksmodul för PDF-filer. Ett bra initiativ eftersom det hjälper till att skydda de användare som ännu inte har uppdaterat till Acrobat Reader version 8.

Har ännu inte sett någon respons från de andra stora leverantörerna av webbläsare, hoppas att de också inser vikten av att hjälpa till att täta igen detta farliga hål.

Operas patch innehåller bara 5 rader kod, och stoppar javascript att fungera vid filändelsen .pdf:

opera.addEventListener('BeforeJavaScriptURL', function( e )
{
var pathname=unescape(self.location.pathname.toLowerCase());
var hash=unescape(self.location.hash.toLowerCase());
if( pathname.indexOf('.pdf')>-1 && hash && hash.indexOf('javascript:')>-1 ) e.preventDefault(); }, false);

By Jesper Lind