Wednesday, 25 May 2016

SharePoint 2013 wymaga .NET 4.5, który jest już zainstalowany

Próbuję zainstalować SharePoint 2013 na Windows Server 2012 R2:



Tymczasem 4.5 już jest zainstalowane. Niestety, zainstalowane jest też Visual Studio 2015, które dostarcza .NET 4.6, a instalator SP znajdując 4.6 uznaje, że nie ma 4.5.

1.      Odinstaluj Visual Studio 2015.
2.      Znajdź zainstalowaną aktualizację KB3045563 i odinstaluj ją.

Saturday, 26 September 2015

UK - PAYG (Pay as you go) comparison

(TL;DR - scroll down for summary).

Most operators offer packages or "bundles", valid usually 1 month after activation. Typically for 10£ you can get 500MB - 1 GB data and 150 - 500 minutes.

Below is comparison fo how much data and minutes 10£ will get you at different operators (texts are often unlimited).

Operator
Data
Minutes
Extras
Vectone
3 GB
500
Int'l calls included
Tesco
5 GB
-

Lebara
1 GB
500

LycaMobile
1 GB
500

Giffgaff
1 GB
500

Vodafone
500 MB
150

ASDA
500 MB
500

EE
500 MB
150

O2
500 MB
100

Three
500 MB
100
Check "unlimited" offer
Surprisingly, the "big networks" (EE, Vodafone, O2) offer much less per your basic 10 quid than MVNOs. I can only assume, that customers get some additional services in exchange.

If your data consumption is larger, here is comparison of how much 2 or 3 GB plus some minutes will cost you.
Operator
2GB
3GB
Vectone

10 GBP
Giffgaff

12 GBP
Lebara
12 GBP
15 GBP
Lyca
12 GBP
15 GBP
(6 GB)
Lyca (data only)
10 GBP
12 GBP
EE
15 GBP
25 GBP
(4 GB)
ASDA
20 GBP

Vodafone
20 GBP

Three

15 GBP
(unlimited)

Few operators even offer "unlimited" internet. They don't allow tethering to other devices, so sadly that won't be replacement for home WiFi.
I would advise to read the fine print for so called "fair use" clauses, that would restrict your data after some amount, which mean that offer is not truely unlimited.
Operator
Price
Included minutes
Three
15 GBP
300
Giffgaff
18 GBP
(20GBP after 01.04.2015)
2000
Vectone
20 GBP
unlimited

Too-long-didn't-read summary:
From comparison above, looks like most profitable offer is Vectone's "All in one pocket saver" for everyday use, and Tesco for data only.
Unlimited offers sound nice, but won't work with PC and are IMHO too expensive.

Thursday, 24 September 2015

Austria - Most affordable PAYG internet

Most affordable offer for short-term stay in Austria, with large amount of data has Vectone.
For 10€ buy "Alles in einem Sparpaket" (All-in-one bundle) http://www.vectonemobile.at/en/bundles/all-in-one-bundle.aspx.
It gives 3 GB data + 500 minutes to Austria and abroad. Valid for 1 month.

The disadvantage: configuration of Vectone is not automatic. You must create APN profile manually:
APN
mobile.barablu.com
Username
Vectone

Another thing: when I went abroad (it's enough when you drive through Germany near to Salzburg), Vectone switched to something called "Vectone World", and could not automatically switch back to Austrian Vectone.

Tuesday, 22 September 2015

Austria - Contract - unlimited mobile internet

While in Austria, I used internet from3 (Drei) - 3WebCube
With WebCube you get mobile hotspot, that you can use anywhere in Austria (convenient, if you plan to move). 

The offer has changed a bit since I bought it. Drei added limited offers (to 9 and 20 GB/month) and unlimited with various speeds. 

The cheapest really unlimited offer costs 20€/month. Additionaly, service charge of 20€/year and 49€ for device. Contract is 2 years.

Wireless Nomad

I am constantly moving between cities and countries. Working as software dev, sometimes all you need is Internet connection.
Wireless Nomad series is about best short- and long-term offers for mobile Internet (and sometimes calls too), that I could find.
Mobile offers change often, so everything is up to date only on time of writing.

Monday, 10 August 2015

Customize Office365 suite bar links

You want to be able to disable some of those links?
1.       Go to Office 365 Home screen (https://portal.office.com/Home)
 
2.       Go to Admin > SharePoint
 
3.       Go to Settings
(or skip steps 1-3 and just type https://{your company name}-admin.sharepoint.com/_layouts/15/online/TenantSettings.aspx)
 
4.       You can now show or hide some of those links

Monday, 25 May 2015

[Review] Duel Decks: Elspeth vs Kiora

I got myself the Duel Decks: Elspeth vs. Kiora. I have already played few games with them. This is my review of the decks that come with this purchase.

Elspeth is much better deck.
Don't even think, that you're going to pull that Planeswalker card every single game. I ain't gonna calculate the probabilities, but in my 7 games, only once Kiora, the Crashing Wave was played. You must rely on the other cards.

Also, Kiora has only 4 Loyalty counter, so she can be dealt with quickly.

Elspeth has Dictate of Heliod. This card is a game changer. It literally turns the tables. It can turn your weak 1/1 tokens into descent 3/3 creatures, and your 3/2 descent creatures into some nasty 5/4s. Then add some Veterans and Kiora can go home.

Kiora may have some mighty creatures (7/11 Inkwell Leviathan and 6/6 Simic Sky Swallower), but those are expensive to cast. Compare it with many Soldiers in Elspeth's deck, that can be cast for 3-4 white mana and then +1/+1-upped.

True, that Kiora has many spells, that can return opponents' creatures to his hand, but it takes only 2-3 turns to cast them all back.

Duel Decks are supposed to be two ready-to-play decks, that can be played against each other. In theory, Elspeth vs Kiora is fast vs strong deck. But only 2 out of 7 times, since I started playing it, has Kiora managed to win. And only because the hand was very favorable to her. 

Wednesday, 5 November 2014

How to fetch more than 5000 entities from CRM

Let's start with simple example to get all entities from CRM

public EntityCollection GetEntities(string entityName)
{
    var config = ServerConnection.GetServerConfiguration();
    var proxy = ServerConnection.GetOrganizationProxy(config);

    string request = string.Format(@"<fetch mapping ='logical'>
               <entity name = '{0}'></entity></fetch>", entityName);
    FetchExpression expression = new FetchExpression(request);
    var mult = proxy.RetrieveMultiple(expression);

    return mult;           
}
This will work, but will return maximum of 5000 elements in mult.Entities.
Let's add paging now and put that in loop until mult.MoreRecords is false.

string request = string.Format(@"<fetch
                count='5000' page='{1}' mapping ='logical'>
                <entity name = '{0}'></entity></fetch>"
, entityName, page++);
But now Paging cookie is required when trying to retrieve a set of records on any high pages.
Paging cookie is returned in EntityCollection.PagingCookie property. Also, XML tags must be encoded, because this is xml-in-xml.

pagingCookie = string.Format("paging-cookie='{0}'",
    System.Web.
HttpUtility.HtmlEncode(mult.PagingCookie));

Now, complete method looks like this:

public IList<Entity> GetEntitiesNoLimit(string entityName)
{
    var config = ServerConnection.GetServerConfiguration();
    IOrganizationService proxy = ServerConnection.GetOrganizationProxy(config);

    var entities = new List<Entity>();
    int page = 1;
    string pagingCookie = string.Empty;
    while (true)
    {
        string request = string.Format(@"<fetch {2} count='5000' page='{1}'
                         mapping ='logical'><entity name = '{0}'></entity></fetch>",
                         entityName, page++, pagingCookie);
        FetchExpression expression = new FetchExpression(request);
        var mult = proxy.RetrieveMultiple(expression);
        entities.AddRange(mult.Entities);
        if (mult.MoreRecords)
        {
            pagingCookie = string.Format("paging-cookie='{0}'",
                        System.Web.HttpUtility.HtmlEncode(mult.PagingCookie));
        }
        else
        {
            break;
        }
    }

    return entities;
}

Tuesday, 4 November 2014

Tuesday, 28 October 2014

SSIS - find element in table, use its key and insert to another table

I have database with following 3 tables:
·         Customers.CustomerId is integer and PK
·         Addresses.AddressId is integer and PK
·         CustomerAddresses.Customer_CustomerId is integer and FK to Customers
·         CustomerAddresses.Address_AddressId is integer and FK to Addresses
·         Customers.EntityId is GUID
·         Addresses.EntityId is GUID

I use SQL Server Integration Services.
I have also XML file with pairs of addressEntityID and customerEntityId. These are are EntityIDs (GUID), that need to be mapped to IDs (integer) and inserted into CustomerAddresses.

How to map this relationship and import to CustomerAddresses?
1.  In Data Flow drop XML source
2.  Add Derived column, map values from XML (from string to GUID)

3.  Add Lookup, connect to Addresses table, create JOIN from derived AddressGuid to EntityId. AddressId is output.
4.  Add another Lookup and do the same for Customers table
On "Specify how to handle rows with no matching entries" choose "Redirect rows to error output".
5.  Add DB destination, map values from Lookup to AddressId and CustomerId

Complete Data Flow