Fick just en inbjudan av Frej Norling som nyligen har lanserat Webbproffs.se, ett forum med inriktning på systemutveckling, programmering och webbutveckling.
Jag registrerade mig givetvis med en gång, för det är kul att vara med från starten på en sån här grej. Och forumet har bra förutsättningar för att lyckats tror jag. Man har ett bra domännamn och har strukturerat det hela väldigt fint.
Forumet körs på YetAnotherForum som är ett öppet källkodsprojekt skrivet i ASP.NET C# med SQL Server som datalagring.
Säkerhetsexperten beni lämnade mig ett meddelande om att han har hittat 7 säkerhetshål i bloggplattformen Wordpress (senaste versionen 2.2.1).
Han har nu skapat en vänlig XSS-mask som fixar dessa hål. Jag har själv ingen Wordpress-blogg att testa på men jag litar på att beni's skript gör det han påstår.
Men nu när säkerhetshålen är publicerade är det alltså stor varning för att XSS-attacker, utförda av illvillingar kan ske. Vad gör man? Antingen avvaktar man och väntar på den officiella Wordpress-fixen, eller kör beni's skript för att fixa hålen med en gång. Se till att du tar en ordentlig backup innan.
Men dessa säkerhetshål kan en elak person bland annat, radera alla dina blogg-poster (inget roligt alls!), lägga till sig själv som användare eller annat otyg.
Om det är en bra idé att köra patchen kan jag inte svara på och jag ansvarar inte för några bieffekter som den kan ha på din blogg.
Uppdatering: Nu har Wordpress fixat säkerhetshålen. Benjamin Flesch (beNi) är imponerad att det bara tog 6 dagar. Han skriver att han inte är så nöjd med att Wordpress-teamet inte tackade honom officiellt, men nu ser jag att de har lagt till ett meddeladne i utannonseringen på deras blogg.
Julafton kom tidigt för oss .NET-utvecklare i år. Microsoft höll tidschemat och levererade VS 2008 med .NET 3.5 Beta 2.
Men helt smärtfritt var det inte att få igång det för mig. Eftersom jag hade läst att denna version skulle fungerar bra vid sidan om VS 2005 satte jag igång installationen. Denna avbröts dock mitt i pga något fel, och lämnade mig med VS 2005 och hela min utvecklingsmiljö kaputt. Det beror nog på att jag redan hade en del fel på mina installationer, men en liten varning alltså. Installera den inte på din produktionsmijö om du vill slippa problem.
En ominstallation av XP senare, så gick det mycket bättre och nu rullar det fint på min maskin. Än har jag bara känt på det nya utvecklingpaketet, men bara en sån sak som Intellisense på Javascript har gjort det mödan värt.
VS 2008 med ASP.NET AJAX 1.0
Något som är lite lurigt är att få Ajax att fungera i NET2.0 läget på VS 2008. Först måste man se till att köra ett skript för att inte VS 2008 automatiskt ska använda de nya inbyggda Ajax-referenserna.
Sedan är det några fler steg som måste genomföras för att få fram Ajax-kontrollerna i toolboxen och ladda in referenserna. Microsofts utvecklingsteam har gjort en grundläggande förklaring för hur man gör.
Nu är det dags för oss att börja att brottas ordentligt med SQL Server 2005, och vi håller på att flytta en del databaser från 2000.
Något som kan ställa till med problem är att de gamla användarna följer med när man importerar databaserna. Vi har tidigare visat hur man kan ändra ägare på tabeller. Enligt min erfarenhet är det bäst att alltid köra med 'dbo' som ägare.
Vid import kan det bli en del konstigheter som resulterar att man inte kan ändra rättigheter alls en användare, och man får följande felmeddelande.
User, group, or role already exists in the current database. (Microsoft SQL Server, Error: 15023)
Detta beror på att Security identification numbers (SID) förväxlade eller 'föräldrarlösa' i sysusers-tabellen, som Falafel Software förklarar.
För att se en lista på övergivna inloggningar kan man göra följade stored procedure:
Se hur adsend annonserna ser ut på din webbplats utan att de registreras som omladdningar hos Google. I det extra fönstret som öppnas kan man även klicka på dem utan att riskera att åka dit för klickfusk.
Slutligen vill jag även passa på att tipsa om MozBackup även om det inte är ett tillägg utan ett separat program. Med detta man kan ta backup på sinda profiler i Firefox och Thunderbird.
Grub är ett projekt för att indexera internet med hjälp av distributerade klienter, i form av en skärmsläckare. Kommer ihåg när jag körde det för några år sen och hade en del skoj med det. Det var riktigt trist när det stängdes ner år 2005 pågrund av en kontrovers med källkoden, då i Looksmart's ägo.
Nu har dock Wikia köpt projektet och planerar att starta upp det igen, och använda datan till att köra deras sökmotor. De ska också släppa det som öppen källkod om jag förstått det rätt. Mer info kommer på deras Grub Wiki.
Jag har inte provat på Facebook ännu, den sociala plattformen som för tillfället växer med 100 000 medlemmar per dag, och som även svenskarna börjar joina som galningar. Så en dag får jag väl kolla in vad all hype handlar om.
Intressant är i alla fall att de har ett öppet API som utvecklare kan göra egna insticknings-program genom. Företag som Drömbolaget satsar nu på att göra applikationer till denna plattform.
Vill man prova på detta med ASP.NET så har Nikhil Kothhari gjort ett öppen källkods-projekt som kallas Facebook.net.
Jag har som sagt aldrig loggat in på Facebook utan bara vart vid fronten och vänt. Något som är intressant med detta faktum är att ingen data kommer ut från Facebook (precis som med många andra sociala nätverk) är att man inte kan se några andra profiler utan att själv bli medlem.
Facebook är precis som ett svart hål som Web-stategy skriver i inlägget "All your widgets are belong to Facebook". Det finns mängder av sätt att få in data men det kommer inte ut någonting, de har inte ens RSS-flöden har jag hört. Vågar man gå in där?
Om dessa kontroller är cachade så blir det lite svårare. Speciellt om man ska kunna sätta några properties på dem. Via OdeToCode hittade jag info hos Microsoft om hur man kan göra, och även exempelkod.
// Load the user control Control control = LoadControl("control/MyControl.ascx"); placeHolder.Controls.Add(control);
// Set its properties (if possible) ASP.MyControl uc = control as ASP.MyControl; if (uc == null) { PartialCachingControl pcc = control as PartialCachingControl; if (pcc != null) uc = pcc.CachedControl as ASP.MyControl; } if (uc != null) uc.MyProperty = "This is the value";
Ps. I mitt exempel har jag med ASP-prefixet på klassen för kontrollen. Detta beror på att jag använder inline-code, läs mer om detta i tidigare nämnt inlägg.
Något jag inte tänkt på innan är att man inte kan sätta värde-variabler till null i C#. Gjorde ett försök och fick då felet:
int x = null; Cannot convert null to 'int' because it is a value type
När jag läst detta inlägget, fick jag lite bättre förståelse till hur det fungerar, och även hur man kan göra för att använda null även på värdetyper, så här:
int? x = null;
Användbart om man jobbar med en databas och man vill att sina variabler ska reflektera de null-värden som finns där.