Sidebar Menu

Projects

  • Dashboard
  • Research Project
  • Milestones
  • Repository
  • Tasks
  • Time Tracking
  • Designs
  • Forum
  • Users
  • Activities

Login

  • Login
  • Webmail
  • Admin
  • Downloads
  • Research

Twitter

Posts by stumathews
Stuart Mathews
  • Home
  • Blog
  • Code
  • Running
  • Gaming
  • Research
  • About
    • Portfolio
    • Info

The Bar

Details
Category: Blog
By Stuart Mathews
Stuart Mathews
28.Jan
28 January 2018
Last Updated: 15 March 2018
Hits: 3044

I’ve completed my first month in my new role in the City and recently met up with an ex-colleague over coffee and she asked me what its been like.

All the people are nice, most very welcoming and most have established the company from day one, all having worked with each other before. There are about 10 in the company (its a year old). So everyone seems to know everything and while this is great, I immediately realised that I wasn’t there for all of it - the design and architecture plans, the whys why nots– all that stuff is void for me. But here I am, I’ve arrived, albeit somewhat late and there is lots to figure out now…

I think that’s the best way I can describe it.

The other day, the director asked me in the kitchen – Did I get a fright, and the answer quite simply is no. I’m just trying to learn 1-years worth of work, decision-making, technology in 1 month. That's all. I didn;t say that but that's really what I think I meant at the time.

I’ve worked in Application Virtualization, which is pretty cool stuff, I’ve worked designing algorithms that crack open applications and extract DNA for analysis. I’ve written C code, C# code, Java code, Python code, Javascript, Typescript, I’ve thrown around pretty much every type of programming ball that I needed to. I’m not even talking about my youth (assembler, Pascal, C++ etc..) And boy has that been fun. So what’s with the new opportunity? Speaking frankly its one word. Finance.

Finance is something I’ve never been in, I’ve been in companies that have many banks and financial institutions as customers but its a sector I’ve never directly been been in - but hey, If its got to do with throwing coding balls around – I can do that. That's what I love doing.

So from a technical standpoint, I’m right where I’d like to be, I’m in a place where I’ve always aimed at being in, I’ve always been involved in software engineering pretty much all my life.

Recently before starting in this company, totally unrelated but seems on par with why I’m here now, is that I developed my own personal financial services API, complete with a website which would talk to it and record financial investments that I’d input into it. Many aspects of the solutions I’m familiar with. Previously, I’d started getting pretty interesting in investing, shares and stuff like that having bought into a few collective investments and various company shares - this is why I needed something to keep track of all my financial decisions; And well, this is what this Financial company is aiming towards, a unified API that people can use to store and input there financial information and decisions etc… Obviously there is a lot more to their API than mine and they’ve thought about this a lot longer than I have. Its quite a mature set of ideas. But its ideas that I don't know about completely yet.

But, and there always is a but – as I mentioned, this is nothing compared to knowing absolutely nothing about the story and design decisions that make up their company, technology and design. Sure, it looks similar to what I’ve done but I’m a layman in this domain, I’m not a trader or a financial exec or have been in the past – I’m a coder, a software craftsman, I day-dream about modelling thoughts with technology, not securities or instruments(which by the way I only very recently have come to understand). But having said that, I’m in good company – almost everyone in the room has been coding financial systems for years and years and years. While I was working on virtualizing applications across networks, and streaming pixels across the internet or analysing binary files for specific patterns – these guys were doing financial stuff.

Joining the party late means you’ve not got used to everyone or everything yet, and everyone is looking at you. The music’s playing but you’re not dancing.

So back to my coffee.  I told her something like this, “er, well its very interesting and the people are quite smart and well its just a big change for me.”. What I didn’t mention to her was that it was actually quite hard turning up to a party late. And that really has been the hard part of this whole experience.

Sometimes I’m my own worst enemy when it comes to expectations. I think this derives from my childhood where I often found myself not feeling ‘ready’ yet – I had a bar, that when I reach it,was when I was satisfied that I’m comfortable to go,  that's when I’m ready but often I had to ‘go’ before I could reach that bar. That's frustrating. So I’ve become accustomed to being comfortable with being uncomfortable…

So most of the time I ready myself on-the-fly  while doing whatever I was supposed to be ready for. It a good skill now that I come to think of it. I guess you could say I’ve had practise at hitting the ground running many times. I expect myself to manage and I always figure it out, grit my teeth and get on with it(bloody nose or otherwise). I’m a pretty robust worker, I strive for excellence in everything I do and this where my bar comes from I think and this was is the biggest hurdle for me since having joined : I want to know everything now. Its  such a frustrating position to be in and its quite difficult to be satisfied. I’m still not satisfied.

Its important for me to write down some achievements because otherwise, I think I’ve not had any and that gets me down a bit. So lets begin.

  1. Submitted my first code on day 1 using their development setups and processes.
  2. Started reading through Excel-Add(c#) in code and learnt how it worked (from the customer’s point of view)
  3. Added code changes to the plugin and http client (implementing some tasks in the backlog)
  4. Followed the server code up and down the stack trying to self-document it for myself – the path form incoming API request, from user to database(well not quite the database yet) but the layer that interfaces with it.
  5. Started learning a bit about functional programming having seen language.Ext Either<> and Option<> code.
  6. Started learning about the basic entities that make up the API and learning a bit how the queries are deal with on the server.
  7. Implemented basic Entity on the API and started becoming familiar with the programming patterns and design – but from a code ‘out’ perspective.
  8. Authenticated with Okta and then with the API from a new Excel Proof of concept add-in written in Java that they had me look at.
  9. Can list all portfolios is a scope in the POC add-in.
  10. Started to implement some new functions in the normal excel add-in(c#).

Here is the POC excel-plugin I wrote: Reflections on Excel JavaScript Add-in

I’ve been on two runs with some of the guys in the company here and here 

I can speak to most people but I’ve yet to become comfortable with any of them. I’ve watched the engineers get tipsy on a Friday night at after work drinks, have a merry time - and I laughed which was very entertaining.

Some other notable achievements are that I don't think I’m not judged at the way I dress or the beer that I drink(or don’t drink).

It does annoy me that I’m not yet proficient at many aspects yet but I think this isn’t all bad. I’ve been really quite this month, some might say, I’ve been almost too quite. Indeed someone thought that I’d gotten a fright at having just joined the company and seen the landscape. That’s not it.

I think its because I’ve been trying to reach my bar, I’m always trying to reach my bar…

You've got to Bounce: To travel hopefully is a better thing than to arrive

Unrequited learning

Details
Category: Blog
By Stuart Mathews
Stuart Mathews
24.Jan
24 January 2018
Last Updated: 28 January 2018
Hits: 3177
  • New Job

I've managed to convince myself somewhat that I've achieved something while recently working /joining my new company.

It's has not been easy to do that. Leading up to this point, nothing really that I've been asked to do or have done has quite filled my lingering expectations.

However it now has by finally being able to Authenticate with our Web Api. This has finally convinced me that I've achieved something. Sure, I've achieved other things within the last 3 weeks but I guess it's because I thought that doing this specifically would be ever so useful. Everything else was secondary. Everything else is just something to do. This was something I wanted to do.

And come to think about it, that's mostly always the best way to do things.

Basically, I've got an AngularJS5 application, calling out to Okta(an identity provider) and receiving a token which represents having logged in and authenticated successfully(at the identity provider). With this token, I've injecting it into the Http headers of all my future http requests.

This is all because I want to call our Web API providing this token(which it validates and now accepts) and processing the response from the API in return. The response would be some data that I had requested. Prior to this, any calls I made resulted a http 401, access denied error.

I'm using A URL Interceptor in Angular to do the token injecting to my outgoing requests. It's actually pretty cool.

Where I'm ultimately going with this is to write a Excel plugin for Office 2016 which now supports Add-ins written in JavaScript. I've never been a fan of JavaScript but I'm slowly going to the dark side and I'm embracing TypeScript with wide arms.

There are some pain points however in creating an Add-in like this:

- You must use SSL otherwise Excel will not load your add-in. This requires running a locally SSLified web server.
- Excel requires that you call a function called Office.Initialize() to start your application which prevents you from troubleshooting in the browser (as the browser will never call this) but disable this call allows this...but then you can't load the add-in in Excel. Doh!
- When you're running the add-in in Excel, you have no F-12 debugger. You can however attach a debugger via Visual Studio to see all your console.log() messages!
- Excel needs you to load Office.js which messes with your URLs so you have to use Angular's UseHash:true routing strategy. The downside with this is the identity provider provides login token via a redirect query parameter which gets frazzled somehow because it contains a hash itself. So I'm fighting Office.js' useHash requirement and a way to circumvent the redirect nature of the identity provider. I've implemented a solution which doesn't require a redirect but can't test it because of the next problem...
- Excel prevents cross domain requests and returns access denied when I try to send data to the identity provider.

So its really the last issue which is preventing all my work, er, from working under excel. It all works outside of excel.

I'm half way there and this is a conciliation which still represents successfully authenticating with both the identity provider and then the Web API from my web app. That I'm happy with.

Up to and including this point, my weeks have been fairly densely packed with assimilation of code, theory, design and architecture. Its hasn't been productive in the sense that I've felt useful though. It's like studying to be a doctor but never being able to treat patients. That's why this little achievement is a good thing for me.

These weeks have been fairly immersive, so much so I think the longer that I thought about something the quicker I got confused: There was a lot of disparate things that I could not connect together. I think this phenomenon is the unrequited yearning for completeness.

Some of the earlier days, I'd just plunge into the abyss of uncertainty and explore the murky depths for what seemed like hours before coming up to breath without much to show for it - but I'd seen a lot. Starting out is like being an explorer, you just have to explore.

Exploring can be quite frustrating, especially if your looking for something you can't find, or searching, as in my case, for an unquenchable understanding of everything you find - something that frustratingly requires more than expedition. If you don't take your note book with you, then you'll be back yet again.

Hopefully now the light is beginning to shine though, daylight is beginning to emerge.

 

Bounce: To travel hopefully is a better thing than to arrive

Details
Category: Blog
By Stuart Mathews
Stuart Mathews
01.Jan
01 January 2018
Last Updated: 01 January 2018
Hits: 2481

I’ve just finished reading a new book I found while browsing my local bookstore. Its called Bounce and its by Matthew Syed. I liked reading it. It was much like another book called the Sports Gene. This book is all about debunking the myth that talent is mysterious and is only open to a gifted few.

Its something I believe in to and it basically goes on to explore what it is about exceptional sports professionals that make them different from everyone else and in short, its because of hard work, lots of it.

So between everything else I’ve been doing this holiday, I’ve found myself reading this book quite occasionally in my local coffee shop with my trusty pen(I like to write in books, oh shock horror) and a cup of tea.

Here are a few notes I took from reading this book.

Path to Excellence:

  • Purposeful practise is about striving for what is just out of reach and not quite making it; it is about grappling with tasks beyond current limitations and failing short again and again.
  • Excellence is about stepping outside of the comfort zone, training with spirit of endeavour, and accepting the inevitability of trials and tribulations.
  • Progress is built, in effect, upon the foundations of necessary failure.

Brain transformation:

  • When the human body is put under exceptional strain, a range of dominant genes in the DNA are expressed and extraordinary physiological processes are activated. (Anders Ericsson)
  • Providing the perfect conditions for feedback is the key to monitoring and noticing effects of changes you employ
  • Complete Feedback is, in effect,  the rocket fuel that propels the acquisition of knowledge, and without it no amount of practise is going to get you there.
  • Providing the most detailed feedback is important
  • Feedback should be embedded in any drill, lading to automatic readjustment
  • If you can position yourself in this kind of feedback loop, improvements will escalate in ways that will astonish you.

Applying the lessons:

  • Practise cannot be sporadic to benefit from acquiring knowledge during practise
  • Feedback can be corrupted by delay and pressure of new concerns
  • Specialists, should approach difficulty as a means to grow and expand knowledge over time, getting better and better.
  • You should design a practise drill that will allow as much feedback as possible as much of the time as possible. Thereby forcing you to learn and adapt to newly acquisitioned notice of new knowledge during the practise

Zero-Sum Games:

  • Tasks that are boring and repetitive and fail to push employees to their creative limits and beyond is not purposeful practise.
  • Everyone has the capacity for excellence, with the right opportunities and training.
  • Aim for large/wide feedback opportunities (Maximize it) during purposeful practise, designing specialist routines.
  • Combat infrequency
  • Push limits while honing skills during purposeful practise
  • Reduce new concerns that create feedback noise.
  • Practise should not be sporadic/infrequent and without wide feedback aka complete feedback.
  • Embed feedback into drills and quantify ‘ide’ feedback
  • Make feedback detailed so you can spot concerns than can be changed and so that new variations can be explored.
  • Acquisition of knowledge is like concentrating on the hips instead of the racket to instinctively(draw on past knowledge) where the tennis ball will go.
  • Exceptional strain changes physiology
  • Striving for what is just out of reach and trying and failing for feedback is absolutely necessary
  • Push beyond, failure is necessary.

Mysterious Sparks and Life-changing mind-sets:

  • When you want to, that's when you should.
  • Care about the destination, internalize how you are going to get there.
  • Care about the reason, know why it is important.

Motivational Jolts:

  • Find people like you – motivation by association.

The talent myth revisited

  • Have a mind-set focused on growth, not reward
  • Design new strategies to overcome issues found during feedback.
  • design new challenges to help you grow and learn, not gain rewards
  • Embrace failure
  • Fail better next time.
  • But the path to excellence is steep, gruelling, and arduous. Its in inordinarily lengthy, requiring a minimum of 10,000 hours of lung-busting effort to get to the summit. And most importantly of all, to forces voyages to stumble and fall on every single stretch of the journey.
  • Excellence is about  striving for hat is just out of reach and not quite making it. It is about grappling with tasks beyond current limitations and failing short again and again. failure is necessary
  • Build up foundations of necessary failure

The power of words

  • You can be proud of how hard you work. You should be proud of effort. Praise effort
  • Praising intelligence harms their motivation and it harms their performance.
  • Challenges are learning opportunities – design challenges to learn things and receive more feedback.
  • I guess that was too easy. I apologize for wasting your time. Lets do something that you can really learn from.
  • Repetition provides more opportunity to gain invisible knowledge – deep experience knowledge – that why you should do it.
  • hard work is vitally important
  • Failure is an opportunity to improve . Improve with Effort not reward.
  • Show tremendous discipline and take responsibility for your actions.

The garden shed:

  • Identify what you need to grow, design strategies to practise obtaining of striving to obtain this.
  • Design feedback mechanisms and study the results.
  • Update the strategies to try gain deeper knowledge.

The placebo effect

  • Potency: Passion, concentration, belief and will
  • believe in something wholeheartedly
  • All that matters is what you believe
  • If you expect the best, you create the conditions that produce the desired results. Positivity.
  • Build a conviction in ones capacity to achieve.
  • eliminate doubt with a variety of mental techniques
  • The true professional in every field performs from a base of solid faith in his potential to act successfully. He doesn't listen to self doubt .
  • use positive imagery: examples are where I have succeeded in the past etc.

Irrational optimism:

  • Doubt is poison so is uncertainty.
  • Preserver, trust yourself and your reasons.

A physiological conclusion

  • Irrational beliefs can boost performance, provided they are held with sufficient conviction

The curse of choking

  • let learned automation and experience and knowledge take control in pressure situations.
  • If you monitor explicit skills that would otherwise be dealt with automatically by our implicit knowledge base, you choke and focus too much on the one thing.

Baseball rituals and pigeons:

  • A state of mind can be brought about positive reinforcement – thing you did that made you do good and feel good – rituals.
  • To travel hopefully is a better thing than to arrive. Robert Louis Stevenson

I will probably be revisiting the themes in this book moving forward to extract details on how to apply these themes to my own life.

IMG_0316[1]

More Articles …

  1. Evolution of humankind and the purpose of growing old
  2. Unorthodox
  3. Four things
  4. Good weekend
  5. Brexit negotiations outcome predictions
  6. Minimum required, maximum removed.
  7. Prime numbers
  8. Interpretations of truth
  9. Chaos Itchy Park
  10. Friday dancin’
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

Page 40 of 182