• January 11th, 2010
  • Anritsu
  • xplorem1

It has been a few months since I last posted and a lot has happened in that time, so I thought it was about time to post an update.

In November we started to be given more development work to do, up until that point we had been doing mostly testing, which was getting a little bit boring, to the point that myself and James included really did not look forward to coming to work! The development work mixed things up a little bit, we were given small tasks working on the live code for the application. We were allocated tasks and then sent off to work on them. Anritsu is a very specialised company so a lot of the code we were seeing was very specific to the product. This meant that very little of it made much sense to us. It was a massive step up from anything we had touched on in university, before now any ‘project’ we had looked at consisted of at most a dozen classes, we were now looking at a whole application consisting on hundreds of classes. Researching any given task we had might involve looking through 15 or so classes and digging deep into the core parts of the system to find out what the problem was. It was confusing and complicated and we found ourselves having to ask for help a lot as we just didn’t know what most of the classes did. One thing I have noticed is the apparent lack of a documentation standard for code. Some people seem to comment their code well to javadoc standard whereas others seem to put in minimal comments that would only make sense to the person writing them. This is not particularly helpful since some of the classes were written as far back at 2004 and the author has since left the company!

Despite these set backs it was nice to finally be working on some code and not just testing. A lot of what we did at university was helpful (the basics of java) but it was apparent that there was ALOT we did not know. Studying for our SCJP has been extremely helpful, working through this book has already taught be much more (in-depth) about the Java language than I ever learn’t at university. For the exam we have to know the java language inside out, not just what is good practise but what would and wouldn’t work no matter how it is written, even if no one would ever consider doing it!

One piece of code that I found very helpful during the development work was the line e.printStackTrace(). You would use this where you have an exception clause. It prints out the trace of method calls leading up to an exception being thrown. It is very helpful for tracing problems such as NullPointerExceptions. This is the sort of thing we never learn’t at university because the projects we were working on were so small, nothing like this was needed. One thing I have realised from working here so far is how much different programming is when it is on a large scale. When there are thousands of lines of code in an application , debugging and finding problems as well as figuring out how the hell the system works in the first place can be very difficult.

Gradually as we did more and more development work the code and how the program worked became slightly more familiar. There are still a lot of things I don’t know about the code and the practises but I think I am getting there! I feel like when I am explaining a problem I am having to my other team members I am able to convey what I mean more clearly and I am able to get more involved in discussions as I understand much more what is going on.

Just before Christmas we had a bombshell dropped on us. Anritsu seems to be undergoing some changes within its structure. A lot of new people appear to be joining and they have decided to change my team around. We don’t have any new members as yet but as I understand it, we will be getting at least one new person at some point.

Anyway, they are restructuring our team into two key parts. The Engine and the MMI (the two key parts of the program). Our current team leader is going to ‘head up’ the lead for the MMI and we have a new team leader overseeing the whole project. Our old team leader was really good, very friendly and approachable and seemed to be doign a great job, so it has come as a shock to everyone. He is (understandably) very disapointed, as he was only in the role for a year or so. The new team leader knows very little about the product we work with.

Since this change, we have noticed things have changed. The mood within the team is not great, specifically David our old team leader seems quite unhappy in his job now.

With all this change happening, people seem to have largely forgotten about me and James, we havn’t got much work to do, we don’t seem to be getting allocated anything either. Whatever we are given, just seem to be filler tasks until they can think of something better to give us. Our new team leader has no idea what level we are at therefore he cannot give us any tasks to do. I am currently waiting for someone to e-mail me back regarding a problem and I have no other work to be getting on with.

I’ll be honest here, I’m not really enjoying this placement very much so far. I am starting to think programming is definately not for me. I think I might prefer a more business/marketing based role. I am quite good at programming but I just don’t enjoy it, and i certainly don’t want to be stuck doing a job i don’t like for the rest of my working life!

  • October 08th, 2009
  • Anritsu
  • xplorem1

About 2 weeks ago, myself and James were asked to write a small utility that would take progress messages produced by the RTD product and write them to the console output. The messages currently have no way of being viewed so a quick utility was required to do this.

Over the week we designed and wrote a utility to do this. We needed to take an odb database, extract the necessary information and print it out. We had never experienced working with JDO (Java Data Objects) so this was a great task and our first bit of proper Java coding. We completed the task after a bit of trouble figuring out how to connect and extract information from the database.

We tested the finished utility and ensured that no errors were produced during runtime. The utility we developed is being sent out to customers who require the fucntionality it provides. It was a good feeling and great experience to produce something (even just a small utility) that is actually being sent to customers!

I am hoping to write another post soon with some more information on JDO and how we completed the task.

  • October 02nd, 2009
  • Anritsu
  • xplorem1

I have been quite busy these past few weeks so havn’t had a chance to post much but I thought I would give a quick overview of the product I am helping develop at Anristu.

The team I am working on is called the RTD tool team, the RTD (Rapid Test Designer) is the product we work with.

A base unit is produced in Japan however European customers require more complex functionality than the base unit offers, in the UK we write a software implementation that runs on the base product to bring it up to the standard required by European customers.

The RTD is a product which allows customers to create, execute and analyze tests for their devices. Users can test specific functions and protocols within the UE without having to be an expert on all the protocol layers. It has an intuitive graphical user interface which allows tests to be run in a fraction of the time taken for traditional methods. After tests are completed, the RTD matches criteria against actual performance and reports on the success or failure of each criterion.

The basic RTD system provides a simulation of a W-CDMA/GSM network with up to four W-CDMA cells and one GSM cell. The RTD system consists of a personal computer running a Windows OS connected to the Anritsu MD8480 W-CDMA Signaling Tester (system simulator).

See http://www.anritsu.co.uk/products/default.php?p=155&model=MX786201A for more information.

  • October 02nd, 2009
  • Anritsu
  • xplorem1

I am going to write a short post about what Anristu actually do, very few people seem to have heard of them, however they are a worldwide company who have had their hands in alot of top technology.

Anristu is a Japanese company in the test and measurement product market. The company is over 100 years old! In 1990 the company aquired the US company Wiltron to expand into a global market. In 2008 they had net sales of 84 billion yen. They have approximately 3700 employees in 20 countries. European headquarters are in Luton (which is where I am working).

A bit of history here, the Annaka Electric Company (one of two companies which would later merge to form Anritsu) produced the worlds first wireless telephone service and Japan’s first automatic public telephone!

Anristsu’s customers are typically telecommunications companies such as QualComm and Sony Ericcsson.

Their two main technology areas at present are 3G and the new technlogy LTE (Long Term Evolution), which is cutting edge technology not yet available on the market! It is great to be working for a company that are pushing the boundaries and moving into new areas of technology.

Before 3G and LTE they worked with GSM. GSM (Global System for Mobile Communications) is the most popular standard for mobile phones in the world. Estimations state that approximately 80% of the global mobile market use it, so roaming accross countries is common allowing people to use their phone almost anywhere. Signalling and speech channels are digital, so GSM is considered a second generation (2G) system. This subsequently meant that it was quite simple to build data communication into the system. GSM was also responsible for an alternative to voice calling, SMS (short message service), which has become an extremely popular feature! One thing I did not know until researching this standard was that it incorporates a worldwide emergency telephone number, 112. It allows people to contact the emergency services no matter what country they are in, without having to know the local emergency services number!

GSM provided the foundations for something called 3GPP (3rd Generation Partnership Project), which is a collaboration between groups of telecommunications associations, to make a globally applicable third generation (3G) mobile phone system specification. 3GPP defines the standard for mobile broadband.

LTE is the next big thing in mobile communication. It is the last step towards the 4G (4th Generation) of radio technologies, designed to increase the capacity and speed of mobile telephone networks. LTE is a set of enhancements to the Universal Mobile Telecommunications System (UMTS).

The LTE specification provides downlink (download) peak rates of at least 100Mbps and an uplink (upload) of at least 50Mbps (Mega bit per second). Part of the standard is the System Architecture Evolution, a flat IP-based network architecture (all next generation networks are based upon IP (internet protocol)) designed to replace the GPRS core network and ensure support for non-3GPP systems. The main advantages of LTE are high throughput, low latency, improved end user experience and simple architecture resulting in low operating costs.

  • September 10th, 2009
  • Anritsu
  • xplorem1

We have just finished doing our Interim builds (which is a build of the software that goes out to customers). We ran into quite a lot of problems as usual! Most of the problems we encountered involved having to edit batch and properties files. I have never really worked with these types of files before so I thought i’d post up a little information about them.

In Microsoft Windows and DOS a batch file is a text file which contains a series of commands to be executed by the command interpreter (command line). When you run a batch file the shell program (cmd.exe) reads the command, normally line by line, and executes them.

They are useful for running a series of executable commands automatically and are often used to automate tedious processes. In DOS a batch file has the extension “.bat”. When you read through a batch file, you can see the indivudual commands as they would be typed in the command line.

A properties file has the extension “.properties”. It is mainly used for files in Java related technologies to store the configurable parameters of an application. Each parameter is stored as a pair of  strings, one storing the name of the parameter (called the key), and the other storing the value. The format would be written like: key = value.

Each line in a .properties file normally stores a single property. .properties files can use the # or the ! as the first non blank character in a line to denote that all text following it is a comment. The backwards slash is used to escape a character.

  • September 07th, 2009
  • Anritsu
  • xplorem1

Today hasn’t been the busiest of days, which I guess is okay soon as its a Monday. I finished building my development environments after running into a few problems compiling some files. Had to edit some batch and XML files, changing a few file/folder references here and there. Nothing too serious. Having solved all the problems and finished the build, myself and James updated the existing documentation (which was very out of date!) so that others following it would not run in to any of the issues we did.

We are now beginning on something called an Interim Build Process, which as yet, I have no idea what it is!

  • September 04th, 2009
  • Anritsu
  • xplorem1

I have decided that I am going to keep a diary of my experiences at my work placement year at Anritsu Ltd. The placement is part of my Computer Science degree at the University of Hertfordshire. I hope this account will be read by people who are thinking of doing a placement year or those who are just interested in the sort of thing that goes on at work in the real world!

I started on 1st September 2009 and it is now Friday so I have been here for 4 days. So far I have not had a great deal to do because the team I am working in have a project deadline coming up, so they are busy trying to finish their work. Myself and James (also a placement student from Herts Uni) have been reading a book on Java (the language we will be doing most fo our work in). We have been told to study this book as we will be sitting the Sun Certified Java Programmer qualification. We ahve also been told by someone who has already done it, that it is harder than any exam we will ever sit at uni! So not exactly “light” reading. As well as this we have done all the necessary health and safety nonsense, but I suppose its got to be done!

Today has been a slightly more interesting day, we have a task to set up our development environments by following some documents we have been given. We were told we must update these documents with any difficulties we may experience as they have not been maintained very well. So far everything in the document seems to be completely wrong so we have been guessing our way through alot of it. I have already come accross alot of comcepts and programs that I have no understanding of! I will write about these in a later post, as this blog is also designed to be a reminder for myself of what I have covered.

I have also started drinking coffee, now I feel like a proper office worker! ;)

Phil