Strona głównaUżytkownik

maklipsa | użytkownik

1 035,08
497 dni, 20 godzin, 52 minuty temu
6 maja, 2016

Reading time ~3 minutes This article is Part 2 in a 2-Part Series. Part 1 - The missing Azure Functions documentationPart 2 - This Article As I wrote in the previous post there are two ways to run precompiled .NET code in Azure Functions - .NET 4.6.x or .NET Core. Why did I decide to go with the old .NET runtime? For the current moment, F# on .NET Core does not support type providers (there is a workaround, but I didn’t want to go with it for the current moment). I went to work thinking that it will...

Troubleshooting compiled Azure Functions in F# – IndexOutOfRange

Cloud 489 dni, 10 minut temu maklipsa 20 rozwiń

Reading time ~3 minutes This article is Part 1 in a 1-Part Series. Part 1 - This Article Trying to understand how to run code in Azure Functions is not an easy task since this product has evolved on its own and thanks to the rise of .NET Core. This post will give You a history background necessary to understand the documentation and, most of all, all the blog posts talking about Azure Functions.v1.0 - script files The initial way to run code in Azure Function was to write a script file in Azure Fun...

Dziel się z innymi:
The missing Azure Functions documentation – IndexOutOfRange

Cloud 502 dni, 23 godziny, 54 minuty temu maklipsa 23 rozwiń

Reading time ~10 minutes This article is Part 2 in a 2-Part Series. Part 1 - What is the simplest database?Part 2 - This Article The previous post laid out the most minimum requirements for something to be called a database. While they may be too bare bones for many, there are a lot of databases that don’t fulfill even half of them, and this isn’t stopping from using them on a daily basis. The last time I’ve looked at files, this time something a bit more complex - key-value databases. The idea be...

Want unlimited scale and performance? This is where to start – IndexOutOfRange

Architektura 782 dni, 24 minuty temu maklipsa 43 rozwiń

Reading time ~3 minutes The world of databases is a fascinating topic. It is very diverse. Many of them are extremely complex systems, but there are also very simple ones. There are the general purpose ones, and ones that do only one thing good, but they do it excelent. Despite all of this we tend to pick them just like we order food in a restaurant:I’ll take the same as last time. It wasn’t ideal for what I wanted, but I could pick worse.Hmm… Everyone is taking this one, so I’ll take it also. Well, m...

Tagi: DATABASE, design
Dziel się z innymi:
What is the simplest database? – IndexOutOfRange

Architektura 790 dni, 23 godziny, 16 minut temu maklipsa 93 rozwiń

Reading time ~5 minutes Configuration as code movement isn’t anything new and is here to stay. I haven’t had time to actually do a from zero to the desired state configuration script until a few weeks ago. Below are my thoughts after three weeks with PowerShell Desired State Configuration. What I wanted to do First, let me describe the goal I’ve set before myself. I wanted to write a script that would go from a clean Windows machine to a fully configured TeamCity server with SQL Server storage and t...

Dziel się z innymi:
Developers perspective on PowerShell Desired State Configuration – IndexOutOfRange

Narzędzia 804 dni, 23 godziny, 46 minut temu maklipsa 21 rozwiń

Reading time ~6 minutes In most cases .NET manages to solve the DLL hell problem pretty well, but sometimes it all falls apart, and when it does in best case scenario we see something like this:Could not load file or assembly 'XXXX, Version=X.Y.Z.W, Culture=neutral, PublicKeyToken=eb42632606e9261f' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) The much worst case is this:The method 'XXXX' was not fou...

Dziel się z innymi:
Could not load file or assembly or one of its dependencies. – IndexOutOfRange

Narzędzia 805 dni, 23 godziny, 56 minut temu maklipsa 71 rozwiń

Reading time ~16 minutes While I’m working on the next angle on how to speed up calculating similarities I started investigating how to get better telemetry from cookit. Getting telemetry is easy - making sense of it is the hard part. This also brought another pain point of current setup - logging and monitoring. Since cookit is my pet, nonprofit project it was time to do something. There is a comparison table at the end, and what I’ve choose.The current state of logging and monitoringRequirementsThe ...

Choosing centralized logging and monitoring system – IndexOutOfRange

Architektura 819 dni, 20 godzin, 53 minuty temu maklipsa 212 rozwiń

Reading time ~5 minutes In my ongoing series on calculating similarities one angle always seemed worth trying, and was pointed out many times on Reddit - use C++ and matrix manipulations. Similarity calculation fits very nicely into matrix representation, and there are algorithms targeting sparse matrix manipulation. So why did I delay it for so long? Because I had other angles I wanted to try and, from the looks of it required significant changes in the existing code base. But since last op...

Understanding OutOfMemoryException – IndexOutOfRange

Sztuka programowania 861 dni, 14 godzin, 11 minut temu maklipsa 147 rozwiń

Reading time ~4 minutes This post is an analysis of a very interesting optimization proposed by Nicholas Frechette in the comments under the previous post. He proposed to use one of the oldest tricks in performance cookbook - divide and conquer. Well, it did not turn out as I expected.Saga Before I go further here are some link to the previous posts on the problem of calculating similarities and then optimizing. This thread grew to a few post. Here are all of them:How I calculate similariti...

Dziel się z innymi:
Dividing a bit in two for performance – IndexOutOfRange

Sztuka programowania 864 dni, 14 godzin, 20 minut temu maklipsa 78 rozwiń

Reading time ~2 minutes This post was inspired by a discussion on Reddit that followed my previous post In this post, I will cover a suggestion by BelowAverageITGuy that cut down the total execution time by almost one hour. Saga Before I go further here are some link to the previous posts on the problem of calculating similarities and then optimizing it grew to few post. Here are all of them:How I calculate similarities in cookit?How to calculate 17 billion similaritiesIndependent code in ...

Dziel się z innymi:
Making bits faster – IndexOutOfRange

Sztuka programowania 875 dni, 22 godziny, 36 minut temu maklipsa 94 rozwiń

Reading time ~1 minute This will be a fast errata to the previous one. This time I will expand the oldest performance mantra: The fastest code is the one that doesn’t execute. Second to that is the one that executes once Last time I’ve forgot to mention one very important optimization. It was one of two steps that allowed me to go from 1530 to 484 seconds in the sample run.Saga Before I go further here are some link to the previous posts on the problem of calculating similarities and then...

Dziel się z innymi:
Independent code in performance optimizations – IndexOutOfRange

Reading time ~6 minutes Last time I’ve shown how I’ve gone from 34 hours to 11. This time we go faster. To go faster I have to do less. The current implementation of Similarity iterates over one vector and checks if that ingredient exists in the second one. Since those vectors are sparse the chance of a miss is big. This means that I am losing computational power on iterating and calling TryGetValue. How to iterate only over the mutually owned ones and do it fast? Saga Before I go furth...

Dziel się z innymi:
Using bit masks for high-performance calculations – IndexOutOfRange

Sztuka programowania 885 dni, 23 godziny, 45 minut temu maklipsa 57 rozwiń

Reading time ~5 minutes The previous post described the methodology I’ve used to calculate similarities between recipes in cookit. If You haven’t read it I’ll give it 4 minutes because it will make understanding this post easier. Go one, I’ll wait. It ended on a happy note and everything seemed to be downhill from there on. It was until I tried to run it. It took long. Very long. How long? I don’t know because I’ve canceled it after about one hour. Going with a famous quote (probably from E...

Dziel się z innymi:
[EN]How to calculate 17 billion similarities – IndexOutOfRange

Sztuka programowania 891 dni, 23 godziny, 40 minut temu maklipsa 141 rozwiń

Reading time ~5 minutes Warning this post contains some math. Even more, it shows how to use it for solving real life problems. This post describes how I calculate similarity between recipes in my pet project For those of you that don’t know, cookit is a search engine for recipes. It crawls websites extracting recipe texts, then it parses it and tries to create a precise ingredient list with amounts and units. 182 184 recipes2936 ingredients This scale may not seem huge, but tr...

Dziel się z innymi:
How I calculate similarities in cookit? – IndexOutOfRange

Sztuka programowania 899 dni, 22 godziny, 32 minuty temu maklipsa 56 rozwiń

Reading time ~6 minutes This post is covering a subset of what I am talking in my talk How I stopped worrying and learned to love parallel processing (currently only in polish). This will cover on how, in terms of performance, AsParallel can kick you in a place where it hurts a lot, simultaneously being a blessing in terms of… performance. How is that? Let’s look at someHistory AsParallel was introduced as an extension to LINQ with TPL in .NET 4.0. In theory, it’s God’s sent. The promise w...

Dziel się z innymi:
[EN] Problems with AsParallel – IndexOutOfRange

Architektura 901 dni, 20 godzin, 39 minut temu maklipsa 114 rozwiń

Reading time ~4 minutes Diagnosing high memory usage can be tricky, here is the second part of how I found what was hogging to much memory in our system. In the previous post I’ve wrote how to create a memory dump and how many possibilities of catching just the right moment for it ProcDump has. When trying to analyze memory leaks, or high memory usage (not necessary meaning a leak) we have a few ways to approach it: Attach a debugger There are many problems with this approach, to name a fe...

[EN]Debugging high memory usage. Part 2 - .NET Memory Profiler – IndexOutOfRange

Narzędzia 954 dni, 15 godzin, 1 minutę temu maklipsa 89 rozwiń

Reading time ~2 minutes I’m taking a short break from Hangfire series, but I will get back to it. This time - Where did my memory go ? Or to be more exact: Why is this using so much memory? The story starts with one IIS application pool using around 6 Gigabytes of memory on one of our test environments. It was several times above the values that we expected it to use, so we decided to investigate. Without much thinking we fired up Visual Studio installed on the test server, and attached to the proce...

[EN] Debugging high memory usage. Part 1 - ProcDump – IndexOutOfRange

Architektura 961 dni, 17 minut temu maklipsa 64 rozwiń

Reading time ~6 minutes This is a sixth part of a series:part 1 - Why schedule and procrastinate jobs?part 2 - Overview of Hangfiepart 3 - Scheduling and Queuing jobs in Hangfirepart 4 - Dashboard, retries and job cancellationpart 5 - Job continuation with ContinueWithpart 6 - Recurring jobs and cron expressions Parts 3, 4, and 5 covered the BackgroundJob class responsible for enqueuing single jobs (fire and forget). This post will cover RecurringJob class exposing API for recurring jobs (as the name ...

Dziel się z innymi:
[EN] Don't do it now! Part 6. Hangfire details - recurring jobs and cron expressions – IndexOutOfRange

Architektura 964 dni, 17 godzin, 38 minut temu maklipsa 40 rozwiń

Reading time ~3 minutes This is a fifth part of a series:part 1 - Why schedule and procrastinate jobs?part 2 - Overview of Hangfiepart 3 - Scheduling and Queuing jobs in Hangfirepart 4 - Dashboard, retries and job cancellationpart 5 - Job continuation with ContinueWithpart 6 - Recurring jobs and cron expressions Part 3 covered almost all functions in BackgroundJob class except for ContinueWith functions family. So here we go :) The fact that it has the same name as a System.Threading.Tasks.Task funct...

Dziel się z innymi:
[EN]Don't do it now! Part 5. Hangfire details - job continuation with ContinueWith – IndexOutOfRange

Architektura 971 dni, 20 godzin, 51 minut temu maklipsa 70 rozwiń

Reading time ~3 minutes This is the fourth part of a series discussing job scheduling and Hangfire details:part 1 - Why schedule and procrastinate jobs?part 2 - Overview of Hangfiepart 3 - Scheduling and Queuing jobs in Hangfirepart 4 - Dashboard, retries and job cancellation This part will cover few small topics:dashboardretriesmore technical part of the Hangfire.BackgroundJob class APIjob cancellationDashboard Let’s start with the administrative dashboard because it gives a good background for the ...

Dziel się z innymi:
[EN] Don't do it now! Part 4. Hangfire details - dashboard, retries and job cancellation – IndexOutOfRange

Architektura 979 dni, 2 godziny, 4 minuty temu maklipsa 50 rozwiń

1 2
Dodaj nowe Zobacz wszystkie



Paweł Łukasik (32 876,58)


macko (32 816,53)


pzielinski (27 178,29)


gordon_shumway (21 178,88)


paduda (20 336,33)


psz750 (13 018,14)


rroszczyk (10 434,75)


Damian (9 760,28)


danielplawgo (8 253,27)


arek (6 822,96)


burczu (6 214,22)


PaSkol (5 393,84)


lukaszgasior (4 097,38)


dpawlukiewicz (3 962,6)


jj09 (3 863,06)


AdrianBystrek (3 595,25)


spetz (3 448,35)


jedmac (3 318,39)


http://jakub-flor... (3 224,66)


KonradKokosa (3 105,4)