Teknikdagboken En blogg om teknik i vardagen

28Dec/100

Dagens tips – Laga användare efter återställning i MS SQL

Som utvecklare tar jag hyfsat ofta backup och göra återläsningar av databaser. När man gör detta tappar SQL användarna sina inloggningar och jag har inte funderat så mycket på det utan bara tagit bort och skapat upp dem igen. Naturligtvis finns det ett mer elegant sätt. Man kan köra en stored procedure på databasen i fråga så fixas detta.

EXEC sp_change_users_login 'Auto_Fix', 'Användarnamn', NULL, 'Lösenord' 

Kanske helt uppenbart för vissa personer men jag och många andra hade missat detta.

8Dec/100

Köra en stored procedure för varje rad i SELECT

Idag behövde jag ta bort ca 300 rader och kunde få ut berörda rader med en SELECT fråga. För att ta bort en rad behövde jag köra en stored procedure för att även ta bort relaterande data. Detta löstes smidigt genom följande script som jag hittade på Stackoverflow:

declare @field1 int
declare @field2 int
declare cur CURSOR LOCAL for
    select field1, field2 from sometable where someotherfield is null

open cur

fetch next from cur into @field1, @field2

while @@FETCH_STATUS = 0 BEGIN

    --execute your sproc on each row
    exec uspYourSproc @field1, @field2

    fetch next from cur into @field1, @field2
END

close cur
deallocate cur
21Maj/100

Coolaste Google Doodle hittils!

Google Doodle Pac-Man spel

Google Doodle Pac-Man spel

Om ni inte har tänkt på det brukar Google uppmärksamma stora händelser genom att förändra sin logga till att spegla händelsen. Jag vet inte riktigt vad detta kallas för på svenska men letar man på Google Doodle får man en massa träffar på vad som gjorts tidigare.

Idag är det 30 år sedan Pac-Man lanserades vilket är väl värt att firas då det är ett av världens mest berömda datorspel. Google gör detta genom att ändra sin logga till en fullt spelbar variant av Pac-Man. Tryck på Insert Coin så kommer Ms. Pac-Man också! 🙂

Grattis till Pac-Man och Toru Iwatani som skapade spelet!

15Feb/100

Mycket Android på Mobile Web Congress

Det händer mycket just nu. Förutom att det är OS på TV med spännande tävling (Grattis till Charlotte Kalla!) pågår också Mobile World Congress i Barcelona, en större mässa med fokus på mobiltelefoner.

En nyhet som jag tycker är extra intressant är att Adobe senare i sommar (Juli) planerar att släppa sin AIR-plattform till Android. Denna nyhet är inte intressant enbart pga att det kommer ny teknik till Android utan för att Adobe på sistone verkar vara på krigsstigen med både Google och Adobe. Apple hävdar att Flash är buggigt och drivs av lata utvecklare samt att Google försöker ta död på iPhone.

Visst, jag förstår att de är sura på Google med all den extra konkurrens det innebär med Googles operativsystem för mobiler, Android. Men varför gå så hårt åt en så stor spelare som Adobe? Apples nya surfplatta iPad kommer t.ex. inte ha stöd för Flash, vilket innebär att man inte kommer kunna surfa på tusentals stora internetsidor.

Sen tidigare har Apple ogillat att man hänvisar till Android i deras AppStore och blockat Google Voice. iPhone är enligt mig en riktigt bra telefon men jag tycker inte om Apples sätt att försöka styra marknaden.

Det var lite kuriosa, nu till Android och lite gladare nyheter. En hel drös nya Android-telefoner har presenterats på MWC hittils såsom en telefon med full-querty-slide, fulaste? mobilen hittils, nya Sony Ericsson telefoner och en telefon från Samsung med inbyggd projektor som de kallar för Halo.

Fler Androidmobiler presenterades men dessa stack ut på ett mer betydande sätt.

En annan nyhet är att TAT, The Astonishing Tribe, som bland annat utvecklat gränssnittet i standard android, ämnar att släppa en "hemskärmsapplikation" med 3D effekter till android. Med hemskärmsapplikation menas det gränssnitt du ser när du navigerar runt i standardgränssnittet på din telefon. En video på hur det kan se ut följer:

Här kommer lite bilder på de nya telefonerna (inklusive en netbook och en tablet).

7Feb/100

Litebox som anpassar sig efter webbläsarfönstret

Jag tycker att bildvisning med hjälp av Lightbox2 / Litebox är riktigt snyggt på webbsidor och har nyligen installerat det på en av mina hemsidor.

Jag hittade då ett problem där applikationen inte tar hänsyn till hur stora bilderna är relaterat till webbläsaren vilken ibland gjorde att inte hela bilderna syntes. När man använder dessa skript får man inte heller någon skrollbar så man kunde inte bläddra för att se hela bilden.

Enkelt löst tänkte jag och googlade vidare efter liknande applikation som gör just detta, men jag hittade inget bra och bestämde mig för att lösa detta själv.

Det som behöver göras är att lägga in ny funktionalitet i litebox-1.0.js för att ta hänsyn till storleken på webbläsarfönstret. Förändringen som behövs är liten och enkel att införa. Byt bara ut

imgPreloader.onload=function(){
	Element.setSrc('lightboxImage', imageArray[activeImage][0]);
	myLightbox.resizeImageContainer(imgPreloader.width, imgPreloader.height);
}

mot

imgPreloader.onload=function(){
	Element.setSrc('lightboxImage', imageArray[activeImage][0]);
	
	var innerWidth = arrayPageSize[2];
	var innerHeight = arrayPageSize[3];
	
	if(imgPreloader.width>(innerWidth-100) || imgPreloader.height>(innerHeight-130)){
		if(imgPreloader.width>(innerWidth-100)){
			var width=(innerWidth-100);
			var height=imgPreloader.height/(imgPreloader.width/(innerWidth-100));
			if(height>(innerHeight-130) ){
				var height=(innerHeight-130);
				var width=imgPreloader.width/(imgPreloader.height/(innerHeight-130));
			}
		} else if(imgPreloader.height>(innerHeight-130)){
			var height=(innerHeight-130);
			var width=imgPreloader.width/(imgPreloader.height/(innerHeight-130));
		}
		
		height = Math.floor(height);
		width = Math.floor(width);
		
		document.getElementById('lightboxImage').height=height;
		document.getElementById('lightboxImage').width=width;
		document.getElementById('lightboxImage').style.width=width;
		document.getElementById('lightboxImage').style.height=height;
		myLightbox.resizeImageContainer(width, height);
	} else {
		document.getElementById('lightboxImage').height=imgPreloader.height;
		document.getElementById('lightboxImage').width=imgPreloader.width;
		document.getElementById('lightboxImage').style.width=imgPreloader.width;
		document.getElementById('lightboxImage').style.height=imgPreloader.height;
		myLightbox.resizeImageContainer(imgPreloader.width, imgPreloader.height);
	}
}

så skall det fungera.

Skillnaden mellan Litebox och Lightbox är liten och ligger främst i vilket bakomliggande JavaScript-ramverk som används, vilket gör att detta därför går att applicera på båda applikationerna.

4Feb/101

Hur du kommer igång med WordPress

WordPress är en gratis och öppen mjukvara med vilken man kan blogga och skapa hemsidor med. Det finns till och med dem som använder WordPresssom en internetbutik. Denna blogg använder sig av WordPressoch jag tänker med detta första blogginlägg försöka beskriva vad och hur jag gjort när jag installerade den.

Varför WordPress?

Först lite mer bakgrundsinformation. Det finns många andra tjänster som man kan använda till att blogga såsom MovableType, Blogg.se eller BlogEngine.Net. Varför jag valde just WordPress och inte började blogga på blogg.se eller är dels för att jag till vardags arbetar som Systemutvecklare och vill kunna styra precis allt till att bli exakt som jag vill.

Den andra orsaken är att jag länge varit sugen på att testa mjukvaran då de bästa och mest avancerade bloggarna verkar köra WordPress, vilket inte är så konstigt då WordPress är ett av världens mest använda bloggverktyg. Dessutom har jag alltid tyckt om flexibiliteten och administrationsgränssnittet som är enkelt att förstå.

Installation

Detta stegen är egentligen inte obligatoriskt då man kan skaffa en blogg på wordpress.com, men jag vill som sagt ha full kontroll på allt med bloggen och då vill jag också ha tillgång till källkoden. Jag är lite osäker på vilka möjligheter man har att installera plugins och anpassa bloggen om man gör på detta sätt men jag tror man har tillgång till det mesta.

Det första jag gjorde var att bestämma mig för på vilket webbhotell jag ville ha bloggen. Då jag sedan tidigare använder och är mycket nöjd med Binero var valet enkelt. Varför Binero är så bra kommer jag säkert behandla i ett framtida inlägg men kortfattat har de bra avtal, vänlig support och mest funktion för pengarna samt att de alltid får bra betyg av Internetworld i deras årliga test av webbhotell.

Efter detta valde jag domänadressen teknikdagboken.se som adress till bloggen, vilken jag köpte genom Binero.

Själva installationen går till som så att man laddar ner alla filer från svenska sv.wordpress.org, packar upp dem, ändrar inloggningsuppgifter i wp-config-sample.php samt byter filnamnet till wp-config.php och laddar upp alla filer. Sen är det bara att gå till sin blogg och installera. Det hela är väldigt enkelt och tar bara några minuter att genomföra.

Ändra tema

Svenska WordPress kommer med två skinn översatta till svenska. Jag tycker ingen av dem är särskilt snygga och valde istället ett från WordPress lista med gratis skinn. Mitt val föll på LightWord därför att det är stilrent, finns på svenska och tilltalar mig. För att installera det laddar man ner skinnet, packar upp och laddar upp via FTP till /wp-content/themes. Nu är det bara att byta skinn i administrationsgränssnittet.

Tillägg

Ett av WordPress starkaste sidor är alla tillägg man kan installera. De allra flesta finns på WordPress egna sida för tillägg. Här följer en kort beskrivning av de tillägg jag har installera och varför.

AddThis Social Bookmarking Widget

Den sociala webben tycker jag är cool och detta plugin gör att mina läsare kan sprida information om min blogg och mina blogginlägg till andra webbtjänster. Man kan t.ex. twittra, skicka bokmärken till delicious eller informera om inlägget på facebook. Detta och hundratals andra tjänster finns representerade.

Akismet

Akismet hängde med från början och är ett tillägg som kontrollerar om kommentarer som skrivs på bloggen verkar vara spam eller ej. Det finns många robotar som inte gör annat än letar efter oskyddad gästböcker och dagböcker där de skriver orelevanta inlägg med länkar till diverse olika sidor som betalat för det. Aksimet undviker alltså spam bland dina kommentarer.

All in One SEO Pack

Ger din blogg fler möjligheter att vara sökmotorvänlig vilket innebär att sökmotorer kommer ranka din sida högre bland andra bloggar och sidor som skriver om samma sak. SEO, eller Serach Engine Optimization som det står för, är något som man måste satsa på om man vill ha besökare från sökmotorer såsom Google.

BackType Tweetcount

En annan social internetjänst är twitter. BackType Tweetcount låter dina användare twittra om dina inlägg genom att trycka på en länk vid inlägget samtidigt som den håller koll på hur många som gjort det.

FeedBurner FeedSmith

Feedburner kontrollerar hur många personer som prenumererar på din blogg via RSS och är något som väldigt många professionella bloggare använder sig av. Det är också en samlingsplats för bloggare som andra tjänster använder för att hitta intressanta blogginlägg.

Google Syntax Highlighter for WordPress

Jag hade tänkt mig blogga lite om programmering och detta tillägget färgkodar syntaxen av den kod jag skriver så att det blir enklare för er besökare att se vad jag har gjort. Detta är alltså inget nödväntigt plugin för den som inte bloggar om programmering.

Hello Dolly

Det här tillägget hängde också med WordPress och syns bara i administrationsgränssnittet där den skriver ut slumpässida meningar från låten Hello Dolly av Louis Armstrong. Ganska onödigt då bara administratören av bloggen kommer kunna se det och fyller inget syfte men sägs vara det första tillägget som fanns till WordPress.

jQuery Lightbox

För att visa bilder lite snyggare på sidan kan man använda sig av Lightbox. Bilden öppnas av JavaScript samtidigt som bakgrunden mörkas ner. Det finns fler tillägg som bygger på samma sak men jag föll för denna då den var enkel att handskas med och bilderna minskades ner till en hanterbar storlek om de är större än skärmen. Tillsammans med tillägged kom en störande text som stod högst upp på sidan när man kollade på bilder. Detta kan man ta bort genom att klistra in följande text sist i filerna jquery.lightbox.css samt jquery.lightbox.packed.css

#lightbox-overlay-text {display:none !important;}

Detta lilla hack hittade jag i kommentarsfälten av skaparna till tillägget och måste därför vara okej att göra.

Twitter Widget Pro

Om du precis som jag twittrar och vill visa dina senaste inlägg från twitter på bloggen är detta ett bra tillägg som gör just detta i en widget. Widgets är små moduler som man oftast placerar i en eller två kolumner höger om blogginläggen.

Ultimate Google Analytics

För att kunna mäta hur många besökare du har, var de kommer och vad de läser om är Google Analytics ett utomordentligt bra statistikverktyg. För att google skall kunna få mätdata frn din sida behöver du lägga in en spårkod. Denna spårkod läggs in med detta tillägg.

WP-DBManager

Detta är ett bra verktyg för att bland annat kunna ta backup av din blogg. Även om du känner dig säker med ditt webbhotell kan det ändå hända en massa olika saker och då är det skönt att ha backup. I värsta fall kan du förlora flera års bloggande och hur kul vore det?

WP-PageNavi

Ett tillägg för att byta ut föregående-nästa länkarna i WordPress till en mer vänlig sidnavigering.

WPtouch iPhone Theme

Webbläsarna i mobiltelefoner blir mer och mer avancerade för varje dag men inget slår ändå en site anpassad för mobila webbläsare när man surfar med sin mobiltelefon. Detta tillägg förändrar din sida till ett mycket snyggt skinn om du surfar till den med en webbläsare i din mobil.

Yet Another Related Posts Plugin

Efter ett tag när du fått lite blogginlägg kan detta tillägg vara en riktigt bra ide då den kan länka in liknande inlägg som du skrivit tidigare till dina inlägg. Det positiva med detta är att du då ofta får användaren att stanna kvar längre på din blogg och ökar möjligheten för detta att få det som den letar efter. Många nyhetssidor använder sig av sådan här teknik och länkar till andra artiklar som hanldar om samma sak.

Google AJAX Translation

Varför inte låta dina besökare översätta det du skrivit till sitt eget språk? Detta tillägg översätter inlägg och kommentarer direkt på sidan på ett väldigt smidigt sätt.

Slutsats

Nu har du en fungerande blogg med några bra tillägg återstår ändå det viktigaste, innehållet. En blogg utan bra innehåll är bara ett tomt skal oavsett hur häftigt gränssnittet är och hur många funktioner du har. Det finns mycket bra att läsa om hur man skall blogga och här är några länkar:

Sida 3 av 3123