ESO Safe released!

ESO Safe keeps your Elder Scrolls Online-files safe!

The new tool for automatic backup of Elder Scrolls Online settings and addon-data is released.

ESOSafe_TrayAutomatically backups your SavedVariables and game settings, running silently in the background and watches data folders for changes. Files are instantaneously backup:ed up as soon as ESO Safe getting being notified  about any changes. The application keeps multiple versions (configurable) of each file to allow basic version history.

ESO Safe keeps your precious SavedVariables safe in case of a game patch (or a add-on bug) should cause data corruption. Either you restore a backup copy and you are all set, or in some case you might need to load the backup copy in a text editor and do some minor changes to comply with API changes.

Read more at the official website.

 

GameInfo eXtended TESO add-on

Bank and Bag slot infoGameInfo eXtended is a tweak on top of the Game Information add-on (by @Sternentau) for The Elder Scrolls Online. Initially the purpose was to simply add bank slot status in addition to the bag/inventory slot status provided by Game Information. However, along the way some additional tweaks was added.

GameInfo eXtended helps you keep track of your totalt amount of items in your bag and bank. This is very convenient when your are depositing items to your bank as you will see the actual slots left (otherwise you have to switch back and forth between Withdraw and Deposit). It is also very handy when grinding at lower levels as you can quickly decide wether or not to pick up any more items depending on the number of free slots in the bag or bank (if the bank and inventory is full you better head back to town).

For further details check out the GameInfo eXtended project page or download from ESOUI.com.

Ripping a DVD (and sync it with iPad)

If you have physical videos (on DVD’s) and want to copy (rip) them to your computer, Handbrake is a good alternative. This will also give you the option to encode the videos in a format that is playable in your Apple TV, iPad or iPhone (or any other tablet/device really).

To be able to rip protected you should follow this guide: http://lifehacker.com/5809765/how-to-rip-a-dvd-to-your-computer

Good luck!

 

Download Handbrake (Mac and Windows)

Serverdrift co-location för Raspberry Pi!

Jag brukar inte göra reklam för produkter på bloggen. Däremot skriver jag gärna om saker jag gillar. Och det här är ett initiativ jag verkligen gillar!

FS Data erbjuder gratis co-location av Raspberry Pi!

Raspberry Pi är en liten, enkel och billig dator som passar utmärkt för experiment och mindre krävande tillämpningar. Tanken på att kunna skapa en “single purpose”-lösning baserad på billig hårdvara och öppen mjukvara känns helt rätt. Därför är det extra kul när FS Data visar sitt engagemang och erbjuder gratis drift av små enkla Raspberry Pi-servrar för alla dom som varken har en fet budget eller tillgång till snabbt och stabilt bredband i hemmet. Möjligheterna är många och jag tror att initiavet kan bidra till nya kreativa tillämpningar.

Keep up the good work FS Data!

Improve Episerver editor interface

During all my years as a web developer I have witnessed a constant struggle between the systems built and the end users trying the master the tools. Today the situation with jQuery, Web 2.0, HTML5 etc etc is a giant leap forward. In most areas. I still find it less than satisfactory to watch most content management editor interfaces.

WordPress has always been pretty clean and straight forward. Episerver has however been struggling with large page types with a vast number of properties divid by a number of more or less useful tabs. The ability to quickly find the right property and immediately understand what the expected content should be is a crucial part when creating an user interface for the editor.

With the release of Episerver 7 this struggle becomes less of a problem. Unfortunately I still stumble upon older version of Episerver experiencing this all so familiar problem, and so I felt the urge to dig up some old solution I created a number of years ago (it might even be during the EPiserver 4 era). My solution back then is simple yet proven useful (however far from perfect, might I add). My idea was to simply group properties together with a very rudimentary custom property – the Divider Property:

LevénLabs_DividerProperty_Shadow

The concept is to group all properties with a similar purpose together using a headline, this to help the editor find it’s way to the right part of the page. Earlier you might have defined something like this (having two lists of news):

  • News container 1
  • News count 1
  • News link 1
  • News container 2
  • News count 2
  • News link 2

Instead you will now have a graphical divider, something like this

  • News list 1
  • News container
  • Maximum number of items
  • Link to archive
  • News list 2
  • News container
  • Maximum number of items
  • Link to archive

The code

To achieve this I had to work around Episerver and create a custom property which did display a custom text instead of the usual label. The property also needed to take up the whole width. First of all I had to actually create a property for each divider so I choosed to go with the Boolean type (which requieres the least amount of storage in the database). Then I had to make a “hack” to override the default rendering of Episerver, and the solution I ended up with is posted below (nothing I am particulary proud over, but it does the trick and that’s the number one priority).

In the first version I was able to achieve this was rather simple. Overring the DisplayName and RowLayout solved this. However, in later version of Episerver this was no longer sufficent and this is the solution i ended up with.

Begin with overriding CreateEditControls method and create a first block to render the horizontal ruler with your custom text:

string description = this.Property.TranslateDescription();

// Use description as title (popup helper)
string titleDescription = string.Empty;
if (description != string.Empty)
  titleDescription = string.Format(" title=\"{0}\"", description);

// Set the HTML for the HR element
string hr = "<hr width=\"100%\" noshade=\"true\" color=\"#000000\" size=\"1\"" + titleDescription + ">";

// Declare the temp data container (StringBuilder, for speed issues)
System.Text.StringBuilder divider;

// Create a new StringBuilder and set base html - DIV with some style info
divider = new System.Text.StringBuilder("<div style=\"margin-top: 10px; margin-bottom: 5px;\">");

// If DisplayName (headline) is not a dash, append headline
if (this.TranslateDisplayName() != "-")
{
  divider.AppendFormat("<strong" + titleDescription + ">{0}</strong>", this.TranslateDisplayName());
}

// Append HR
divider.Append(hr);

Then add a block to hide the default label (and globalization globe icon if present):

// Get the table containing all properties
HtmlTable editTable = (HtmlTable)this.Parent.Parent.Parent;

// Fetch the index for the row (the row with the property control)
int indexOfCurrentRow = editTable.Controls.IndexOf(this.Parent.Parent);

// Remove "previous" row (the one with the label)
editTable.Rows[indexOfCurrentRow - 1].Style["display"] = "none";

// Clear the controls collection for this control (this TableCell)
this.Controls.Clear();

// The we can add our content
this.Controls.Add(new LiteralControl(divider.ToString()));

Finally override RowLayout to make sure the full width is utilized (seems like Episerver is ignoring this in Episerver 6, but lets stick with it as it does not hurt):

get
{
  return TableRowLayout.Wide;
}

Download

LevenLabs.EpiExtensions.PropertyPlugins Sourcecode

Spaning: iOS 6 och mobila webbplatser som ersättare för appar?

Läser nyheten om möjligheten att spara en webbplats i läslistan för att få innehållet tillgängligt i nedkopplad läge och det här får mig att börja fundera. En av vägvalen inom mobil utveckling är om en native app eller en mobilanpassad webb ska utvecklas. Oftast avgörs beslutet baserat på om det finns särskilda krav på tillgång till enhetsspecifika funtkioner (som kamera, GPS etc) eller om prestanda är av yttersta vikt (exempelvis för spel). Ytterligare en viktig fråga är möjligheten att tillgodogöra sig innehållet offline – något som hittils har varit en stor nackdel för mobilanpassad webb som annars är kosntandseffektivt och smidigt sätt att leverera innehåll till mobilen.

Tills nu! Om iOS får inbyggt stöd för att ladda ned en hel webbplats och läsa den i offline-läge kanske det skapar helt nya möjligheter att utveckla “webb-appar”, som i likhet med sina native app-kusiner, har en ikon på startskärmen, går att läsa i offline-läge och ger en naturlig och smidig upplevelse för slutanvändaren.

Kan det här vara en ersättare för många av dagens appar?

Läs mer på Apples hemsida.

Öka din personliga effektivitet

Vetenskapliga undersökningar visar att du förlorar minst 3 min varje gång du avbryter det du gör för att skifta fokus mot något annat. Och då  inkluderar det inte tiden det faktiskt tar att utföra uppgiften. Ännu värre blir det om du sitter fokuserad, i ditt “flow”, då kan det kosta så mycket som 20 min för att återvända till ursprungsuppgiften. Om du ens uppnår den fokusering du hade innan.

Här följer några tips på hur du ökar din personliga effektivitet. Exemplen utgår ifrån den funktionalitet du hittar i Microsoft Outlook men likvärdig funktionalitet hittar du även i andra programvaror och tjänster online. Grunden i effektiviseringen är oberoende av verktyg.

  1. Stäng av alla notifieringar som stjäl uppmärksamhet i onödan, dvs kuvertet i Windows notifieringsfält samt Outlooks Desktop Alert. Stäng även av ljudsignaler och andra funktioner som stjäl ditt fokus.
  2. Bestäm en lagom frekvens för dig att gå igenom din mailkorg. För en del kanske det räcker med en gång på morgonen, en gång efter lunch och en gång innan dagen är slut. Och när du väl tillåter dig att ändra fokus till mailen, se då till att faktiskt hantera alla mail och inte bara “titta” på dem.
  3. När du går igenom mailen, hantera dem:
    • Lös alla mindre uppgifter som kan hanteras direkt
    • Skapa uppgifter av det som du kan göra senare
    • Sätt flaggor för uppföljning på det som du ska återkomma till vid ett senare tillfälle
    • Om aktiviteten i mailet tar mer än 30 min i anspråk, boka in i kalendern när du ska lösa uppgiften
    • Se till att mailet är läst när du är klar
  4. Inkorgen bör aldrig innehålla fler mail än vad som ryms samtidigt på skärmen. Flytt alla lästa och behandlade mail till andra mappar (enligt en för dig logisk uppdelning). Tips kan vara “internt” respektive “kunder” eller dela upp på vilken typ av åtgärd meddelandet kräver.
    • För att initialt tömma inkorgen från (potentiellt tusentals) mail kan du börja med att skapa en mapp för exempelvis “Mail äldre än” och så flyttar du alla mail som är äldre än ex två veckor till den mappen.
    • Inkorgen bör endast innehålla de senaste och ännu ej behandlade mailen.
    • Flytta mail så snart de är omhändertagna.
  5. Utnyttja tidssparande genvägar i Outlook
    • Använd Svara med möte (gör automatiskt en mötesinbjudan av mailet och som går till alla meddelandets mottagare)
    • Använd Quick tasks för att sortera mail och utföra andra vanligt förekommande uppgifter
  6. Skapa Quick tasks för följande;
    • Uppgifter (skapa en uppgift med mailet bifogat)
    • Flytta meddelande till mapp när meddelandet är omhändertaget (för mest använda mappar)
    • Skapa bokning i kalendern (används för uppgifter du ska göra men som är mer tidskrävande)
    • Skapa även genvägar även för andra aktiviteter du utför ofta
  7. Använd kalendern för att boka in aktiviteter du behöver utföra som kräver mer tid att utföra.
    • Om det är kritiskt så bokas tiden som “upptagen” eller “frånvarande”.
    • Om aktiviteten inte är kritiskt men i möjligaste mån bör göras vid det tillfället bokas den som “preliminär”.
    • Slutligen sådana aktiviteter som behöver göras men som egentligen kan göras vid ett annat tillfälle bokas som “ledig”. Då ser du den i din kalender samtidigt som andra fortfarande kan boka dig på andra aktiviteter.
    • Glöm inte att boka in förberedelser för möten, om du behöver summera något efter mötet eller helt enkelt om du behöver restid. Passa på att dokumentera mötets anteckningar direkt efter mötet då du har det färskt i minnet.
  8. Optimera vyerna i Outlook efter dina behov.
    • Ställ in så att veckonummer visas i mini-kalendrarna
    • Dölj paneler och anpassa vyer så att det som är relevant för dig visas och att resten göms undan
  9. Använd vyn Att göra-lista under Uppgifter för att se både uppgifter och flaggade meddelanden
  10. Konversationer grupperar alla meddelanden med samma ämnesrad och gör det lättare att följa flera sammahängande meddelanden, oavsett avsändare. Den här inställningen passar inte alla men om du tror den kan hjälpa dig så aktivera och prova.
  11. Om möjligt, minska antalet gånger/dag som du tillåts bli störd med kortare frågor. Tänk på hur att du förlorar minst 3 min varje gång någon ändrar ditt fokus. Det här gäller även hur ofta du låter dig störa dig själva, för även om det är du som initierar skiftningen i fokus (jag ska bara kolla XX) så tappar du tid på det.
  12. Men, du ska inte vara en robot, så stanna upp och prata med din kollegor då och då!

Guide: Bygga tyst speldator (uppdatering)

Går du i funderingar att bygga en egen dator men inte riktigt vet vad du ska välja för komponenter? I det här inlägget bidrar jag med mina kunskaper och erfarenheter från tidigare byggen samt aktuella komponenter på marknaden.

Viktiga parametrar att fundera över innan du väljer komponenter är vad du ska använda datorn till, hur stor din budget är och om du vill ha den bästa prestandan som går att få eller om du nöjer dig med bra prestanda till överkompligt pris. Även ljudnivån är en parameter att ta hänsyn till.

Det här inlägget kommer att fokusera på att bygga en dator med bra prestanda till överkompligt pris och med en så låg ljudnivå som möjligt.

Läs den uppdaterade guiden Bygga tyst speldator och se specifikationen för mitt nya bygge.