<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Blogg</title><link>http://www.rickardp.se:80/blogg</link><description>Blogg</description><item><title>Tele2´s lurendrej försäljare och dålig support</title><link>http://www.rickardp.se:80/blogg/tele2%C2%B4s-lurendrej-forsaljare-och-dalig-support</link><description>&lt;p&gt;&lt;strong&gt;F&amp;ouml;rord&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I detta blogginl&amp;auml;gg f&amp;ouml;rs&amp;ouml;ker jag f&amp;aring; ner i detalj en historia om hur Tele2 har f&amp;ouml;rs&amp;auml;ljare som lurar gammla pension&amp;auml;rer och hur det tar &amp;ouml;ver en timme att f&amp;aring; hj&amp;auml;lp av deras support till n&amp;aring;got vettigt.&lt;/p&gt;
&lt;p&gt;Personen i historien kallar jag X d&amp;aring; jag inte vill utl&amp;auml;mna n&amp;aring;gon och jag har inte bett om lov att f&amp;aring; skriva denna text men jag tror X inte har n&amp;aring;got emot det.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;S&amp;auml;ljaren&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;En dag ringer det p&amp;aring; d&amp;ouml;rren hos X, det &amp;auml;r f&amp;ouml;rs&amp;auml;ljare fr&amp;aring;n Tele2 som meddelar att f&amp;aring;ret Frank vill ge henne som sedan flera &amp;aring;r har betalningsanm&amp;auml;rkningar och inte kan f&amp;aring; bredbands abonnemang en andra chans, hon som i ett par &amp;aring;r levt med d&amp;aring;lig mottagning och halvt fungerande 3G modem med kontant kort i blev ju &amp;ouml;verlycklig.&lt;/p&gt;
&lt;p&gt;Han s&amp;auml;ger att hon kan f&amp;aring; bredband genom bredbandsuttag, h&amp;auml;r &amp;auml;r X s&amp;aring; pass kunnig s&amp;aring; hon vet och ber&amp;auml;ttar direkt f&amp;ouml;r f&amp;ouml;rs&amp;auml;ljaren att hon har inte bredbandsuttag, hon lever i ett Com Hem hus och inte har Tele2 indraget i l&amp;auml;genheten.&lt;/p&gt;
&lt;p&gt;F&amp;ouml;rs&amp;auml;ljaren tar den informationen och s&amp;auml;ger att han kan fixa bredband genom telefon ist&amp;auml;llet och att om hon tar digital-tv och hemtelefoni genom Tele2 samtidigt f&amp;aring;r hon ett bra erbjudande, vilket hon tyckte l&amp;auml;t bra men hemtelefoni ville hon absolut inte ha, men &amp;auml;r ju bara att inte koppla in det.&lt;/p&gt;
&lt;p&gt;Hon &amp;auml;r &amp;ouml;verlycklig och v&amp;auml;ntar p&amp;aring; att f&amp;aring; hem modem mm.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Installation och support&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;S&amp;aring; kommer den dag hon f&amp;aring;r hem paketet fr&amp;aring;n Tele2 och hon ringer p&amp;aring; mig som har sagt att jag kan hj&amp;auml;lpa henne installera bredbandet.&lt;/p&gt;
&lt;p&gt;Jag kommer dit och b&amp;ouml;rjar sj&amp;auml;lvklart med att hon inte fick med tillr&amp;auml;ckligt l&amp;aring;nga kablar, s&amp;aring; jag &amp;aring;ker hem och h&amp;auml;mtar kablar jag har hemma och kommer tillbaka och ska s&amp;auml;tta in bredbandet och f&amp;aring;r se att det finns inget internet ing&amp;aring;ng f&amp;ouml;r telefonkabeln, det finns dock en WAN ing&amp;aring;ng f&amp;ouml;r en n&amp;auml;tverkskabel, s&amp;aring; jag ringer Tele2 support och efter 5-8 minuter s&amp;aring; f&amp;aring;r jag prata med Person 1 som inte efter f&amp;aring;tt alla uppgifter konstaterar att det i systemet bara finns att X ska ha bredbandstelefoni genom bredbandet, hon kopplar oss vidare (vilket innebar ett antal minuter k&amp;ouml;) f&amp;ouml;r att f&amp;aring; prata med Person 2 och d&amp;aring; meddelar jag supporten att X har ju blivit grundlurad av f&amp;ouml;rs&amp;auml;ljaren och att X vill ha ADSL och Person 2 kopplar d&amp;aring; oss till Person 3 (vilket innebar ett antal minuter k&amp;ouml;)&amp;nbsp;som inte verkar kunna s&amp;ouml;ka p&amp;aring; om X kan f&amp;aring; ADSL s&amp;aring; Person3 kopplar oss till Person 4 (vilket innebar ett antal minuter k&amp;ouml;).&lt;/p&gt;
&lt;p&gt;Person 4 konstaterar att Tele2 kan inte leverera n&amp;aring;gonting till X d&amp;aring; hon m&amp;aring;ste skaffa fast telefoni och enligt Person 4 tecknar endast Telia nytt avtal f&amp;ouml;r fast telefoni, men pga X har betalningsanm&amp;auml;rkningar och pga det hamnade i denna sits s&amp;aring; &amp;auml;r ju det bara att gl&amp;ouml;mma.&lt;/p&gt;
&lt;p&gt;Vi vill ju s&amp;auml;ga up avtaleet och Person 4 m&amp;aring;ste d&amp;aring; koppla oss till Person 5 (vilket &amp;auml;ven h&amp;auml;r innebar ett par minuter k&amp;ouml;), Person 5 vill ocks&amp;aring; kolla om dem kan leverera n&amp;aring;got annat men jag sa att det inte var n&amp;aring;gon id&amp;egrave; vi vet redan att X inte kan f&amp;aring; n&amp;aring;got genom Tele2 och d&amp;aring; s&amp;auml;ger Person 5 up avtalet och tar bort fakturan som &amp;auml;r p&amp;aring;v&amp;auml;g och Person 5 kan inte ge n&amp;aring;gon som helst kompensation alls.&lt;/p&gt;
&lt;p&gt;Jao, jag anser ju att vi lever p&amp;aring; 2012 och att Tele2 borde kunna ge n&amp;aring;gon kompensation, tex en m&amp;aring;nad kontant 3g bredband men Person 5 kunde inte ge n&amp;aring;got och vi tackar f&amp;ouml;r oss.&lt;/p&gt;
&lt;p&gt;Sj&amp;auml;lvklart vill ju X ha bredband och &amp;auml;r besviken men finns inte s&amp;aring; mycket att g&amp;ouml;ra.&lt;/p&gt;
&lt;p&gt;I detta fall hade X mig som har parat med support hur m&amp;aring;nga g&amp;aring;nger som helst och f&amp;ouml;rs&amp;ouml;kte vara best&amp;auml;md med vad vi ville, men en annan person som r&amp;aring;kar ut f&amp;ouml;r detta och inte &amp;auml;r lika kunnig och inte kan s&amp;auml;ga till supporten vad dem ska g&amp;ouml;ra l&amp;auml;r ju ge up, telefonsamtalet med Tele2 p&amp;aring;gick i exakt 1 timme 3 minuter och 50 sekunder och en hel del tjat om vad saken g&amp;auml;llde till varje support.&lt;/p&gt;
&lt;p&gt;Tele2 &amp;auml;r ett g&amp;auml;ng idioter som kopplar p&amp;aring; "Hemtelefoni genom bredbandet" trots att X inte har n&amp;aring;got bredband, sen inte kan fixa n&amp;aring;gonting till henne alls.&lt;/p&gt;
&lt;p&gt;Vi lever p&amp;aring; 2012 och f&amp;ouml;rs&amp;auml;ljare och support kan g&amp;ouml;ra en s&amp;aring;dan h&amp;auml;r grej.&lt;/p&gt;
&lt;p&gt;Sprid g&amp;auml;rna detta!&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;</description><pubDate>Mon, 23 Apr 2012 18:46:19 GMT</pubDate><guid isPermaLink="true">http://www.rickardp.se:80/blogg/tele2%C2%B4s-lurendrej-forsaljare-och-dalig-support</guid></item><item><title>Att stoppa 100 iis siter</title><link>http://www.rickardp.se:80/blogg/att-stoppa-100-iis-siter</link><description>&lt;p&gt;P&amp;aring; jobbet har vi ca 100 iis siter p&amp;aring; v&amp;aring;r webserver och nu har den blivit klonad, det &amp;auml;r en s&amp;aring; kallad virtuell maskin (VPS) och jag skulle nu st&amp;auml;nga ner alla siterna f&amp;ouml;r att senare i veckan b&amp;ouml;rja testa lastbalanserings funktioner vi ska s&amp;auml;tta up.&lt;/p&gt;
&lt;p&gt;Var bara det att IIS har ingen multiselect funktion f&amp;ouml;r iis siter, s&amp;aring; jag skrev ihop ett litet program i C# (.Net) som st&amp;auml;ngde ner en efter en.&lt;/p&gt;
&lt;p&gt;Se koden nedan:&lt;/p&gt;
&lt;pre class="brush: csharp;"&gt;static void Main(string[] args)
{
	Dictionary&amp;lt;string, string&amp;gt; sites = new Dictionary&amp;lt;string, string&amp;gt;();

	DirectoryEntry iis = new DirectoryEntry("IIS://" + Environment.MachineName + "/w3svc");

	iis = new DirectoryEntry("IIS://" + Environment.MachineName + "/w3svc");

	foreach (DirectoryEntry site in iis.Children)
	{

		if (site.SchemaClassName == "IIsWebServer") //Web Sites have the IIsWebServer schema{
		{
			sites.Add(site.Name, site.Properties["ServerComment"].Value.ToString());
		}
	}

	foreach (string siteName in sites.Keys)
	{
		Console.WriteLine(siteName + " - " + sites[siteName]);
		StopIISSite(siteName);

	}
	Console.ReadLine();
}

static void StopIISSite(string site)
{
	try
	{
		ConnectionOptions connectionOptions = new ConnectionOptions();
		connectionOptions.Impersonation = ImpersonationLevel.Impersonate;
		//connectionOptions.Username = "xxxx";
		//connectionOptions.Password = "xxxx!";


		ManagementScope managementScope =
			new ManagementScope(@"\\localhost\root\microsoftiisv2", connectionOptions);

		managementScope.Connect();
		if (managementScope.IsConnected == false)
		{
			Console.WriteLine("Could not connect to WMI namespace " + managementScope.Path, "Connect Failed");
		}
		else
		{
			SelectQuery selectQuery =
				new SelectQuery("Select * From IIsWebServer Where Name = 'W3SVC/" + site + "'");
			using (ManagementObjectSearcher managementObjectSearcher =
					new ManagementObjectSearcher(managementScope, selectQuery))
			{
				foreach (ManagementObject objMgmt in managementObjectSearcher.Get())
					objMgmt.InvokeMethod("Stop", new object[0]); 
			}
		}
	}
	catch (Exception ex)
	{
		if (ex.ToString().Contains("Invalid namespace"))
		{
			Console.WriteLine("Invalid Namespace Exception" + Environment.NewLine + Environment.NewLine +
							"This program only works with IIS 6 and later", "Can't stop website");
		}
		else
		{
			Console.WriteLine(ex.Message, "Can't stop website");
		}
	}
}
&lt;/pre&gt;
&lt;div&gt;&lt;/div&gt;</description><pubDate>Tue, 07 Feb 2012 18:43:49 GMT</pubDate><guid isPermaLink="true">http://www.rickardp.se:80/blogg/att-stoppa-100-iis-siter</guid></item><item><title>Hur man installerar Windows 7 från USB minne</title><link>http://www.rickardp.se:80/blogg/hur-man-installerar-windows-7-fran-usb-minne</link><description>&lt;p&gt;Efter s&amp;ouml;kt efter en bra guide hur man installerar Windows 7 fr&amp;aring;n USB minne s&amp;aring; best&amp;auml;mde jag mig n&amp;auml;r jag lyckades att det var dags att skriva en svensk guide.&lt;/p&gt;
&lt;p&gt;F&amp;ouml;ruts&amp;auml;ttningen &amp;auml;r att du har en ISO du kan mounta i en virtualiserad dvd-rom eller har en DVD skiva med Windows 7.&lt;/p&gt;
&lt;p&gt;Du beh&amp;ouml;ver &amp;auml;ven USB minnet du vill boota ifr&amp;aring;n, minst 4GB stort, observera att inneh&amp;aring;llet kommer f&amp;ouml;rsvinna n&amp;auml;r du g&amp;aring;r igenom denna guide.&lt;/p&gt;
&lt;p&gt;B&amp;ouml;rja med att &amp;ouml;ppna en kommandoprompt (Command Prompt) med admin r&amp;auml;ttigheter (g&amp;aring; in i startmenyn, tillbeh&amp;ouml;r och sedan h&amp;ouml;gerklicka p&amp;aring; kommandoprompt genv&amp;auml;gen och ta "K&amp;ouml;r som Administrat&amp;ouml;r").&lt;/p&gt;
&lt;p&gt;N&amp;auml;r du &amp;ouml;ppnat en kommandoprompt f&amp;ouml;ljer du steg f&amp;ouml;r steg kommandona nedan:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DISKPART&lt;/li&gt;
&lt;li&gt;LIST DISK (hitta ditt usb minne i listan&lt;/li&gt;
&lt;li&gt;SELECT DISK 1 (ers&amp;auml;tt DISK 1 med ditt usb minnes nummer)&lt;/li&gt;
&lt;li&gt;CLEAN&lt;/li&gt;
&lt;li&gt;CREATE PARTITION PRIMARY&lt;/li&gt;
&lt;li&gt;SELECT PARTITION 1&lt;/li&gt;
&lt;li&gt;ACTIVE&lt;/li&gt;
&lt;li&gt;FORMAT FS=NTFS QUICK&lt;/li&gt;
&lt;li&gt;ASSIGN&lt;/li&gt;
&lt;li&gt;EXIT&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;St&amp;auml;ng inte kommandopromten.&lt;/p&gt;
&lt;p&gt;Mounta din iso eller s&amp;auml;tt i din DVD skiva s&amp;aring; du f&amp;aring;r up den p&amp;aring; "Den h&amp;auml;r datorn" och kom ih&amp;aring;g enhetsbeteckningen p&amp;aring; den och ditt USB minne&lt;/p&gt;
&lt;p&gt;Skriv i kommandoprompten:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;G:&amp;nbsp;&lt;/li&gt;
&lt;li&gt;(D&amp;auml;r G: &amp;auml;r enhetsbeteckningen p&amp;aring; din DVD-ROM)&lt;/li&gt;
&lt;li&gt;CD BOOT&lt;/li&gt;
&lt;li&gt;BOOTSECT.EXE/NT60 H:&lt;/li&gt;
&lt;li&gt;(D&amp;auml;r H: &amp;auml;r ditt USB minnes enhetsbeteckning)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Nu har du ett bootbar USB-minne, nu beh&amp;ouml;ver du bara kopiera inneh&amp;aring;llet p&amp;aring; windows 7 DVD:n till ditt USB minne, enklast g&amp;ouml;r du detta genom att i kommandopromten skriver:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;xcopy /h /E /s G:\ H:\&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Nu &amp;auml;r ditt USB minne redo att installera Windows 7 ifr&amp;aring;n, kom ih&amp;aring;g att s&amp;auml;tta BIOSen p&amp;aring; att boota fr&amp;aring;n USB innan du f&amp;ouml;rs&amp;ouml;ker starta datorn f&amp;ouml;r att installera fr&amp;aring;n USB.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</description><pubDate>Wed, 25 Jan 2012 18:58:13 GMT</pubDate><guid isPermaLink="true">http://www.rickardp.se:80/blogg/hur-man-installerar-windows-7-fran-usb-minne</guid></item><item><title>Gott Nytt År!</title><link>http://www.rickardp.se:80/blogg/gott-nytt-ar</link><description>&lt;p&gt;Gott Nytt &amp;Aring;r!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Dags f&amp;ouml;r ett nytt &amp;aring;r och nya utmaningar, hoppas det blir ett minst lika bra &amp;aring;r som 2011.&lt;/p&gt;</description><pubDate>Sun, 01 Jan 2012 00:00:58 GMT</pubDate><guid isPermaLink="true">http://www.rickardp.se:80/blogg/gott-nytt-ar</guid></item><item><title>God jul!</title><link>http://www.rickardp.se:80/blogg/god-jul</link><description>&lt;p&gt;God jul allihop!&amp;nbsp;&lt;/p&gt;</description><pubDate>Sat, 24 Dec 2011 00:00:15 GMT</pubDate><guid isPermaLink="true">http://www.rickardp.se:80/blogg/god-jul</guid></item><item><title>jQGrid with mutliselect and default selection of rows</title><link>http://www.rickardp.se:80/blogg/jqgrid-with-mutliselect-and-default-selection-of-rows</link><description>&lt;p&gt;I am working with &lt;a href="http://www.trirand.com/blog/" target="_blank"&gt;jQGrid&lt;/a&gt;&amp;nbsp;on a project at work and we using multiselect functionality in jQGrid but with multiselect you maybe whant to default select some rows.&lt;/p&gt;
&lt;p&gt;There was no one that shows how to do it good, so i created a function that can be used for others:&lt;/p&gt;
&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;function jQGridSelectDefault(GridID, column, defaultChecked) {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;var grid = $(GridID);&lt;/pre&gt;
&lt;pre&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;var data = grid.getDataIDs();&lt;/pre&gt;
&lt;pre&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for(var i = 0; i &amp;lt; data.length; i++){&lt;/pre&gt;
&lt;pre&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;var x = parseInt(grid.getRowData(data[i])[column]);&lt;/pre&gt;
&lt;pre&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;if (jQuery.inArray(x, defaultChecked) &amp;gt; -1) {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;grid.setSelection(data[i], false);&lt;/pre&gt;
&lt;pre&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/pre&gt;
&lt;pre&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/pre&gt;
&lt;pre&gt;}&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;You calling this function like this:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;pre&gt;jQGridSelectDefault('#multiTicketTemplate', 'ID' [ 92, 12, 58, 64 ]);&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;What is doing is its looping all rows in the grid, checking the column that we specify in the call to it and if the values is in the array of ints we put in the call.&lt;/p&gt;
&lt;p&gt;This only works on integer values but can be changed to be checked on strings also.&lt;/p&gt;</description><pubDate>Fri, 23 Dec 2011 09:30:02 GMT</pubDate><guid isPermaLink="true">http://www.rickardp.se:80/blogg/jqgrid-with-mutliselect-and-default-selection-of-rows</guid></item><item><title>Företag och byte till smartphones underbara värld</title><link>http://www.rickardp.se:80/blogg/foretag-och-byte-till-smartphones-underbara-varld</link><description>&lt;p&gt;N&amp;auml;r nu f&amp;ouml;retag efter f&amp;ouml;retag v&amp;auml;ljer att g&amp;aring; &amp;ouml;ver till smartphones och sk&amp;ouml;ta mycket av arbetet genom dem som man tidigare kanske var tvungen g&amp;ouml;ra i en dator eller &amp;auml;ven genom gammalt hedligt papper s&amp;aring; g&amp;auml;ller det ju att man v&amp;auml;ljer r&amp;auml;tt telefoner till sina anst&amp;auml;llda.&lt;/p&gt;
&lt;p&gt;F&amp;ouml;r&amp;auml;kringskassan &amp;auml;r ett exempel p&amp;aring; s&amp;aring;nt stort f&amp;ouml;retag som valt att g&amp;aring; &amp;ouml;ver till smartphone och ins&amp;aring;g att m&amp;aring;nga inte vill ha en iPhone utan en Android lur s&amp;aring; d&amp;aring; valde man att ge dem som ville (om jag f&amp;ouml;rst&amp;aring;t det r&amp;auml;tt, kanske var en vald klasskillnad jag &amp;auml;r inte s&amp;auml;ker) en android lur, n&amp;auml;mligen HTC Wildfire som &amp;auml;r en av Android riktigt budget lurar sen ger man dem andra som ville ha iPhone varsin iPhone som &amp;auml;r i topskiktet av smartphones och kostar f&amp;ouml;r en vanlig konsument kanske 3 g&amp;aring;nger s&amp;aring; mycket mer &amp;auml;n en HTC Wildfire.&lt;/p&gt;
&lt;p&gt;Sen f&amp;aring;r man massa problem med sina Andorid anv&amp;auml;ndare och nu har IDG tagit up detta som en artikel om&amp;nbsp;&lt;a href="http://www.idg.se/2.1085/1.418320/mobilstrul-pa-forsakringskassan" target="_blank"&gt;Mobilstrul p&amp;aring; F&amp;ouml;rs&amp;auml;kringskassan&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Artikeln &amp;auml;r dock totalt felriktad, den total s&amp;aring;gar Android ist&amp;auml;llet f&amp;ouml;r att f&amp;ouml;rklara vad F&amp;ouml;rs&amp;auml;krinskassans problem &amp;auml;r: Dem valde budget skit telefon till dem som inte ville ha iPhone&lt;/p&gt;
&lt;p&gt;Jag skulle vilja p&amp;aring;st&amp;aring; att den som skrev artikeln inte hade en aning om vad HTC Wildfire &amp;auml;r f&amp;ouml;r lur &amp;ouml;verhuvudtaget och s&amp;auml;kert sitter p&amp;aring; en iPhone av senaste modell i fickan.&lt;/p&gt;
&lt;p&gt;Men jag hoppas dem som l&amp;auml;ser IDG &amp;auml;ven l&amp;auml;ser kommentarerna till artikeln, dem s&amp;auml;ger precis det jag f&amp;ouml;rs&amp;ouml;kt f&amp;ouml;rklara h&amp;auml;r ovan, HTC Wildfire &amp;auml;r en SKIT TELEFON och iPhone &amp;auml;r en kvalitets telefon om man ska j&amp;auml;mf&amp;ouml;ra dem vilket inte borde g&amp;ouml;ras d&amp;aring; dem ligger ett antal tusenlappar i skillnad i pris s&amp;aring; finns ingen som vill j&amp;auml;mf&amp;ouml;ra dem.&lt;/p&gt;
&lt;p&gt;L&amp;auml;ser man dessutom kommentarerna s&amp;aring; bekr&amp;auml;ftar det jag har h&amp;ouml;rt och &amp;auml;ven har erfarenhet av sj&amp;auml;lv att iPhone oftast har mer strul med vissa problem &amp;auml;n vad andra lurar har, men nu s&amp;auml;ger inte jag att Android lurar &amp;auml;r dem b&amp;auml;sta lurarna, framf&amp;ouml;r allt inte anv&amp;auml;ndarv&amp;auml;nligm&amp;auml;ssigt som f&amp;ouml;r&amp;auml;kringskassan n&amp;auml;mner i artikeln men jag tror inte att hade dem k&amp;ouml;pt in android lur i samma prisklass som iphonen s&amp;aring; hade det nog s&amp;auml;tt annorlunda ut hos deras it avdelning.&lt;/p&gt;</description><pubDate>Sun, 27 Nov 2011 20:12:44 GMT</pubDate><guid isPermaLink="true">http://www.rickardp.se:80/blogg/foretag-och-byte-till-smartphones-underbara-varld</guid></item><item><title>ASP.NET Webservice klarar inte alla typer av HTTP POST by default</title><link>http://www.rickardp.se:80/blogg/asp.net-webservice-klarar-inte-alla-typer-av-http-post-by-default</link><description>&lt;p&gt;Jag har h&amp;aring;llit p&amp;aring; och jobbat med ASP.NET Webservice i ett par &amp;aring;r p&amp;aring; olika s&amp;auml;tt, dock oftast fr&amp;aring;n ajax anrop med jQuery eller ASP.NET inbygda funktioner f&amp;ouml;r det.&lt;/p&gt;
&lt;p&gt;N&amp;auml;r jag nu sitter och f&amp;ouml;rs&amp;ouml;ker f&amp;aring; min Android app att kommunicera med en ny ASP.NET Webservice s&amp;aring; har jag r&amp;aring;kat ut f&amp;ouml;r ett par skumma grejer, jag trodde f&amp;ouml;rst det var n&amp;aring;got fel med hur android koden anropade min webservice men visade sig efter en del forskning att s&amp;aring; inte var fallet, en ASP.NET Webservice klarar ju som alla vet som jobbat med den dem flesta vanliga s&amp;auml;tt att kommunicera med en webservice.&lt;/p&gt;
&lt;p&gt;Jag b&amp;ouml;rjar n&amp;auml;stan alltid testningar med javascript och d&amp;aring; jquery ajax &amp;auml;r ju v&amp;auml;ldigt simpelt f&amp;ouml;r en webservice vilket jag gjorde &amp;auml;ven denna g&amp;aring;ng och s&amp;aring;g ju att allt s&amp;aring;g ju ut att fungera som det ska med HTTP POST mm.&lt;/p&gt;
&lt;p&gt;Men &amp;nbsp;jag r&amp;aring;kade ut f&amp;ouml;r att f&amp;aring; detta felmeddelande som svar n&amp;auml;r jag f&amp;ouml;rs&amp;ouml;kte anropa min webservice fr&amp;aring;n Android:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Request format is unrecognized for URL unexpectedly ending in '/MinFunktion'&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Detta &amp;auml;r ju ASP.NET Webservice typ standard meddelande n&amp;auml;r man inte kallar p&amp;aring; r&amp;auml;tt funktion, ist&amp;auml;llet f&amp;ouml;r 404, d&amp;aring; du &amp;auml;nd&amp;aring; kommer &amp;aring;t webservicen men inte r&amp;auml;tt funktion i den.&lt;/p&gt;
&lt;p&gt;Efter f&amp;ouml;rs&amp;ouml;kt lite olika s&amp;auml;tt att kalla p&amp;aring; webservicen fr&amp;aring;n android hittade jag KSOAP2 som allts&amp;aring; k&amp;ouml;r SOAP protokollet vilket fungerade fast jag fick det d&amp;aring; inte som jag ville till objekt och fick tips om Xstream som d&amp;aring; beh&amp;ouml;vde XML str&amp;auml;ng f&amp;ouml;r att f&amp;aring; att lira med s&amp;aring; jag fortsatte testa och till slut t&amp;auml;nkte att vafan, det m&amp;aring;ste finnas en l&amp;ouml;sning kan ju inte vara android komponenterna som g&amp;ouml;r fel.&lt;/p&gt;
&lt;p&gt;Efter lite s&amp;ouml;kande p&amp;aring; det felmeddelandet &amp;auml;ven kunde komma up om HTTP POST var avst&amp;auml;ngt vilket det &amp;auml;r som standard enligt Microsoft, s&amp;aring; tog och la till detta i web.config:&lt;/p&gt;
&lt;p&gt;&amp;lt;configuration&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;lt;system.web&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;lt;webServices&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;protocols&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;add name="HttpPost"/&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/protocols&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/webServices&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/system.web&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;/configuration&amp;gt;&lt;/p&gt;
&lt;p&gt;S&amp;aring; nu fungerar allt som det ska &amp;auml;ven fr&amp;aring;n Android appen.&lt;br /&gt;&lt;br /&gt;K&amp;auml;lla:&amp;nbsp;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;819267"&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;819267&lt;/a&gt;&amp;nbsp;&lt;/p&gt;</description><pubDate>Fri, 14 Oct 2011 14:59:54 GMT</pubDate><guid isPermaLink="true">http://www.rickardp.se:80/blogg/asp.net-webservice-klarar-inte-alla-typer-av-http-post-by-default</guid></item><item><title>Trafikverket exponerar API</title><link>http://www.rickardp.se:80/blogg/trafikverket-exponerar-api</link><description>&lt;p&gt;Detta &amp;auml;r ett litet blogg inl&amp;auml;gg p&amp;aring; vad jag hittat efter b&amp;ouml;rjat leka lite med vad Erik Pettersson skrivit om p&amp;aring; sitt blogg inl&amp;auml;gg om &lt;a href="http://tagtider.net/blogg/tjanster/trafikverket-exponerar-api/" target="_blank"&gt;"Trafikverket exponerar API"&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Som .Net utvecklare att jobba mot en webservice s&amp;aring; brukar jag f&amp;ouml;rs&amp;ouml;ka koppla up webservicen i mitt projekt i Visual Studio som en webreference, det g&amp;aring;r dock inte med Trafikvekrets webservice d&amp;aring; man f&amp;aring;r 404 Not found om man inte g&amp;ouml;r en http post mm.&lt;/p&gt;
&lt;p&gt;&lt;span class="Apple-style-span"&gt;S&amp;aring; b&amp;ouml;rjade anv&amp;auml;nda&amp;nbsp;&lt;/span&gt;HttpWebRequest&lt;span class="Apple-style-span"&gt;i .Net (C#) och fick bara en massa Server Error 500 oavsett vad jag f&amp;ouml;rs&amp;ouml;kte, konstigt tyckte jag och t&amp;auml;nkte jag ska testa googla p&amp;aring; webservice namnet "orionproxy.ashx" och se om n&amp;aring;gon mer skrivit n&amp;aring;got om detta och dr&amp;ouml;m om min f&amp;ouml;rv&amp;aring;ning n&amp;auml;r jag ser att Google indexerat en annan webservice p&amp;aring; en annan url inom Trafikverket, n&amp;auml;mligen:&amp;nbsp;&lt;a href="http://www.trafikverket.se/trafikverket/orion/orionproxy.ashx" target="_blank"&gt;http://www.trafikverket.se/trafikverket/orion/orionproxy.ashx&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Och denna kan jag g&amp;ouml;ra samma request emot som den url som Erik Pettersson skriver om och fungerar med .Net HttpWebRequest.&lt;/p&gt;
&lt;p&gt;S&amp;aring; nu kan jag i .Net h&amp;auml;mta ut data fr&amp;aring;n Trafikverkets webservice, kalla vad man vill men detta &amp;auml;r ju s&amp;aring; n&amp;auml;ra ett API som vi utvecklare hittils kommit n&amp;auml;r det g&amp;auml;ller data f&amp;ouml;r SJ och Trafikverkets live data.&lt;/p&gt;
&lt;p&gt;H&amp;auml;r kommer en liten test kod som jag haft n&amp;auml;r jag testat webservicen i .Net (C#):&amp;nbsp;&lt;a href="https://gist.github.com/1247081"&gt;https://gist.github.com/1247081&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Som ni s&amp;auml;kert f&amp;ouml;rst&amp;aring;r &amp;ouml;ppnar detta up f&amp;ouml;r att slippa l&amp;auml;sa html kod fr&amp;aring;n Trafikverkets hemsida och d&amp;aring; kunna g&amp;ouml;ra servern till Train Status Sweden mycket b&amp;auml;ttre och inte lika stor risk f&amp;ouml;r fel som blivit under tiden d&amp;aring; html koden varierat stup i ett.&lt;/p&gt;
&lt;p&gt;F&amp;aring;r se hur mycket tid jag har fram&amp;ouml;ver men helt klart kommer jag bygga en ny backend server till Train Status Sweden.&lt;/p&gt;</description><pubDate>Wed, 28 Sep 2011 05:53:04 GMT</pubDate><guid isPermaLink="true">http://www.rickardp.se:80/blogg/trafikverket-exponerar-api</guid></item><item><title>Att börja programmera på ett projekt som legat på is i 5 månader...</title><link>http://www.rickardp.se:80/blogg/att-borja-programmera-pa-ett-projekt-som-legat-pa-is-i-5-manader</link><description>&lt;p&gt;Att b&amp;ouml;rja programmera p&amp;aring; ett projekt som legat p&amp;aring; is i 5 m&amp;aring;nader tar sig en liten tid, b&amp;ouml;rjar med att s&amp;auml;tta up verktygen som beh&amp;ouml;vs om man inte har det, sen vill man s&amp;auml;tta sig in i koden igen.&lt;/p&gt;
&lt;p&gt;Sedan &amp;auml;r det dags att kolla p&amp;aring; librarys om man ska updatera n&amp;aring;got, i mitt fall vart det Google Analytics som jag nu implementerat senaste versionen av ist&amp;auml;lelt f&amp;ouml;r en gammal som f&amp;ouml;r mig inte fungerade n&amp;aring;got vidare.&lt;/p&gt;
&lt;p&gt;Sen dags att b&amp;ouml;rja planera utvecklingen och sen s&amp;auml;tta fart.&lt;/p&gt;
&lt;p&gt;Inom kort kommer en bug fix version av Train Status Sweden lanseras med saker som rapporterats in under dne period jag inte utvecklat n&amp;aring;got.&lt;/p&gt;
&lt;p&gt;Jag &amp;auml;r dock mitt uppe i ett byte av l&amp;auml;genhet som sker n&amp;auml;sta helg s&amp;aring; f&amp;aring;r se om jag hinner g&amp;ouml;ra klart allt jag vill och sl&amp;auml;ppa ny version i veckan eller n&amp;auml;sta vecka.&lt;/p&gt;</description><pubDate>Sun, 18 Sep 2011 13:16:20 GMT</pubDate><guid isPermaLink="true">http://www.rickardp.se:80/blogg/att-borja-programmera-pa-ett-projekt-som-legat-pa-is-i-5-manader</guid></item><item><title>Efter 5 månader är Android utvecklingen igång igen</title><link>http://www.rickardp.se:80/blogg/efter-5-manader-ar-android-utvecklingen-igang-igen</link><description>&lt;p&gt;Efter 5 m&amp;aring;nader &amp;auml;r Android utvecklingen ig&amp;aring;ng igen, Eclipse installerat, Train Status Sweden rular som den ska i emulatorn s&amp;aring; nu g&amp;auml;ller det att planera fortsatta utvecklingen s&amp;aring; en betalapp kan komma ut s&amp;aring; snart som m&amp;ouml;jligt, h&amp;ouml;sten n&amp;auml;rmar sig ocks&amp;aring; med alla t&amp;aring;gproblem som h&amp;ouml;r till.&lt;/p&gt;
&lt;p&gt;Vad s&amp;auml;gs om att f&amp;aring; notifieringar om ditt t&amp;aring;g &amp;auml;r f&amp;ouml;rsenat?&lt;/p&gt;
&lt;p&gt;TODO listan &amp;auml;r l&amp;aring;ng men f&amp;ouml;rst ut blir en bug fixar version, sen kan blir det notifierings system som kommer kosta n&amp;aring;gonting, hur mycket f&amp;aring;r vi se fram&amp;ouml;ver beror lite p&amp;aring; om det blir betalning per funktion eller f&amp;ouml;r en betalapp.&lt;/p&gt;
&lt;p&gt;N&amp;auml;r notifierings systemet &amp;auml;r f&amp;auml;rdig kan det t&amp;auml;nkas bli en webbaserad TSS som ska fungera &amp;auml;ven p&amp;aring; iOS samt p&amp;aring; en vanlig dators webbl&amp;auml;sare.&lt;/p&gt;
&lt;p&gt;Tidsm&amp;auml;ssigt n&amp;auml;r i tiden allt ligger &amp;auml;r sv&amp;aring;rt att s&amp;auml;ga, jag utvecklar appen p&amp;aring; min fritid som &amp;auml;ven best&amp;aring;r av mycket annat &amp;auml;n utveckling av TSS.&lt;/p&gt;
&lt;p&gt;Har ni id&amp;egrave;er p&amp;aring; f&amp;ouml;rb&amp;auml;ttringar s&amp;aring; tveka inte att h&amp;ouml;ra av er!&lt;/p&gt;</description><pubDate>Tue, 13 Sep 2011 19:42:50 GMT</pubDate><guid isPermaLink="true">http://www.rickardp.se:80/blogg/efter-5-manader-ar-android-utvecklingen-igang-igen</guid></item><item><title>En första titt på PetaPoco</title><link>http://www.rickardp.se:80/blogg/en-forsta-titt-petapoco</link><description>&lt;p&gt;Jag har idag b&amp;ouml;rjat kolla p&amp;aring; en ORM till C# som heter PetaPoco och &amp;auml;r v&amp;auml;ldigt simpel att anv&amp;auml;nda, har inte kollat p&amp;aring; s&amp;aring; m&amp;aring;nga ORM librarys s&amp;aring; kan inte svara p&amp;aring; om det finns b&amp;auml;ttre men denna fungerar bra till det jag vill ha det till.&lt;/p&gt;
&lt;p&gt;Vad PentaPoco g&amp;ouml;r &amp;auml;r att sk&amp;ouml;ta kopplingen till din databas, ist&amp;auml;llet f&amp;ouml;r att jobba med tex MySQL .Net Connector direkt s&amp;aring; sitter PentaPoco mellan dig och MySQL .Net Connector, du f&amp;aring;r l&amp;auml;tt fr&amp;aring;n att skriva en SQL fr&amp;aring;ga ut ett object av resultatet, ist&amp;auml;llet f&amp;ouml;r endast DataReader, DataTable och ett object s&amp;aring; kan du med PentaPoco f&amp;aring; ut listor eller enskilda objekt av dig specificerade objekt som motsvarar en rad i databas tabellen.&lt;/p&gt;
&lt;p&gt;Du installerar PetaPoco i ditt projekt genom NuGet i Visual Studio 2010 (vet ej om det fungerar i Visual Studio 2008), den skapar en mapp med namnet Models och l&amp;auml;gger in en fil som heter Petapoco.cs samt lite annat men &amp;auml;n s&amp;aring; l&amp;auml;nge inte kollat p&amp;aring; det &amp;ouml;vriga men kommer nog.&lt;/p&gt;
&lt;p&gt;Man skapar alltid ett databas objekt:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var db = new PetaPoco.Database("DatabaseConnectionStringName");&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;DatabaseConnectionStringName = namnet p&amp;aring; databas connection str&amp;auml;ngen i din app.config/web.config&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I din kod f&amp;ouml;r att ta ut en lista av objektet FeedData fr&amp;aring;n databas tabellen som heter feed_data s&amp;aring; skriver jag s&amp;aring; h&amp;auml;r i C#:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; foreach (var a in db.Query&amp;lt;FeedData&amp;gt;("SELECT * FROM feed_data"))&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine("{0} - {1}", a.pubdate.ToString("yyyy-MM-dd"), a.title);&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;FeedData = en class som har properties motsvarande databasen med samma namn som kolumnernai databasen, se h&amp;auml;r:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;class FeedData&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public int feed_data_id { get; set; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public string title { get; set; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public string description { get; set; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public DateTime pubdate { get; set; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public string link { get; set; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Jag har &amp;auml;ven testat editera ett v&amp;auml;rde i databasen, detta g&amp;ouml;r man g&amp;ouml;ra p&amp;aring; lite olika s&amp;auml;tt men jag gjorde s&amp;aring; att jag laddar in ett objekt av raden i databasen och editerar v&amp;auml;rdet och sedan k&amp;ouml;r en update p&amp;aring; objektet, s&amp;aring; h&amp;auml;r:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var b = db.SingleOrDefault&amp;lt;FeedData&amp;gt;("SELECT * FROM feed_data WHERE feed_data_id = @0", 1);&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; b.title = "TEST UPDATE";&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; db.Update("feed_data", "feed_data_id", b);&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;H&amp;auml;r visas &amp;auml;ven ett exempel hur man skickar in en parameter i sql queryn, har inte l&amp;auml;st om detta PentaPoco fixar SQL injections men det ska kollas p&amp;aring; senare.&lt;/p&gt;
&lt;p&gt;Jag laddar allts&amp;aring; in objektet/raden, &amp;auml;ndrar titilen och k&amp;ouml;r en databas update, d&amp;auml;r man s&amp;auml;tter primary key och tabell namnet och skickar in objektet.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Det var lite om min f&amp;ouml;rsta titt p&amp;aring; PentaPoco, mer kommer antagligen komma d&amp;aring; jag b&amp;ouml;rjar gilla detta library.&lt;/p&gt;
&lt;p&gt;L&amp;auml;s mer om PentaPoco p&amp;aring; deras hemsida:&amp;nbsp;&lt;a href="http://www.toptensoftware.com/petapoco/"&gt;http://www.toptensoftware.com/petapoco/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</description><pubDate>Tue, 23 Aug 2011 19:40:39 GMT</pubDate><guid isPermaLink="true">http://www.rickardp.se:80/blogg/en-forsta-titt-petapoco</guid></item></channel></rss>
