Showing posts with label Joe. Show all posts
Showing posts with label Joe. Show all posts

Monday, 23 July 2012

100% Code Generation From UML

When organizations chose to develop software using UML and code generation, typically only the static model is used to generate the code, resulting in the structure of the code being the only part automatically created. Unfortunately this leaves a large portion of the implementation not generated and the software engineers with the task of ‘filling in the gaps’.

Objektum Solutions have created a UML modeling environment, using Atego Studio on a number of projects that enables the dynamic (or behavioral) aspects of the design to be auto generated.  This means that 100% of the code can be generated from the UML model with the additional benefit of the model and code always being synchronized.
 
The UML2 Activity Model has been used to model the dynamic behavior of operation bodies and a bespoke code generator has been developed (in partnership with Atego) for both Ada and the C programming languages. Objektum Solutions have also developed a reverse engineering capability so that Activity models (including diagrams) can be automatically created from source code. 

Below is a simple example of an activity model and the auto generated c code.

 
If you would like more information or if you would like Objektum Solutions to help you achieve 100% code generation and full synchronization, please contact us at:

Email: info@objektum.com
Telephone: 0845 199 9932 (UK)

Wednesday, 16 May 2012

Objektum Modernization In The North West 200

Objektum Modernization are proud sponsors of the North West 200 rider Phil Crowe. 

Phil Crowe has embarked on his first ride out at Ireland’s most notorious road race, The North West 200. He will be riding in two classes, the super bikes and the super stocks. Objektum Modernization are sponsors in both classifications. Riding for PCR HMT Racing Phil will be racing on the edge pushing himself to new levels; just as Objektum Modernization have been doing in the software world. 

Objektum Modernization wish Phil and the team all the best on race day tomorrow and we hope for a great result.

My First Company Tool

This week our trainee software engineer Joe has made/developed his first tool that will be used by Objektum at a customer site. He tells us about his experience.

The tool that I have written is called the FileCopier; its primary functions are to take a list of file names and search a directory and all the sub-directories within for each file in the list. Once it has found the file it then copies it to an output destination, selected by the user.

The Problem

The initial idea of the tool was simple, find a file within a nested directory structure and copy it to another directory. It was time to turn this idea into a tool. I started out by creating a simple form that would allow the user to select a file which contained a list of file names that were going to be searched for, select the directory that was going to be searched and then where the documents were going to be copied to.

The code behind the form

This was my first pressured programming experience, the deadline was very close and I didn’t have much of an idea of where to start. Getting all the buttons on the form to work seemed like a good start, and after a few initial hiccups with trying to select a directory in VB6 that will be searched, I was able to find a working solution for all the button click events.

The next part was the one that I thought I was going to struggle with; recursively searching for the file in each directory and its sub-directories. After a couple of hours of writing pseudo code and working with the VB6 file IO libraries I finally found an elegant solution. With the help of Derek and Todd I was able to implement the code that made it possible for the files to be searched and copied to the target directory.

I thought that was the tool complete but we still had some small bugs in the code. It was then time to run through and pick through every small detail and make sure that it was functioning correctly. The first problem we found was that the tool was still continuing to search after it had found the file, because we didn’t tell the program to exit and search for the next file in the list as soon as it had found the one matching the file name. Tracking down the problem was the hard part, but the fix was fairly easy once we had found it.

After a few more small changes I had created my first tool for Objektum Modernization. After tidying up the form it was ready for use.

The thought that I would have made a tool that will be used by a customer within the first year of starting my programming experience was something that hadn’t even come to mind. It made me realise that I am making good progress and I just need to keep practising and learning and it will not be long till I can contribute a lot more than just a simple tool to the company.

Tuesday, 10 April 2012

The History of Android


With the addition of our latest Android courses for Developers, Joe looks back at the history of Android and it's evolution to become the  best-selling smartphone platform... 

Palo Alto California, October 2003 was the birth of Android Inc. Andy Rubin, Rich Miner, Nick Sears and Chris White “secretly” worked on Android only revealing to the public that they were working on software for mobile phones. Not knowing much about Android at the time, on August 17th 2005 Google acquired Android Inc. This made Android Inc a wholly owned subsidiary of Google Inc.

23rd September 2008 was the day of release for the first Android device, the HTC Dream (G1) which had Android 1.0 on it.  Some of the features of Android 1.0 were:
  • That it was integrated with Google Services
  • Android market app downloads and updates.
  • Multitasking, instant messaging, Wi-Fi and Bluetooth.

The next major update was the release of Android 1.5 'Cupcake'. The update included:
  • Faster Camera start-up and image capture.
  • Much faster acquisition of GPS location.
  • On-screen soft keyboard.
  • Directly upload videos to YouTube and Picassa
This update was released in April 2009

Androids next up-date “Donut” was released in September 2009 and came with some very nice additions to the previous version:
  • Quick Search Box and Voice Search
  • Integrated camera, camcorder and gallery
  • CDMA Support
  • Multilingual Text-To-Speech function

As winter approached in October 2009 It was time for “Eclair” to be released. The changes for Android 2.0 were:
  • Multiple accounts for email and contact synchronization
  • Microsoft Exchange Support for syncing of e-mail
  • Bluetooth 2.1 support
  • New browser user interface and support for HTML5
  • New calendar features

May 2010 was the release of Android 2.2 “Froyo”. This update was packed with user friendly updates such as:
  • New tips widget for home screen
  • Improved Exchange support
  • Multiple keyboard languages 
  • Adobe Flash 10.1

The heart of winter brought out the “Gingerbread” Android 2.3. Communication was a focus in this update.
  • UI refinements for simplicity and speed
  • New keyboard for faster text input
  • One-touch word selection and copy/paste
  • Near Field Communication
  • Internet Calling

 February 2011 the first Tablet only update release, Android 3.0 “Honeycomb”, featured:

  • Specifically optimized for tablets
  • Refined multitasking, rich notifications, home screen customization and updated widgets
  • Bluetooth tethering
  • Built-in support for media/picture transfer protocol

October 2011saw the release of Android 4.0 “Ice Cream Sandwich”, which is the most recent release to date and updates included:

  • Enhanced speed and performance
  • Easier-to-create folders, with a drag-and-drop style
  • A customizable launcher
  • Ability to access apps directly from lock screen (similar to HTC Sense 3.x)
  • Better voice integration and continuous, real-time speech to text dictation
  • 1080p video recording for stock Android devices

These are just a few of the changes in each of the different releases of the Android operating system.The Android operating system is constantly evolving, enabling for greater things to be done on an android device. Android entered the market as a new mobile operating system in September 2008, in 2010 Android was listed as the best-selling smartphone platform worldwide. This is a huge statement of what Android is delivering.

Our latests Android courses for developers an technology managers and strategists can be found here. 

Monday, 19 December 2011

Web Content Life Cycle


 Joe teaches us what he has learnt about Web Content Life Cycles...

After spending some time looking over different people’s views on web content life cycles I have decided to put my own opinion out there. 

There have been vast changes in what is thought to be involved in the life cycle of web content. The way that I understand “Web Content Life Cycle” is the different phases that your content goes through from start to finish including the idea of it through to it being replaced. 

It all started with the idea of contents life consisting of two phases which were collecting and delivery. This would be writing the content and publishing it, nothing more that. There have been various other suggestions including the humorous suggestion of there being 15 stages to the web content life cycle. 

My opinion is very similar to that of CM Pros which is that there should be 6 main stages but each stage is broken down into a few different parts. These stages are:
Plan, Develop, Manage, Deploy, Preserve and Evaluate. 

Each stage is then broken down for example Develop, consists of Create, Capture, Collect, Categorize and Edit. By breaking down each stage means that each corner of the process is covered and the best content is delivered. 

I believe that not all content needs to be replaced regularly and that if content is good and strong with a few tweaks and updates it can stay good informative and strong. This goes with the stage preserve, updating and adding to existing content is a good way to keep it alive and not having to come up with new content to replace it. 

By using this method of updating and evaluating your content you can keep it as up to date, valid and relevant as possible. Having up to date relative content is extremely important as the more relevant your content the better for SEO purposes. Content will become outdated at some point and will need to be replaced to stop it becoming legacy content and it being useless. This is when the evaluation will tell us that it is time to replace the content with new fresh ideas and information.

Friday, 21 October 2011

Don't Try to Run Before You Can Walk - Understanding Existing Code


This week, Joe puts on his programming hat and straps his matching trainers but soon learns that it's hard to run before you can walk...

The most important lesson that I have learnt in recent weeks is that before I am going to change something I need to understand what it did before. It all makes sense now, how can you change something and make it better if you don’t understand what and how it did whatever it’s doing before? By not understanding what something does but trying to change it to make it better is the same concept as trying to run before you can walk. 


Spending hours reading over the same lines of code trying to put pieces together and understand what it is the code is doing and why has been one of the things I have struggled with most in my journey so far.

I have now realised that I don’t need to spend hours reading over the same lines but I can run through a section of code line by line and just comment in what each bit is doing. Derek and I spent a short amount of time looking at a few lines of code that I had been studying for at least 3 hours. I hadn’t quite grasped what was happening or why. Within minutes Derek had told me just to comment each line of code as we go through saying in English what that line is doing. By doing this I had started looking at a line individually rather than everything together which meant that I could now break the code down and understand it. 

I’ve started to deal with SQL queries with some of the different alterations I have been making over the last week. I came across one of our queries in the database which had a huge number of different sections and tables added and linked to it. Looking at a query of this size scared me at first as I had no idea where to start when trying to use it to gain the right information out of it. After actually reading through it, it became quite clear that all I needed to do was to select in the code the correct field of information that I wanted to know from the results of the query. 


By taking over a project that someone else has been managing for quite a long time puts me in the position of having to read, understand, edit and add to someone else’s code. From being able to do this successfully means that my knowledge of VB is increasing vastly. I am able to break down different sections of code that once upon a time I would have just shook my head at and walked away to now being in the position to have a quick look at it in a logical way and work out what is going on. 


My journey is always changing and always going in the right direction, UP! I am constantly learning and progressing in what has been a short amount of time but large amounts have been achieved. I have gone from an absolute novice to being able to work my way around VB with a little bit of class and make some quite simple but very beneficial programs and functions. I can’t wait to be telling you all in my next chapter in my Programming Journey.

Can you remember your first experiences of programming? Do you have any advice to give to those who are just starting out? Tell us here and let others know and pass on your wisdom to the next generation of enthusiastic software engineers. 

 

Friday, 14 October 2011

Steve Jobs' Golden Apple


The golden apple is featured in legends and fairy tales as divine food or a source of immortality. Steve Jobs retrieved the golden Apple in this story but it is his legacy which is immortal and lives on. Joe tries to uncover how Jobs shaped Apple...  

He's the man that people have been calling a genius in business and an inspiration. Steve Jobs was the co-founder of Apple and ran a very tight organization with high levels of secrecy, going to extreme lengths to live up to his perfectionist way of doing business and being involved with everything to do with Apple. 

Jobs was a workaholic who remained CEO of Apple up until 6 weeks before his death. Taking so much pride in his creations and working life meant that he inspired people he worked with. He had very controversial leadership style which made Apple what it is today. Being a perfectionist meant that it was up to Jobs' employees to live and work to those standards. He was all about user experience being the true top priority. This meant that any small visual flaws in design overlooked everything else and would be classed as failure. Employees said “By being both unreasonable and right, he taught us to create products to delight people, not just satisfy them.” Steve Jobs promoted his perfectionist attitude around Apple and forced it into work that was done for him and made people realise that the reputation of Apple was at stake with any work that was being done. 

“Loose lips might sink ships,” These are the words that were on the poster in Job’s office. The high level of secrecy within Apple was down to Job’s. He would insist on random phone and computer checks to make sure nothing was being leaked to the press about upcoming products which has meant that when a new product is coming out from Apple it is actually new not something that is awaited by the public. 

Steve Jobs is the man that has left an imprint on just about all of our lives in one way or another. He transformed so many different markets such as music and phones forever. Steve Jobs will always be looked at as an inspiration to countless amounts of people for a countless amount of things he brought to the world.

Tuesday, 20 September 2011

Joe's Database Delight


Joe becomes more of a computer nerd with each passing day.
 Trainee software engineer, Joe learns about databases and continues on his journey into becoming a real software wizkid...

The last couple of weeks have been a very steep learning curve in my programming process. I have had some intense lessons in things such as databases and VB6. I started to get a little more confident in my programming abilities, being able to make small functional programs that did simple task. 

I got to this stage and thought I was clean sailing from there and thought it would just be more of the same stuff for a while. Wow, was I wrong! I was given the on-going task of taking over and maintaining our in-house administration tool. This tool was made in VB6 some years ago and we saw it as the perfect project for me to expand my existing knowledge and give me the chance to work on a project that would actually be very beneficial to the company. The first thing that I did was spend a day just trying to get my head around the tool. It was totally new to me and the project just seemed huge. Once I had spent a day or two studying the code and which paths different functions were taking I started to understand how things were working a bit. 

The next step was to actually try and make some changes to it. The first couple of changes I made were very simple but all the same I thought I was doing amazing actually being able to change something for the better in a project of this size! All I was doing was changing the maximum amount of characters that could be entered into a text box. After I had made these changes I was given the task of automatically generating an email and populating it with a subject, a set of email addresses and with a body of text. 

My first lesson was a quick but informative lesson on databases. Derek and Todd ran me through how a database works, how they are linked together and how to call information from the database using queries. Once I had learnt that it was then time to try and pull everything I had learnt together and with a bit of help from Derek I managed to make the function that did exactly the right job that we wanted to achieve. I was so happy with the progress that we had made and that I had made a working function that would be largely beneficial to the company. 

This was not the end though. Although I had thought it was ready to be published and become part of the company’s in-house tool, I was wrong. We discussed making it into a HTML email. It was like being put back to square one again as I knew absolutely nothing about html emails. After doing some research and spending some time with Fiona we came up with the html email that we wanted to be in the body of the email. We then worked out that if we wanted to change the body of the email we didn’t want it to be hard coded into the function. We decided to make the function take the contents of a document which contained the body of the email so if we ever want to change the email we just had to replace what was in the document. 

So, there it was, my first big change to the company’s most important in-house administration tool. Needless to say I am very happy with what I have achieved over a short period of time and I can’t wait for what is next.

Needless to say, we're impressed with how much Joe has learnt since being with Objektum Solutions and proud to have him on the team! 

Thursday, 4 August 2011

The Journey Continues – Developing a Work Process

We needed to re-structure our website and make some drastic changes. Taking on the challenge, Joe, our webmaster and apprentice, worked with the rest of the team and learnt a lot on the way.... 

After spending the last two weeks working on transforming our website’s overall look as well as improving the descriptions of the products and services that we deliver, I have learnt rather a lot in a short amount of time about working with CSS and ASP. For example, making classes in the CSS to change the way images are being shown and where they are positioned as well as how text is being displayed. 

I have been working alongside Todd, our software engineer and Catherine, who’s responsible for marketing, to bring the new look of the website and the new content together. My knowledge for Dreamweaver has increased vastly in this short period of time as I have had to do things that I had never done before, from things that I have learnt from starting to learn programming I have been able to complete a lot of the processes that I have needed to do a lot quicker. I am now able to look at a web page in code form and know exactly what lines of code are doing certain things. I now understand how our database is connected to the website and how it deals with queries and what it is doing to return the correct results.

I spent the first 3 days constantly asking questions “How do I do this?” “How do I do that?” I’m not sure how I didn’t drive anyone crazy! After listening carefully and a bit of trial and error I picked up on where I was making my mistakes such as in CSS forgetting to put a semi colon at the end of a line and then wondering why the new class I had created was doing absolutely nothing! These small mistakes have helped me a great deal and have made me create a mental process to go through every time I need to make a new class.

There are valuable lessons like this which have made working on the website a massive part of my journey to learning how to program. I have been shown that there is a logical answer to everything, and that if I spend a bit of time and put in the effort the answer is not always as far away as I once thought.

Friday 22nd July was an interesting day. This was the day the website went live with all the new changes that had been made. Meetings were had to discuss what was left to be done and who was going to do it. I am lucky enough to have the role of implementing all of the work everyone else is doing such as writing the content. This means that I don’t have to sit there copy writing, which I don’t particularly like doing.

Some problems that we came across were simply due to different browsers not liking our changes which of course is always a pain when you have made a change that works perfectly in one browser then you test it in another and it comes out completely different. Todd had this with one of the changes he was making that even in the same browser but on a different machine he had different results! A nightmare to figure out but as always, he found the solution.
When the pressure to get something done is there the day always seems to fly and Friday was no exception to this. Before I knew it, the end of the day was closing in and everyone was concentrating hard trying to get their last bits of work done ready for the website to go live.

I had spent the last two weeks learning ASP and CSS almost non-stop while developing the website into its new state. The difference in my knowledge of ASP and CSS from the start of the two weeks to the end of it is unreal. One of the main things I have learnt from these couple of weeks has been not to ask every time that I come across something I don’t know, spend some time and work it out for myself because I actually know more than I sometimes think (not always though!)The answers can be found rather quickly if I think about what I am trying to find out. I have surprised myself with the amount that I have been able to get done in this short amount of time as some of the changes that have been made to the website are huge. 

I believe that this has been a great achievement for us and I know for a fact it wouldn’t have been achieved if the team didn’t work so well together and each and every one of us was dedicated to getting the job done. A big thanks from me to the team!

Our website changes are all live and you can find out more about our products and services here: www.objektum-solutions.com