Det är lätt att kommunicera med Standout om vad man vill ha utfört och de snappar fort upp hur saker och ting bör fungera.

WordPress 3.3.1 – säkerhetsuppgradering

Ni som kör WordPress – ni har väl inte glömt att uppgradera? I dagarna släpptes version 3.3.1 av WordPress där en otäck säkerhetslucka tätades. Uppgraderingen är enkel, bara att klicka på en knapp i administrationen.

Uppgraderingen innehöll lite andra småfixar, bland annat ordnades en felräkning på antalet widgets som visades på dashboarden och maxgränsen för hur mycket man kan ladda upp har ordnats. Men det är framför allt säkerhetsbuggarna som gör att du ska uppgradera nu.

RIPS – hitta säkerhetsluckor i din PHP-applikation

PHP är smidigt att utveckla i på många sätt och vis, men det är ganska vanligt att det finns säkerhetsluckor. Dels beror det på att tröskeln för att komma igång med PHP-programmering är ganska låg så det finns många som inte riktigt vet vad de sysslar med som bygger upp webbapplikationer utan att tänka på säkerhet. Dels beror det på att många PHP-utvecklare inte använder ramverk med inbyggda stöd mot säkerhetsluckor.

För dig som sitter med en PHP-app och undrar om den är säker eller ej kan det vara intressant att känna till RIPS. Det är en liten programvara som hittar säkerhetshål i PHP-applikationer genom att analysera den på olika sätt. Den gör det bland anant genom att läsa av koden och söka efter typiska säkerhetsluckor, såsom XSS-luckor och SQL-injections.

Programmet är intressant nog skrivet som en PHP-applikation, så du kör den i din webbläsare lokalt och väljer vilka filer du vill analysera.

Du hittar det hela på rips-scanner.sourceforge.net

Nyheter i Rails 3.2

Ruby on Rails-communityt fortsätter att vara produktiva och släppa uppdateringar till sitt ramverk. Om du vill jobba med webbutveckling är det ett av ramverken du verkligen bör hålla koll på.

Strax släpps Rails 3.2 och med hjälp av DHH:s utmärkta bloggpost går vi igenom några av nyheterna.

Mycket snabbare utvecklingsläge

Tidigare har det mesta i din applikation laddats om inför varje request, men nu laddas enbart de klasser som du faktiskt ändrat sedan förra requesten om. Ni som har använt Active Reload tidigare vet precis vad jag pratar om. Det är enorm skillnad på snabbheten, speciellt om du börjar får ihop lite mer avancerade applikationer.

Härma MongoDB med Active Record Store

Att utveckla med MongoDB är snabbt och trevligt, men ofta behöver man stabiliteten hos MySQL och kanske inte är så sugen på att konvertera en äldre app till att använda en helt ny databas. Här kommer Active Record Store in som en räddande ängel.

Du kan spara en hash i bästa json-anda direkt mot valfri modell i Active Record genom att bara definiera följande i din modell:

class Website < ActiveRecord::Base
 store :shop_settings, accessors: [ :currency, :vat_percentage]
end

Allt du sätter som accessors får egna metoder på objektet, vilket innebär att du kan komma åt @website.currency i exemplet ovan. Men du kan även arbeta med helt valfria värden genom att använda dig av @website.shop_settings[:valfritt_attribut]

Date Helpers anpassade för Sverige

Två killar vid namn Kim och Lennart har bidragit med ett extra attribut som du kan sätta på Date Helpers. Attributet heter :use_two_digit_numbers = true och kan användas för att få både dag och månad att visas med en inledande 0:a så att det alltid är samma antal siffror i datumet. Enkelt men bra.

Namespace på formulär

Ibland använder man många formulär vars input-fält får exakt samma id:n, vilket inte är helt lyckat. Rails 3.2 introducerar :namespace-attributet som ser till att du enkelt kan se till att id-värdena inte krockar. Tidigare har vi alltid fått sätta det manuellt, vilket inte blir så snyggt i koden.

First_or_create

Det här kommer att bli det föreslagna sättet att leta efter saker i databasen och skapa dem om de inte redan finns. Exempelvis:

Product.where(:name => "Gurka").first_or_create!(:price => 10) 

Rails 3.2 är just nu i Release Candidate så det är inte riktigt färdigt för släpp än, men kommer antagligen ganska snart. Titta gärna i Changelog för Rails 3.2 för att se alla ändringar.

Internet Explorer får automatiska uppdateringar

I början på nästa år kommer Microsoft se till att deras webbläsare, Internet Explorer, automatiskt blir uppdaterad till senaste versionen. Det är fantastiskt bra nyheter.

Vi som jobbar inom webb-branschen har länge haft problem med att folk sitter med gamla webbläsare. Det är fortfarande inte helt ovanligt att kunder sitter med Internet Explorer 6 eller Internet Explorer 7, trots att version 10 släpps snart.

Men från och med nästa år kan vi se en dramatisk ändring på hur webbläsarstatistiken ser ut, vilket är mycket välkommet. Det är nämligen oerhört stor skillnad på IE 7 och IE 10. Tänk vad mycket roliga saker vi kan hitta på i form av CSS-animationer, toningar och snygga skuggor på din sida.

Gamla webbläsare är begränsande och dyra, både för oss och våra kunder. Om vi inte hade behövt ta hänsyn till gamla begränsade modeller av webbläsare när vi programmerar hade utvecklingen gått mycket fortare i många fall.

Så vi ser verkligen fram emot att den här uppdateringen görs. Microsoft säger att det gäller Windows XP, Windows Vista och Windows 7, så de flesta verkar vara inkluderade.

Läs hela nyheten på windowsteamblog.com

Ruby on Rails: använd attr_accessible

Idag gick säkerhetsgruppen för Ruby on Rails ut med en varning till alla som inte använder attr_accessible i sina ActiveRecord-modeller. Det är ingen säkerhetslucka i ramverket, utan mer ett vanligt misstag som utvecklare gör i sina applikationer.

Den grundläggande rekommendationen är att använda attr_accessible för alla modeller som kan ändras av användare som inte är betrodda (vanligtvis alla utom den högsta nivån i din applikation).

Lösningen är givetvis inte heller att använda attr_accessible på alla attribut vilket en hel del gör och tror att det kommer att fungera bra. Exempelvis om vi har en User-modell som har attributet :user_level. Om du sätter attr_accessible :user_level kommer du att få problem. Du behöver naturligtvis kontrollera om användaren har rätt att ändra user_level. Oftast är det smartast att utelämna attributet :user_level från attr_accessible och i controllern ange att det kan sättas om användaren har en viss behörighetsnivå eller liknande.

Läs mer på guides.rubyonrails.org/security.html#mass-assignment


Amazon Cloudfront och Amazon Route 53 till Sverige

Amazon har inte bara gjort sig ett namn inom bokförsäljning på nätet, utan även för sina webbtjänster i form av serverdrift och webblagring. I dagarna meddelade de att två av deras tjänster, Amazon CloudFront och Route 53 kommer att ha en så kallad edge location i Sverige.

Det innebär i praktiken att det kommer att gå snabbare för slutanvändare att nå saker som ligger på Amazons servrar eftersom det blir en kortare bit för informationen att färdas. Route 53 är ett DNS-system som talar om var på webben en domän egentligen ligger. Amazon CloudFront är något som ofta kallas för CDN, Content Delivery Network, vilket är en tjänst där samma data (exempelvis en bild eller en webbplats) ligger på flera olika servrar spridda över världen och besökaren får sin information ifrån den som ligger närmast geografiskt sett för att på så sätt få en högre hastighet.

Positiva nyheter med andra ord, om än något tekniska. Kontentan är att nätet går snabbare. Vi på Standout har arbetat en del med Amazons tjänster, och bland annat vårt publiceringsverktyg, Standout CMS, använder sig av Amazons serverplattform för att lagra bilder och dokument. Denna del kommer nu bli snabbare.


Blogger har haft driftproblem


En av världens största bloggtjänster, Blogger, har haft stora driftstörningar hela helgen. Blogginlägg försvann, kommentarer sparades inte och tjänsten var allmänt opålitlig. Vi tänkte att det kan vara bra att informera våra kunder om detta eftersom vi vet att några av er använder tjänsten.

Det verkar dock som om det mesta fungerar nu igen, och om du fortfarande har problem med att blogginlägg inte syns ska du gå in och kontrollera om det eventuellt ligger bland dina utkast (Drafts).
Blogger håller fortfarande på att återställa kommentarer, vilket verkar vara ett tidsödande arbete. Vi avundas dem inte.


Ett äpple om dagen


Så har det hänt. Varumärket Apple rankas nu högre än Google enligt Millward Brown, ett varumärkesföretag som har gjort undersökning kring varumärkens värden i flera år. Google har toppat den prestigefyllda listan i fyra år i rad, men får nu se sig omsprungna.

Vi på Standout gillar Apples grejer. Vi använder MacBook Pro för det mesta av vår utveckling, och de flesta av oss har valt iPhone som arbetstelefon. Visst finns det saker som kan förbättras och ibland kan Apples plattform kännas begränsande, men i det stora hela är det fler fördelar än nackdelar.

Det som oroar mig lite är vad som händer när ett företag blir för stort. Nu tjänar Apple grymma pengar på många av sina konsumentprodukter. Vad händer då med proffssidan, där man varit starka länge? Steve Jobs vikande hälsa är också ett problem som Apple kommer att få tampas med framöver. Steve Jobs är Apples kvalitetsstämpel. Är han nöjd blir det bra grejer. Är han inte nöjd får inte produkterna släppas.

Hur som helst ska det bli intressant att följa utvecklingen för Apple och deras konkurrenter framöver. Det var inte så värst längesedan Apple var konkurshotat och räddades av Microsoft, så det här är en bransch där saker kan svänga rejält.


DTerm – terminal som vet var du är

Här kommer ett lite nördigt tips. Terminalen är många utvecklares bästa vän, och många av våra topputvecklare spenderar stora delar av sin arbetsdag med ett eller flera terminalfönster uppe mer eller mindre konstant.

Idag sprang vi på DTerm. Det är ett litet gratisprogram för Mac som du kan starta via valfritt snabbkommando. Vill du se om några filer har ändrats och checka in dem i Git? Tryck bara ditt valda snabbkommando när du står i din favorittexteditor (i vårt fall Textmate) och skriv ‘git status’ så får du koll på läget.

I Finder är den också smidig. Kopiera filer via scp snabbare än din kollega hinner säga GUI, eller lista dolda filer i en mapp med ‘ls -la’. Allt som du kan göra via terminalen fixar du i DTerm, nyckeln är att den håller koll på var du är.

Du hittar den på decimus.net/DTerm eller i Mac App Store.


Nya medarbetare

Vi är i en expansiv fas så vi har utökat vår stab med två nya medarbetare. Vi är nu ännu starkare och bättre rustade att tillmötesgå kundernas önskemål.

Andreas Lundahl
Programmerare ut i fingerspetsarna. Behärskar med bravur javascript, html5, css3 och det mesta som har med frontend att göra. Han kommer upprätthålla det Standout står för – högkvalitativa webbplatser.

Martin Brantgärde
Organisatören från Gislaved, VD:ns hemtrakter. Har en otrolig förmåga att hålla ihop och isär trådarna. Han blir vår projektledare och kommer vara den som både kunder och leverantörer får nöjet att umgås med.

Välkomna in i gänget, grabbar!

© Standout AB, 2003-2012.
Följ Standout på Facebook Följ Standout på Twitter