Tuesday, 24 December 2013
Wednesday, 18 December 2013
So my last blog shared a couple of useful pages for managing chrome plugins and crashes. I just published the post and then found something even better. A page in chrome that lists all the pages that might be potentially useful. Just type chrome://chrome-urls/ into your chrome address bar. It lists every useful behind the scenes page. Just click which ever you want to find out what it does.
Heck I even tried it on Android and it works. Yep. Very geeky but I'm going to have to store that one in my mind some where. So if this nugget helps you then please let me know. How did I find it? I just started typing chrome into the address bar to see what would come up. It did the rest. How useful it that.
So I've been meaning to share more about my work with Unity3D in regards to simulations. This gets to be where I talk about the potential pitfalls of using Unity on the web. Many will take this as a knock at Unity but that's not really fair. What I am sharing is the new debugging tools I have found in chrome to help when you find a plugin that's gone rogue. If, like me making reliable, quality web applications is your livelihood it never helps to find a new tool to help you raise quality and for me that's most often about debugging. Debugging is in my blood.
This post came about because I just had multiple tabs in chrome crash repeatedly. That's rare. Chrome is very stable for me. The same happened yesterday. When it starts to be a consistent problem I prefer to understand why and improve my knowledge in the process. It all started today when I read about kahoot and I signed up, the trouble started when I went to checkout out their facebook community. The community page never stopped loading. Normally a sign that something is unresolved. Eventually it crashed and all those connected to it.
Stopping Flash and Unity crashing your browser is for another post. Right now I wanted to share how to disable any plugin right in chrome and also check if there are any software conflicts that might be causing problems. This functionality exists as two pages chrome://plugins/ and chrome://conflicts/.
chrome://plugins/chrome://plugins/ is a page when you can Easily disable/enable plugins and reload tabs. I discovered it reading How To: Solve your Google Chrome Freezing and Hanging Problems referred to by the Google forum thread Facebook freezing in Chrome
I followed the advice an voila I could load all three tabs described earlier without problems. The only difference is that I disable both flash plugins I had installed and the unity plugin. Just disabling Flash wasn't enough. I couldn't prove it was a Unity fault because when I subsequently enabled all the plugins and reloaded the tabs they all worked fine. Yep you can guess I test, test and then retest. The point is that I now have even more tools to help me debug these issues and enjoy the web. If I just have to disable then re enable a plugin to make chrome work it's now just a page away. Pretty darn useful I'd say
I also learnt about chrome://conflicts/ in software the crashes chrome. The title of the page is 'Modules loaded into Google Chrome'and its description is
This page lists all modules loaded into the main process and modules registered to load at a later point.
For me it didn't list any conflicts so I can't tell you what happens when it does. What it did teach me is that the number and type of dlls and apps chrome uses is far higher and wider than I imagined. For example tortoisesvn was listed as was sophos antivirus.
I couldn't actually do anything on this page you can just do things with the information. So I share it simply for reference.
I hope this helps. Shame I couldn't share all the cool things you can do with Unity on the web. I do have posts lined up for that though. Just hope this helps you as much as it did me.
There is more detail I would like to include but it is aside from the main point of this article which is about useful new debugging tools I found. I've included it here for those who might find it useful.
Why do multiple Chrome tabs crash together?If you thought each chrome tab is supposed to be its own independent tab I've learnt from experience that this isn't totally true. It seems there are parent threads and child threads. If you type the address in directly then you start a new parent thread. Any tab you open from the parent tab creates a child tab. I do this all the time. Each page I linked to in the previous paragraph I opened in turn in a new tab. All three crashed when the community page crashed. This is typical chrome behaviour for me. All other tabs and windows were unaffected.
Why do Flash and Unity Plugins suffer the same problems?Unity suffers many of the problems of Flash in that it is doing things on the web that html and the browser struggle with. Whenever you find examples of html trying to do even simple version of things done in Unity html (these days HTML5, the new darling!!!) has far more problems than Unity. Either it won't even work or it will crash the browser even worse than Unity.
The problem for Unity and Flash is that neither have done anything to help their image. The reasons for their bad reputation of reliability on the web is a common issue for any plugin that they could address. Basically Unity gets full access to various parts of a users machine. N.B this is intended as a technical post. I am assuming you understand the principles of designing software to run with full permissions and won't run away screaming that Unity and all followers are the devil incarnate.
Unity and Flash however bypass this built in sandbox type security of the web model. That is both a blessing and a curse. Flash was banned from Apples iOS because it didn't respect the new standards the internet is trying to set. e.g. security and performance. Flash is the main reason a browser crashes. Unity is now reaching the same height of unreliability for me both because I search out unity resources because I love Unity and also because others love Unity too. Companies like Facebook who have built a business around games. They adopted flash early on and so they are doing the same with Unity. The problem then is that any poorly built Unity app can now crash your browser.
Why are plugins better supported?My question is why Unity aren't doing more to prevent this. Google and the web browser community are avidly against plugins for this very reason. Yet plugins are important simply because they bridge the gap between what browser can do well and what users want them to do. Every person I talk to about Unity say I should use HTML 5 instead. All this does it highlight their naivety of HTML 5 and Unity. They think what unity does is simple. It is incredibly complex much more complex than delivering a browser.
So Unity, like all 3d and simulation engines, is incredibly advanced in what it does. Generally it uses established older technologies in new ways. Hence it doesn't speak HTML. That's because HTML is new and hasn't learn 3d properly yet. Sure there are lots of 3d examples but they are all just tiny, simple prototypes. None are a fully fledged real time connected application. That's what Unity delivers. HTML 5 can't deliver that.
I have explained a little about why elsewhere on this blog but it is an in depth issue. The point is still that HTML and the browser model is still very immature compared to the older app model that came before it. Users still want the old app level of functionality. If that were not possible in browsers they just wouldn't have grown as quickly as they have. So browsers beed plugins or they need to provide reliable alternatives. HTML 5 a canvas isn't enough. There is so much more that Unity does and browsers aren't providing it.
Anywho. I need to move this debate into its own article at some point. For now. I will just share and see what you think.
I needed a little inspiration in the challenges of being an entrepreneur and inventor. I just checked out the Wright Brothers because at the time they pioneered human flight there were hundreds of others trying to do just the same. I wanted to understand how long it took them. What kinds of things they did. How much detail they went into and what they focused on.
What I already knew is that many incredibly wealthy and well connected entrepreneurs were also trying but didn't get the results. I wanted to understand why. Was it a fluke or was it down to process. Were the Wright Brothers better inventors, or was their relative lack of resource beneficial to them in some way. It would be a nice story it if it were.
What I learned so far was that they did the basic thing good engineers do. Tested, prototyped, gather thorough data. They also didn't do everything themselves and it was their choices and way of thinking that led to success.
Many others were building stronger engines and propellers. The Wright Brothers focussed on controls. What I feel that means is that others focused on quantity e.g. power and lift while the Wright brothers focused on quality or controlling the power. This explains why their first official flying craft didn't actually do much. It only went a meter or so in the air and sustained that for a short distance.
They didn't care about height or speed at first. Just in level controlled flight. They conducted many glider tests before hand and developed their mechanical skills so they could develop what they needed. Along the way they built a business making bicycles because it helped them pursue their love of flying.
Essentially I feel it is their holistic approach to invention. Seeing that others could deliver the required power but they couldn't control it. The limitation was therefore control not power and that's what they perfected.
They also investigated how birds fly. Learning how they adjusted their wings to tilt their bodies and turn. Many engineers believed a plane should stay level and used the principles of a train on a track. In the end we have learnt that the best solution is a mix between a bird and a large fish like a dolphin. The wings may be inherently unstable but less susceptible to upset by gusty cross winds. Tilting the plane to aid vertical and horizontal movement uses the plane itself to aid the process. Providing a much greater force with relatively little effort. Leaving the control planes in the tail for finer control they don't have to focus on providing lift itself. Instead, they just control where the nose of the plane points.
This is very similar to a formula one car. just the reverse idea. In a Formula One car the wheels control power and direction. The rear wheels are only concerned with power. The front are only concerned with control. All wheel drive is best for rallies and dirt tracks not racing on tarmac where the separation of control and power is key.
So it is essentially a similar principle. The Wright brothers used gliding to teach them about control and leaving motor driven flight until later. They followed others attempts that used more power and different styles of craft but stuck to their original idea that the pilot must be in full control before power be added.. Everything must be designed around this concept.
They also believed that the basic wings and engines required already existed. They learnt to fly unpowered craft first. Others just put engines and untried controls together and tried them out without learning to fly unpowered first. They often crashed.
The brothers experience with bicycles also benefited them because they knew from experience that leaning to help steer and control a bike is the most natural thing. With open minds like this they could see how common this approach was in the natural world.
Overall this process reminds me of Darwin. He felt that much of the knowledge was already there. He did many tests himself and compiled many statistics but clearly built his ideas on the foundation of others work. He felt there needed to be a complete story but the essential ingredients were already in place.
Throughout the analysis of the Wright Brothers work it is clear how much they learned from others. Putting it together and seeing the whole was most important. They don't claim to have many original ideas except how they put the overall control surfaces together.
Essentially they built a powered glider. Thus building on decades of proven knowledge ensuring that if the engine failed the pilot could still land safely assuming he knew how to glide. It also ensured that any one who knew how to glide could learn how to control a powered glider. The simplicity is a big part of their success.
It was fascinating to learn so much. The workflow sounds so similar to other entrepreneurs that have had success. I'm thinking of Apple among many others. Good to know.
Tuesday, 17 December 2013
The guardian reported that if you Born after 1960? Then you're probably poorer than your parents. It's certainly something I'm noticing so I felt the need to keep this for future reference. I feel that over the decades we are feeling the natural effects of falling from the heights of the late 19th and early 20th Century when the UK was a dominant power fueling the industrial revolution and leading in industry.
While we are still important we are slowly reaping the benefits and problems of such amazing consistent growth over multiple generations. The inevitable slowdown. Whether the gap between rich and poor will forever widen in the UK I can't say but I do feel that our position both physically and then culturally in between the US and Europe and our history as a sea faring nation of travellers. I feel we are basically pulled in all directions moving too and fro. This can bring big benefits but also big problems.
The article simple explains the the problems of today are simply the natural occurence of what has been happening over the years. I think it's got lot to do with how easy it is to accrue debt. I don't know all the reasons. I think it's partly because the country was relatively wealthy yet the culture encouraged saving. Credit wasn't easy to get so debts had to be paid upfront and few expected inheritances to pay for things.
These days the culture is based on debt. It's expected and the only option available when doing things you're supposed to do like go to university or get a house. Everyone does it and you feel a bit stupid if you don't. Of course those with better off parents don't feel the full brunt when there are bumps along the road to servicing their debt.
It is what I am seeing in life. So I found it a timely article.