Ideas, Information Technology, Programming / Technology and Research

Don’t just fix – do impact analysis!


One of the most overlooked task for developers is doing the impact analysis. Yes, most of them might be hearing this the first time, but it’s actually a responsibility that needs to be taken seriously. Even I, when I was starting, I never intended to put it in my list to do such as I just love coding so much.

Yet, as you move closer to the heart of the project, it will soon surfaced.  I find the illustration below as an eye opener for every developers.

You might  know how to quickly fix a bug and be the hero that saves the day, but always be mindful of the possible impact. Be keen to what could happen and look at every angle possible!

Android, Ideas, Programming / Technology and Research

Whattup Greet!


Playing around android again. I tried creating an Android App that will basically send out a message “Whattup” from a chosen contact.

Screenshot_2014-12-19-05-55-45

Pretty much basic – but the key here is that I learned how to do it.

I’m excited as much as your are, hopefully this is something that I can use in the future. :)

Long term for this?: I’m planning to create my own messaging service. Basic stuff, just like Yo, but instead of sending “Yo” – I’ll be sending “Whatup Chief!”

Ridiculous… yet..

Ideas

The Automation


It was rainy Monday evening, sitting down the chair doing the usual surfing the net. All of a sudden, a colleague of mine pinged me via MOC, asking me to check the issue they are having. I quickly check what is going on via the log file. It was;t pretty since I need a stable connection just to tail the entire log file – I can’t even open much less grep through the exceptions. Yet as luck would strike, the ctrl + g then ? then keyword “Exception” return an line.

Exception: Column <> is missing

I quickly realise that this was an error due to the inconsistency of data and configuration of our UAT environment across the board. It’s something inevitable and cannot be seen if you don’t look over the scheme of things. I knew how to fix it, I advised that what needs to be done – and problem is solved.

Now I didn’t stop thinking about it, I know that it was solved, but it seems that this kind of issue will keep on creeping us as long as we don’t put a rotational sync of UAT environments – which is not an option since we don’t want to refresh the database every week as it may entail replication issues or UAT data loss. It’s basically a hard sell if it needs to.

Now if you look at it from a different perspective, there will be questions. Questions of, “if this is not possible, why can’t this be done?” Can’t we just work around it? What if the developer has the right tools before this issue happens? What if we can prevent it?”. As I think through all this, 1 solution came to mind.

#automation

I clearly see what lacked and know what happened, there is something that can be done and that is to automate the data control management entry on all environments – automate to promote it, not to execute it.

What if: I create a script that by the end of a release, this tool can be used by the developer to promote the DCMs to different test environments? The dev would need to align to different owners of those test environments that the promoted entries is mandatory as it will create the production objects that was recently released?

A python script, gets all DCM > run the DCM links > promote DCM > use a different user (dev?) > generate emails that will be send out to the leads?

That way, we prevent the sync, we aligned to the leads what needs to be done and we prepared whats needed.

Thoughts?

Programming / Technology and Research, Python

Python Script – Learning the hard way!


I recently enrolled in a Python Online Course – although I’ve been using it for more than a year now, It was always good to go back to the roots of it and refresh the fundamental knowledge I have.

The online course I’m talking about is this: learnpythonthehardway.org.

It’s a very straight forward beginners guide to creating scripts using the platform. The author was great in explaining every detail and every output. He encourages learners to not copy and paste, but to actually code what he wrote on the site.

ex35_py_and_Python_Script_–_Learning_the_hard_way____AREYES

So whats in it for me? 

We’ll I’ve always been fascinated with automation using scripting languages. I find it “attractive” and “fulfilling” creating different scripts to automate a complex process – and Python is, if not the best, is one of the best there is. It’s so simple and yet so powerful. Extremely easy to learn – allowing developers to be creative with it! Some might not say the same thing, but I’m very excited just thinking about the things I can do with it.

I used it so far:

  1. Automated our side by side comparison generation.
  2. Automate my local application deployment.
  3. Web scrapping and putting them on a database (cannot give details on this one though).
  4. Simple Registration process using DJango

If you’re going to start it though, make sure you either have Notepad++ (if you’re on windows) or TextWrangler/Sublime Text (in Mac). Open up your terminals (Mac comes with python 2 – as of this writing). Something like this:

learnpythehardway_—_sh_—_81×23_and_ex35_py_and_Edit_Post_‹_AREYES_—_WordPress

Some Tips:

  1. Start with a TextEditor – not a IDE that has intellisense in it. There is no fun with that. If you need documentation, use the pydocs!
  2. Pydocs <object> – Extremely Helpful!
  3. Python Editor Plugin for Sublime Text.
  4. Get Projects! Don’t just practice – do real stuff and contribute!

Join me in improving this comparison tool! https://github.com/alvinjayreyes/svnDiffToHtml

 

Happy Coding!