Its a problem that's trivial if you are allowed to allocate an array/list that's the same size as the input but tricky if you have to do the operation in place (unless you already know the fisher yates algorithm).
There's probably a bunch of other examples of this kind, (easy out of place, tricky in place) but non come to mind atm.
IMO geometry nodes are a bit lacking atm. No loops, no procedural uv unwrapping, no compact maths expressions, bare bones standard node selection in general etc. It feels like they've been concentrating on particle system type use cases at the expense of things like procedural architecture. However, its still a relatively new feature & I'm excited to see where it will be in a couple of years time.
The great thing about blender 2.8+ is that it tends to be good enough in a lot of different areas even if it isn't best in class in any one area. If it can get to that state with geometry nodes that would be massive.
Thanks for the second link. Years ago I emailed Erik Ravn about getting copies of some hard to find Wuthering Heights albums. He mentioned that he was working on remasters after he got the rights back from the record company. Glad to see he finally got it done.
To the best of my understanding, this is an accurate summation of events.
With the MAX it isn't possible to have electric trim without MCAS, so if MCAS is malfunctioning pilots have to trim manually. The problem with the EA flight is that it occurred shortly after takeoff, so they lacked altitude (unlike the LA flight). A complicating factor was that they were flying east out of Addis Ababa (i.e uphill).
(from wikipedia): Two minutes into the flight, the plane's MCAS system activated, pitching the plane into a dive toward the ground. The pilots struggled to control it and managed to prevent the nose from diving further, but the plane continued to lose altitude. The MCAS then activated again, dropping the nose even further down. The pilots then flipped a pair of switches to disable the electrical trim tab system, which also disabled the MCAS software. However, in shutting off the electrical trim system, they also shut off their ability to trim the stabilizer into a neutral position with the electrical switch located on their yokes. The only other possible way to move the stabilizer would be by cranking the wheel by hand, but because the stabilizer was located opposite to the elevator, strong aerodynamic forces were pushing on it. As the pilots had inadvertently left the engines on full takeoff power, which caused the plane to accelerate at high speed, there was further pressure on the stabilizer. The pilots' attempts to manually crank the stabilizer back into position failed. Three minutes into the flight, with the aircraft continuing to lose altitude and accelerating beyond its safety limits, the captain instructed the first officer to request permission from air traffic control to return to the airport. Permission was granted, and the air traffic controllers diverted other approaching flights. Following instructions from air traffic control, they turned the aircraft to the east, and it rolled to the right. The right wing came to point down as the turn steepened. At 8:43, having struggled to keep the plane's nose from diving further by manually pulling the yoke, the captain asked the first officer to help him, and turned the electrical trim tab system back on in the hope that it would allow him to put the stabilizer back into neutral trim. However, in turning the trim system back on, he also reactivated the MCAS system, which pushed the nose further down. The captain and first officer attempted to raise the nose by manually pulling their yokes, but the aircraft continued to plunge toward the ground.[8][9]
The electric trim column thumb switches override the MCAS. Turning the cutoff switches back on, activating the thumb switches to bring it to normal trim, then turning the cutoff switches back off would have recovered it.
Winter's Gate is brilliant. I've found previous Insomnium albums to be a bit pedestrian (albeit very competent vanilla melodeath). With Winter's Gate Insomnium introduced some prog & black elements without abandoning their core melodeath sound.
IMO there were two other outstanding albums released the same year that accomplished a similar feat - Be'lakor's 'Vessals' end Wilderun's 'Sleep at the edge of the earth'. Wilderun tend to get pigeon holed as a folk metal band but I don't think that accurately reflects their sound. I would recommend both albums to anybody that enjoyed Winter's gate
I'm really looking forward to VS2017 update 1. I've been following the activity in the visualfsharp github repo and some of the new Roslyn based tooling looks fantastic (albeit with alot of churn at the moment).
F# has always had good tooling 'for a functional language' but it looks like we're getting close to good tooling period.
I suspect you have been downvoted because some people may perceive your answer as a glib trivialization of a debilitating condition ('just pop a few probiotics and everything will be ok').
However, I have upvoted you because I agree that probiotics can play a part in coping with anxiety for some people.
I have experienced anxiety attacks for the last several years (including several full on panic attacks). For several years before the onset of the anxiety episodes I have also had IBS like symptoms (which continue to this day). I have noticed a clear link between the two (anxiety accompanied by nausea and frequent trips to the toilet). I could go into the disgusting detail but I won't.
To cut a long story short, I have found that consumption of high dose probiotics containing B longum has corresponded with a decline in sympton severity & frequency [1]. I am not suggesting that this is a cure (or that it will help all anxiety sufferers). Other things that help are reductions in caffeine & alcohol intake, increased exercise (the more extreme the better) and acceptance of the physiological symptoms of anxiety - it is easy to think that heart palpatations etc caused by anxiety are a result of genuine physiolgical issues (which in turn causes more anxiety).
At the other end of spectrum is 'Changing of the Guards' in which Bob Dylan seems to be intentionally parodying his own songwriting (still an enjoyable song though).
Currently you can't target iOS, Windows store & WebGL with F#. For these platforms Unity uses an IL to C++ transpiler which doesn't work with F#. This might change in the future (one of the Unity devs submitted an IL2CPP issue in the F# github repo a few weeks back).
Desktop platforms work fine.
F# doesn't have the Unity editor and project support that C# & UnityScript have. In practice this isn't much of an issue.
There are few things to be mindful of:
1. The F# target platform must be changed to Unity's .net 3.5 equivalent. Similarly, full framework support must be enabled in Unity.
2. VS debugger support requires turning off optimisations and running a post build step to convert between Microsoft's pdb format and Mono's mdb. The debugger itself is actually far more stable for F# than for C#.
3. Unity profiler support requires adding the compilation symbol 'ENABLE_PROFILER' to the F# project.
The Mono runtime Unity uses is, I think, a fork of Mono 2.8. The tailcall op wasn't implemented in Mono until 2.10 (again, I think). The tailcall op is essentially ignored by Unity Mono.
To date, we haven't had a single stack overflow in our 10k LOC app.
I should mention that the style of programming we are using is alot more imperative than the typical F# program. Any potentially large collection is an Array, C# list or Dictionary. F# immutable lists (and maps) are still used in most areas where data sizes are known to be small and allocations are not so important.
The Mono runtime used by Unity has a very inefficient non generational garbage collector (conservative Boehm). A generational GC wasn't introduced until 3.x. Unfortunately this tends to lead to a less functional and more 'allocate once and reuse' style.
The Mono JIT also produces code which is often an order of magnitude slower than MS .net (which itself is slower than coreclr).
Despite these caveats - a significant proportion of code can be written in a purely functional style and good performance can still be achieved.
That's exciting to know. I hope to give F# and Unity a try sometime soon, then!
I remember the XNA C# runtime on the Xbox 360 required similar strategies with memory as well. It's nice to see garbage collectors improve as time goes on.
I've yet to hear any reasonable defense of this often repeated assertion (UK 'special treatment'). The UK net contribution per capita is similar to other comparable EU countries (time periods vary but see this link (payments tab, net by population)
Without the rebate, the UK would be a massive outlier (paying a much higher net GDP per capita).
The other often cited 'special treatment' is that we are not part of Schengen - a situation which also applies to Ireland and Cyprus (Cyprus are technically committed to joining but it remains to be seen whether this will actually happen). The common factor is that these countries are islands. Is it really that much of an inconvenience for people to bring their passports when you already need to have booked a plane, ferry or channel tunnel ticket (practically, it isn't the same as driving from France to Belgium)?
There's probably a bunch of other examples of this kind, (easy out of place, tricky in place) but non come to mind atm.