Curl and sharepoint authentication

Our sharepoint uses NTLM for authentication, it took me some time to figure that out. I access a sharepoint site from our Linux Data Warehouse environment using curl. Seems like curl can handle NTLM, but this is what curl says about NTLM.  

The NTLM authentication method was designed by Microsoft and is used by IIS web servers. It is a proprietary protocol, reverse-engineered by clever people and implemented in curl based on their efforts. This kind of behavior should not be endorsed, you should encourage everyone who uses NTLM to switch to a public and documented authentication method instead, such as Digest.

curl --ntlm -u userid  http://sharepointServer/thePathTo/Items


Big O

Recently I came across something that reminded me of my youth, big-O calculations. Big-O is used to calculate the complexity of algorithms or programs, big-O gives you a rough worst case estimation of the performance of an algorithm, and how runtime and space grows relative to the size of the input.
I didn’t know anything at all about big-O, but replied ‘do anyone really do that kind of calculation?’, when I was asked about big-O.  It reminds me of the time when people tried to estimate run times of programs by calculating revolving speed of drum memories and the time of machine instructions etc. When I started work with computers people had just stopped doing that type of calculations, and I was very happy for that.
I was told big-O is a big thing, it gives a worst time measurement of the algorithm the higher big-O figure the likelier it will run slower. But there is so many ifs and buts, these days you cannot do proper run time calculations just by evaluating the source code, you need to understand the program optimizer, high level instructions, libraries, hardware, opsys. If you have a program language good at  e.g. parallel optimize your code with a JIT compiler that may skew your calculations, if I got big-O right.
I have checked with some younger colleagues, one said when I asked, ‘I recall this from school,  but I never used it in real life, real runtime figures are dependent on so many other things, I can image it can be of use for assembler or C programmers, but for modern high level programming languages it is probably of limited use’. The others I asked did not know what big-O was, one said he remembered something about calculating runtime of programs.  
With my limited knowledge, I see big-O as a simple and clever option to programmatically compare different program snippets. This can come handy if you are developing a program language optimizer or a JIT compiler, but otherwise it is of little use. Big-O is an interesting subject and gives food for thought. I would not be surprised if I will use big-O one of these days.

I have spent years of optimizing computer systems, anything from network throughput to assembler algorithms, SQL queries, physical IO of databases etc, etc. I ‘only’ used real measurement, which you can rely on since they are real.    

Links I found useful when I studied big-O:



Summer's (almost) gone

Summer ended 1st September 2015 here in Stockholm. We had a fantastic summerly August which is rare here, most years summer is over in mid August, but not this year.
Autumn view from the office 2nd September, rainy but still warm.

I spent some time this August getting acquainted with MS SQL Server, it was an unexpected pleasant experience. Last time I  looked at SQL Server was 2001 and at that time I disregarded the software as a toy not fit for serious work. That is not true anymore, it looks like a good serious database manager. I have to spend a lot more time with the database to really understand SQL Server, but it was a breeze to create a database with constraints, indexes and all that. The management studio is a nice development environment. Transact-SQL will probably take a long time to master. On the whole SQL server is the same as other mature relational database managers, but different (they all are :-).
While working with SQL server I realised I miss DBA work, real proper DBA work, designing database, fixing performance problems, helping developers with tricky SQL queries. Not only installing the software and running utilities. I have to do something about this :-)


The DW satellite is down

Last Friday MK-check sent alarms about the Data Warehouse satellite in Japan,  
indicating the server was down or not contactable. The most likely cause was problems with the communications after all the server is on the other side of the globe. We decided to wait over the weekend and see if the communication is reestablished. And sure enough late that evening we got a reassuring mail telling all was well.
Since it was weekend and the replication process is self healing we didn’t have to do anything, if anything was wrong in the database it would be corrected the day after by the next replication cycle. That’s the way I like to build processes, no manual monitoring or intervention needed, computers should be able to fix operational problems themselves.

This satellite ‘server’ is a tiny  Dell Optiplex 790 with an Intel I3 processor 4GB RAM and  two 1TB SATA disks, costed less than 800€.
We installed the satellite server as temporary cache 2012 to overcome the slow communication line between the HQ and the Osaka plant. I figured if it lasts a year it would  be good enough, (the network guys were just about to crank up the bandwidth). Now into the 4th year of continuous operation the computer is alive and kicking well, serving the factory guys with local response times for the cost of the electricity to run the computer. I have not seen similar features in any other Business Intelligence system. No matter how fast your high cost super duper central BI system is, you will not beat this tiny satellite at the remote branch office, noway.

Sometimes when I brag about the Data Warehouse, people tell me ‘Don’t be ridiculous you can’t be better than IBM, Oracle, SAP, Microsoft and the others’. It is very hard to prove I’m better than the competition, luckily for me, I do not need to do that, the Data Warehouse is there kicking ass with the competition. Normally I do not make a lot of fuss about myself, but sometimes it’s hard to be humble, I’m better than the big guys. That doesn’t mean I disrespect the others, far from it I have a lot of respect for what they have done, but someone has to be best, it’s simple as that. It’s not always about being smarter and having more resources, sometimes it is about having the simpler concept and execute it well.     


Simples vacances

This years vacation project Restful web and Sqlite. For some reason I never done any serious web development. Last week i decided to learn what restful is all about. I started with RestServer and it actually turned out to be very simple to use. I also had to learn how to use Composer, that to turned out to be very simple to use once you know you have to include the Composer bootstrap vendor/autoload.php, it took me some hours to figure that out. Just for the hell of it I added Sqlite for data storage, I never used it before, very simple to use, a lean mean SQL machine. Now I’m armed with with new tools waiting to be used. Simple tools to use but powerful. I have some ideas how I can use my new skills.  
For once what I thought should be a simple project actually was simple, Normally I’m confused in the beginning, I am not a good reader of documentations I just crack on with things,often that’s not a good strategy but for once it was. 

The Sqlite manual in my lap was simple to read, that’s why I look so happy :)  
Somewhere in France 2015, Montpellier? No it was Gignac.


The Cake is shut down

The Cake (2007 - 2015-07-03)

The Cake a.k.a. Kakan (deliberate mistranslation) a cost and revenue analysis Data Warehouse application  fell quietly asleep today.

The Cake was a brilliant piece of software put together in record time by me and my former colleague Ulf Davidsson, he did most of the work and then a Qlikview app on top. With the Cake marketing could in detail compare the revenue of sales with cost of production. The key factor to the success of the Cake was the understanding of Sales, nevertheless the original users have since long ascended up the career ladder and their replacement didn’t use the Cake. The last year of its life, the cake was not much used, the dead was anticipated and natural.
The Cake is replaced by SalMon a Sales analysis application used throughout the enterprise.
At next after work with the DW, we should have a funeral feast for the Cake.

Vacation again

Finally Summer is here, yesterday we had +25C in Stockholm, today it will be somewhat hotter and that is hot here, temperatures over 30C is still very rare despite global warming. So far this spring and summer has been unusually cold. Today is the first day of my vacation and next week I’m going down to France, this time without a computer! It is probably the first time since 1991 I do not carry a computer on my vacation, I think it was that year I bought an IBM P70 a  suitcase like portable with a huge 120MB hard disk, it costed my employer at the time a fortune. This year I only carry my Samsung Galaxy S4.