Chrome + Basic Auth: fix not attaching to basic auth window in some 2-window cases.
Fix some random crashes related to closing of RF popup windows.
Installer: increase waiting time before showing Force Close buttons.
Installer: fix RF installer shows too big icon for Chrome 64 bit on Close Applications.
Sync: OpenSSL upgraded to 1.0.1j, to fix recently vulnerabilities such as Poodle.
NET Core Podcast.Sync > Manage RoboForm Everywhere Account' command to RoboForm menu.
Thanks SQL Server 2012 introduced a FORMAT capability so you can format your data in the string format you really want.
Use the React Typescript Cheatsheet to get all of the performance of React with all of the type checking of Typescript in your next JavaScript project.
Thanks OK, OK, in fairness, Allen also mentioned this a while back in episode 31, but this tip is too good to not be repeated.
From the Edit menu, select Paste Special -> Paste JSON as Classes or Paste XML as Classes.
Within Visual Studio, use the Paste Special feature to create classes from your JSON or XML.
Is the use of dynamic considered a bad practice? ( Stack Overflow).
Latency Numbers Every Programmer Should Know ( GitHub).
Everything is Fast for Small n ( Coding Horror).
What is tail recursion? ( Stack Overflow).
The Imposter’s Handbook ( bigmachine.io).
Profile your app, find the slowest and most memory intensive spots.
Maybe you should be using a hash or a plain array instead?
When you’re looking into hardware provisioning or predicting costs.
When should you look into your algorithms?.
But that’s not to say that there might not be some bad complexity offenders within your line of business application.
Business programming? Maybe not? Usually the bottle neck is in the data tier, network latency, or UI, so long as you use data structures well (hashes vs array).
Game programming (graphics, decision trees).
It will almost certainly come up during an interview.
It matters a lot if you’re designing a new cryptocurrency or cryptography algorithm!.
Do we have a better system for measuring distributed load? (parallel processing, distributed algorithms).
How does big O work for space complexity? Basically the same, big O doesn’t care if you add 3 variables to the stack for every input, it’s much more concerned with the fact that you’re adding things to the stack for every iteration O(n).
Note: some languages support tail recursion, which allows the runtime to notice new stack frames are superfluous and doesn’t add them – for example a tail recursive fibonacci algorithm will have ONE scope on the stack, where a language that doesn’t could easily overflow the stack for a large request.
Stack overflow is more likely to occur in recursive functions when functions keep getting added to the stack before they get removed.
NET runtimes, the stack size is 1 MB, vs sizes measured in GB for the heap depending on the version of the OS.
Why don’t we care about the heap? We do, but it’s much, much larger than the stack.
As your program executes, it adds items to the stack that don’t get removed until that function is completed (goes out of scope).
The stack keeps simple values and pointers to the heap for more complex / larger objects.
Scoped variables are held in a stack, which has a finite amount of space.
In regards to memory there is the heap and the stack.
Space, in this regard, could be memory, disk, or any streaming, such as over a network or to another device.
Space complexity is about describing where the data used in an algorithm is stored.
Time complexity allows us to describe how long an operation will take.
If you keep adding loops for every item added, you’re now into O(n!) territory and should quickly find a way out!.
List iterations that also use divide and conquer are O(n log n).
Divide and conquer are O(log n) – dividing lists into smaller sets is logarithmic.
Nested list iterations are O(n^2) or worse.
Data structures play a key role here, dictionaries, hash tables, etc.