Just two days ago I bought myself Phantom 4 Advanced. I debated within myself whether I needed all the features of Phantom 4 Pro and decided that the extra pair of anti collision sensors plus the ability to use 5.8Ghz spectrum wasn’t worth it. I noticed in all the screenshot from Phantom 4 Pro that everyone still uses 2.4GHz. 5.8GHz is designed to be used in built up areas. Due to the fact that the whole area where I live use the same ISP, which provides 5.8Ghz routers as standard it wouldn’t have helped me. Out in the open you would still want to use 2.4GHz as it provides a superior range. In the end the deciding factor was the deal that I managed to get on eBay – I got a brand new Phantom 4 Advanced for a mere £700. How and why would someone want to sell a…
View original post 624 more words
Still can’t believe how great the camera on the drone is. 1 inch sensor is definitely worth it. The UHD footage looks unbelievable on 4K monitor!
Sometimes you need a collection that’s modified a lot: you insert, update and remove items. A List of T is then inefficient as it needs to constantly rearrange all other items. The LinkedList class might be a better candidate.
A linked list is a doubly-linked list. Each item has a Next and Previous pointer to look at which element comes right before and after a particular object in the list. A linked list is very efficient at inserting and deleting items in particular.
View original post 181 more words
I made another post about MVVM and EntityFramework. After reading this, you should really check that one out!
It’s really worth it to use MVVM 🙂
Link to another post: Click Here
I’ll explain the basics to get SQLite working with EntityFramework 6. It’s a straight forwarded tutorial / explanation. I will not tell you everything about EF (there are a lot of tuturials on the web). Instead I’ll show you the most basic example to get EF working with SQLite, after all it wasn’t that easy!
View original post 1,783 more words
When we have to test methods that involves Entity Framework, a typical choice that we have to face is use integration tests, with an effective database, or unit tests.
If we choice the first option, with a database like SQL LocalDB, we’ll have performance problems because the cost of the database creation and the data inserts in the test startup is very high, and in order to guarantee the initial conditions we’ll have to do it for each test.
What we can do is use a mock framework that help us to mockup the entity framework context; it would be an in-memory db context, like the in-memory db context of .NET Core, that we have seen in this post.
In pratice, mocking a class means substitute the real implementation of a method with our custom behaviour; what we can do for every method of the class is…
View original post 482 more words
Stumbled upon this article written by no other than Eric Lippert listing the top 10 design faults of C# language. Here is the summary, the source to the full article is at the bottom.
#10: The empty statement does nothing for me
Reflects on the fact that lone “;” is a legal statement
#9: Too much equality
There are too many ways check for equality: ==, Equals, ReferenceEquals, CompareTo(…).
From personal experience double.NaN == double.NaN is false but double.NaN.Equals(double.NaN) is true
#8: That operator is shifty
Weirdness around << and >> operators
#7: I’m a proud member of lambda lambda lambda
The way C# 2.0 implements anonymous delegates
#6: Bit twiddling entails parentheses
#5: Type first, ask questions later
C# borrows the “type first” pattern from C and many of its other successor languages – something I got used to and the “correct” way now seems illogical to me
#4: Flag me down
The fact that you can create invalid enum values and have to manually check for this in the code
#3: I rate plus-plus a minus-minus
++i, i++, i +=1 etc. how much confusion and the pain it caused.
#2 I want to destruct finalizers
Agree with the author that finilisers in C# are symptoms of a bug. Seen it way too many times myself.
#1 You can’t put a tiger in the goldfish tank, but you can try
“array covariance” and how this could lead to run-time exceptions.