anonymous tech woman

Yet another woman in technology blog. I'm actually a developer who uses a variety of Java and database technologies on a variety of platforms.

Friday, July 28, 2006

Kid's At Work

This artice, Kid's at Work, made me laugh. It was about a group of newspaper journalists bringing in their children aged from 2 to 15 as some sort of experiment of work-life balance.

For the older children I think it is a good eye opener to the world of work and actually more truthful than work experience because they got to see what someone actually did. In one case it appeared like person did nothing as shown by this quote:
"Behind us a girl turns to her father and says: "Dad, do you do anything? Because you haven't really done anything all day."




Technorati Tags: work, career, jobs

Thursday, July 27, 2006

How can I tell if I'll be any good as a programmer?

I remember doing a programming course at university which was basically a course on computer programming and theory using the C language. It was a hard course and most of what you learnt didn't click for sometime. Anyway lots of people got the stuff to "click" just before the exam and got a decent pass mark while the other half of the course where on the border line of pass/fail.

The Guardian has this technology article which discusses a paper from Saeed Dehnadi and Richard Bornat at Middlesex University which talks about giving students a simple test at the begining of a computing course to discover which students are likely to pass the course with ease and which are likely to fail.

The actual paper is called "The Camel Has Two Humps (a working title)" and is quite a interesting read. It discusses that whilst there have been numerous theories of selection to defeat the problem i.e. selecting candidates from Oxbridge, selecting only arts students, using A level scores none of these methodologies work. So the researches administrated a test they created themselves to students during an semester and then looked at their course exam results. They found those who could do the test were likely to pass their course.

This research throws up a whole level of interesting issues because:
1. The British Computer Society wants more people to train to become programmers
2. Recruiters use tests and selection criteria which they think show aptitude for programming but the tests could (after more research) be shown to discriminatory.

Technorati Tags: programming, learning, Software Development

Wednesday, July 26, 2006

Book Review: Agile Java Crafting Code with Test-Driven Development

Test Driven Development (TDD) is the development idea surrounding agile methodologies such as Extreme Programming (XP) and Scrum. The idea is to write unit tests for code before (or as it is) being developed. This is to ensure that the code developed actually works as expected and speeds up the development process.

This book is an introduction to some of the features of Java 5 and to TDD for newer Java programmers. The book consists of 15 lessons covering the use of JUnit, Ant and Java 5 in TDD using a educational based project and exercises for the programmer to do. The methodology used while TDD is not the same as using XP, Scrum or any other TDD metholodolgy.

The book while simple gives a good introduction to the merits and the use of TDD. However for some programmers this book is too simple as it covers simplistic Java ideas.


Technorati Tags: Java, programming, testing, Software Development, Agile

Tuesday, July 25, 2006

Book Review: The Girl's Guide To Being A Boss (without being a bitch)

Caitlin Friedman and Kimberly Yorio are public relations and marketing professionals who started their own public relations and marketing firm. They had to learn how to set up their own business and be bosses like other women without any positive female role models. Their first book was called "The Girl's Guide to Starting Your Own Business" while this current offering is called "The Girl's Guide To Being A Boss (without being a bitch)".



The book introduces itself by explaining that managing is hard and because women are not brought up expecting to be managers of businesses, there is a limit to the number of positive female managerial role models you will meet. This means they have learnt the hard way what doesn't work and what works when being a manager, sometimes making little mistakes on the way. Their book draws from examples and the experiences of themselves as managers, other female managers and other women who have been managed by female managers to show good boss, Good Witch, and bad boss, Evil bitch, behaviour.

The first chapter gives a quick summary of the good and bad points of being a manager, a list of some bad boss behaviour with examples drawn from films and a list of 15 things that must be done now that you are a manager. This list includes simple activities such as create a to-do list to the harder activities such as sell your accomplishments to those above you.

The rest of the book mainly covers how-to's, even though they are not called as such in the book. Each chapter looks more indepth at each how-to and the reasons why you should follow this how-to like in Chapter 3 in how to build a team.

Team building is sold on the premise that to suceed in business as a leader you need to build a solid team behind you to support you. This is done by working out who you have inherited and their position in the company plus what they will be looking for from you. You also need to be prepared to hire and train new staff members without playing mind games with them. The chapter gives a summary of what is expected of you by those you lead which includes support and respect, and how you should not be taken advantaged off by those you are suppose to be leading. This section ends with a discussion covering why not only men hold women back.

I found the book a short read with some revelant examples of good boss and bad boss behaviour. The down side of the book was that it had lots of repetition of simple ideas without real expansion in the explaination and some of the case study interviews I felt didn't go into enought depth of the subject matter that was being explored.


Technorati Tags: sexism, womens issues, politics, career, jobs

Monday, July 24, 2006

FUD

I was reading an article which was a retort to other articles stating JEE 5 has no future because it is now too complex, and it occurred to me (yet again) that nearly every technology I use has some sort of FUD comments made about it.

FUD is of course rumours or stories that spread fear, uncertainty and doubt used to stop non-technical users specifically businesses from changing from a well know business i.e. IBM to an cheaper newer alternative competitor.

Good examples include:
1. The IBM and SCO case
In this case SCO claimed that Linux kernel contained some of it's Unix code and filed a court case against IBM in March 2003 for patent breaches. Going after IBM threatened the smaller Linux distributions such as Red Hat and SuSE, and made some larger companies either give SCO money so they had compliant licenses e.g. Sun Microsystems or not use a linux distribution. However in a twist to the story Novell was suppose to have sold the Unix rights to SCO which SCO is suing IBM over. Novell deny doing this and actually own some Linux distributions themselves such as SuSE which are suppose to contain the infringing code. The main problem with the lawsuit is that SCO refuses to identify which parts of the Unix code that IBM copied preventing IBM defending itself, and Linux kernel developers changing the kernel so it doesn't infringe any patents. Due to SCO's refuse a judge earlier this month dismissed lots of the claims that SCO has made. The story is a case of FUD because SCO claims are not out in the open and it keeps changing the claims.

2. Comparing Linux Servers against Windows Servers
Every now and again a report comes out stating that Windows Servers are easier to adminstrate. The majority of the reports are done by companies that are paid for the report by Microsoft, and the reports don't give out key information such as the timeframe of the study, the qualifications of the linux administrators, the actual software installed on the servers. One analyst of such a report has been done by Paul Murphy in his blog. Unfortuantely the business managers who read such reports don't understand these issues and all they see is that Windows is more stable and cheaper to use when in fact in many cases it is the opposite unless you need specific Microsoft products.

3. Windows Genuine Advantage
This tool was released by Microsoft for Windows XP in March 2006 with a fanfare in the media. On the Microsoft site it claims that:

"Validation takes only a few moments, and enables Microsoft to create a match between your PC's hardware profile and your 25-character Product Key (located on the Certificate of Authenticity), which Microsoft stores and checks against future activation and validation attempts. We do this to ensure that your Product Key is not used by another person in a malicious manner, such as activating a counterfeit or non-genuine copy of Windows."

However there are a few issues with the tool that occured to me which is why I haven't installed it-
1. If I change or alter my hardware configuration that means my Windows XP license is not valid.
2. The site states it doesn't collect my name or email address yet nearly all software licenses are linked to a name/company name and email address. Therefore what does Microsoft do with my personal data?? In the UK I know what laws govern the use of personal data but as Microsoft is in a different country they are governed by different laws.

Since then I discovered news articles that indicate lots of people are having problems with the update. These include:
a. Being told a legitimate copy of Windows XP is pirated.
b. Not being told the full use of the software so it is in fact spyware as it is not being installed with the users consent.
c. The computer connecting to the Microsoft servers either on rebooting or every few days without being told this would happen.
d. Not being able to remove the tool while all other updates have a can be removed.

However the funny thing is there are lots of work arounds for those who have in fact got a pirated copy of Windows XP like this one.


Technorati Tags: FUD, linux, IBM, Microsoft, SCO, Windows Genuine Advantage

Friday, July 21, 2006

Street Crime and Tech Gadgets

Street Crime in the UK is on the increase. According to the Home Secretary, Mr Reid, this is:

“.. largely driven by a rise in the numbers of young people carrying expensive goods, such as mobile phones and MP3 players.”

Yet this report in The Times states:
"
But the figures disclose that other forces, including many in rural areas in England and Wales, reported significant increases. "

So at the moment I'm imagining someone in a rural village in
Gloucestershire such as Batsford walking down the street and getting mugged for their ipod. (I have friends' who were brought up in such places and I know such a senario is unlikely.)

There are mutiple reasons why the crime figures have shown that mugging has increased one of the old ones is that more people have been reporting lost gadgets as stolen to claim money on insurance, and teenagers are more likely to both be the victims and pertuators of crime on each other.


Technorati Tags: crime, UK Government, government, politics

Testing Systems on Users without their knowledge

There was an article in this weeks print edition of computerweekly that states that:

"The government and Whitehall are warming to a new way of testing complex new systems: trying them out on captive taxpayers, benefit claimants and patients."

The article goes on to point out that the Passport Office online application system was a test but users who submitted their applications that way and did not get a passport in return where not told about this suppose "test". When the users, members of the public, tried to contact the passport office they couldn't get through. It took a journalist to investigate the matter before the Passport Office informed all the online applicants to submit a paper application.

I have had the unfortunate experience of working on government systems and so have members of my family. The problem is that civil servants are motivated by internal politics to get ahead. They are not interested in supplying a decent service to the people who pay their wages and their benchmarks often reflect this fact. They also try and hide their ignorance about not knowing enough about technology, when in fact all they need to know is how they want to use a system and let some of the most junior members in the department who will actually use the system day-to-day test it. Government policy changes at the drop of the hat due to the mutterings of the tabloid press makes matters worse.


Technorati Tags: software testing, UK Government, government, politics

Wednesday, July 19, 2006

Pay and Gender Equality

I was reading as article pointed out to me by Slashdot
which is a study called Tech CEO Pay Doesn't Match Performance. It opens with:
"An analysis of the 100 largest technology companies finds that those with the highest-paid CEOs in 2005 had the worst returns."

The article goes on to illustrate that companies that pay their CEOs the highest have the worse performing CEOs and the poorest stock price. The author claims that this may be due to putting in place a CEO to turn the company around but others on slashdot have made comments that indicate the real truth is that CEOs are all about getting the most money as possible for a job by talking themselves up, squashing staff development and training and making staff under them work longer hours. And that most of these CEOs get their jobs on the golf course or by going to school with someone on the board which means that most women are out of the running. In fact the only CEO of a tech company I can think of is the former HP boss
Carly Fiorina.

Women in technology field always end up being paid less and lose out in their career. Lots of people mainly men make up excuses hat women don't ask for the pay but this is not true according to some of the mailing lists I'm on. What comes into play is that the tech field expects long working hours but women are expected by society to have children and look after them. In fact if as a woman you say to a man that you don't want children because of how society treats you and whatever other reasons you may have including you don't think you will be happy having children the majority of men have a fit, even though more men then women indicate in surveys having children hasn't made them happier. In fact having more than one child significately decreases the amount of happiness by a woman according to a study.


Technorati Tags:, ,

Monday, July 17, 2006

Second Life

There has been a lot in the media recently about a computer game called Second Life. So to see what all the fuss was about I set up an account 2 weeks ago. I have to say while this game may appeal to some it basically reminds me of an adult version of The Simms. I have found detailed reviews of the game - here and here.

Technorati Tags:,

Friday, July 14, 2006

Should I think of becoming a programmer?

Should I think of becoming a programmer is an article in the Guardian which highlights the supposed skills shortage, and yet again today I read in an article in Computing that states their is a skills shortage.

One of the main points in the Guardian article is that Trade magazines give the impression that:
"...the IT industry is mainly short of overeducated young people who will work for not much money. "

However the Computing article states that their is a skills shortage and due to offshoring the career path that people need to start at is closed.

So why do jobs advertise in the South East for people with at least a degree and 3-5 years experience and expect them to take a salarly of £25,000? Do employers truly think that recruiting someone, expecting them to work long hours under a psychotic manager, not have a family so they demand flexible working, pay them less then their equivalently educated peers and make them redundant when they reach 40 will entice young people into the industry?

Unless of course the employers are trying to recruit from overseas anyway and by advertising in the UK with salaries no one can live on is a way to let the government hand out more work visas because their is a skills shortage?

Well one thing I have begun to notice is that employers can get overseas labour but not all overseas employees are stupid and so happy to live in the UK once they realise that the salarly they are recieving means they are being exploited and cannot live at the similar lifestyle they had in their home country. I have worked with Eastern Europeans and Chinese people who are not so desperate to work here that they will leave their jobs if they are being exploited. Also it news is coming out of India that the turn over for staff in the outsourcing companies is reaching the same standard as in Western countries.


Technorati Tags:, , , ,

Thursday, July 13, 2006

Portlets

Due to submitting some Portlet code for an interview I am looking at the background of portlets which will help me explain how the code works. I found a link to Manning where first you sign up for a free sandbox account and then can download a free ebook on Portlets. There is also the JSR 168 specification. I have found a white paper from Sun on the specification.

Anyway below are the basics from all the different sources I've looked at.

What are Portlets?
There are lots of definitions stating that portlets are puggable user interface components that are managed and displayed in a Web Portal. A Java Portlet is a Java Servlet that operates inside a portal. It processes requests from a portlet server and generates dynamic content.

A Web Portal is a site on the web that provides personalisation capabilities. It provides capabilities such as personalisation, single sign on and aggregation of data from different sites so it is displayed on one site, the web portal.

A portal server provides common services such as application connectivity, integration, administration, and presentation that would be required across all portal environments. Functionally, a portal server serves the portlets to the user.

Advantages
  • Render JSP pages and subclass the Servlet API so developers who can write servlets and JSPs can easily write portlets.
  • Build in support to automatically render different JSP pages depending on device
  • Ability to handle messaging and events
  • Customerisation both on a user group level by an administrator, and a user by user level by the user.

Disadvantages
  • Complex user interfaces do not translate well to portlets as portlets render JSP pages on many devices certain scripting languages don't work on every device.
  • User interfaces containing constantly updated material will not work well with portlets as when one portlet is updated all portlets on that page are updated.
  • Highly interactive user interfaces do not translate to portlets as if you change one thing you will have to redraw the entire portlet page or use a scripting language to redraw the page.
  • Portlets need to live within their "box" as pop up boxes and frames are not allowed. For example if a portlet takes you to a link outside the portal then it is hard to get back to the portal.
  • Portlets are not fully standardized so if you develop code for one portlet server it may not work on another server.
  • Portal Servers use lots of memory
JSR 168
This specification is suppose to standardise how portlets are to be developed on different portal servers. It covers:

Container Contact
Methods-























init() called when the portlet is inistantiated by the container
destroy() called when the container destroys the portlet
processAction() called after user submits changes to the portlet
render() called whenever the portlet is redrawn by the desktop
doView() called by render() when the portlet is in View mode and contains logic that displays the view page of the portlet.
doEdit() called by render() when the portlet is in Edit mode and contains logic that displays the edit page of the portlet.
doHelp() called by render() when the portlet is in Help mode and contains logic that displays the help page of the portlet.

Portlet Mode and Window States
There are three main portlet modes:
  • Edit
  • View
  • Help
Plus optional portlet modes such as print, which lays out a portlet for printing, and config, that lets an administrator configure portlets for groups of users.

The render() method uses the portlet mode to decide which lower level method to call.

There are 3 window states
  • Minimized
  • Maximized
  • Normal
The window state indicates the amount of portal page space that will be assigned to each portlet.

Portlet Preferences
Customised behaviour for users or groups is stored as a name-value pairs in using the PortletPreferences interface.

Packaging and Deployment
Porlets are packaged as Web Archives (WAR) files
like other J2EE applications. Portlets have their own deployment descriptor, portlet.xml, which describes standard elements for portlet configuration.

Security
The portlet.xml lets a flag be turned on that restricts portlet access to HTTPs. The JSR 168 also states that vendors can add authentication to query user information by role or group.

JSP Tags
Portlets have their own tag library.


IBM portlets
IBM has addition functionality compared to the portlet specification JSR168 these are:
Request/Response Object
The request/response object that the portlet receives in the render call is the same as the one received in the action call there as in JSR 168 these are two different objects
Portlet communication
Events can be sent between portlets in the same page which is not in the JSR 168 spec.
Portlet menus
Lets the portlet contribute content to a menu bar to facilitate navigation through portal pages which is not in the JSR 168 spec
Invalidation based caching
Lets the portlet explicitly invalidate cached content which is not available in the JSR 168 spec.

JSR 286
This specification now up to version 2.0 is currently under review. This specification incorporates J2EE 1.4 and integregates any other JSRs relevant for portlet development.

Wednesday, July 12, 2006

Interviews

I'm currently interviewing for different positions and have build up a wealth of resources. They vary from the technical - Java Interview Questions to the behavioural - Sample Behavioral Job Interview Questions.

While I found that practising answering the behavioural interview questions really good practising with the technical interview questions only covers a limited area. The best method I have found to practise for technical questions particularly for Java is to find a certification book and read it, and look at the API to learn quirky features. Also practising coding to ensure you understand the certfication book helps because you are often asked to write code in interviews. Database questions normally consist of being asked about connecting to the database, simple features of the database, different join types or queries. J2EE questions involve being asked about specific features you have used at work. Linux/Unix questions involve being asked about search files for words, finding the differences between two files and knowing some of the commands from vi or emacs. (As I posted before the last part is actually redundant because the majority of linux systems have a great GUI with textpad editors or an IDE.)

I also found this article which summarises preparing about for a Software Engineering interview. The main points in the article are:
1. Practice using the same medium (e.g. paper and pencil) and time limits (e.g. 30 minutes) as the real interview
If you are finding a job through an agency they will give you as much information as they can about the technical test. This means they will tell you whether it's a pencil and paper test or a series of questions. They may also give you example questions. If you find the job yourself you can ask for information but it seems that most employers expect you to know the stuff they use and have some knowledge of quirky features because that is what they use all the time. They seem to forget that J2EE, linux, Unix and SQL covers a wide area.

2. During the interview, don't obsess over little mistakes that happen.

This is a good point. In real life you would be coding with reference books, the internet or an api.

3. Don't be rude to your interviewer.
This is commonsense. Be polite to everyone you come across including the receptionist and security guard. Some of these people are really friendly with other staff in the office, and if a manager is not certain about you they will ask these people their opinions.

4. Don't hijack the interview.
This is a behaviour point. Most software development is done in a team envirnoment and communcating with people involves talking and listening. The majority of tech people have the problem they don't like talking but if you practise with friend's particularly a friend with the gift of the gab you will improve.

5. When answering questions expecting a specific answer, give a high-level summary first.
Some recruiting people don't do that themselves because they are so engrossed in their business.


6. (Not as important) Wear something comfortable to your interview. Business casual is the most typical.
This is actually important in a lot of places as you want to look like you are trying to make an impression and seriously want the job. You need to wear a suit if you are a guy and a suit if you are a girl. However don't go overboard with your suiting keep it plain and simple. I have worn dresses to interviews but technical interviewers don't seem to like them.

Tuesday, July 11, 2006

Business Rules

Fortune Magazine has published the new rules of doing business. Compared to the old rules these are:

New Rules vs. Old Rules
1 Agile is best; being big can bite you.
Big dogs own the street.
2 Find a niche, create something new. Be No. 1 or No. 2 in your market.
3 The customer is king. Shareholders rule.
4 Look out, not in. Be lean and mean.
5 Hire passionate people. Rank your players; go with the A's.
6 Hire a courageous CEO. Hire a charismatic CEO.
7 Admire my soul.

The one that obviously gets me is hire passionate people. Most of the companies I worked for ranked people. By ranking this meant givng people who sucked up to the boss and played company politics higher rankings than those who actually did their job well and got on with the rank and file.

End of Support for Windows 98 & the most influential.

Windows 98 and ME are no longer supported by Microsoft as of today. What does this mean?

Well the few people I know (I can think of 2) who have Windows 98 PC's cannot get security updates. I don't know anyone who has Windows ME because the only people I know who had it installed Windows 2000 on their computers because they found ME a very bad Operating System.

On another note today I voted in ComputerWeekly's survey to find the most influential person, software, company and hardware in the last 40 years of computing.

The choices for person included Bill Gates, Linus Trovalds and Tim Berners Lee. Companies mentioned where IBM, Apple and Microsoft. Software included spreadsheets, email and html . (Yes I know HTML is actually a programming language). Hardware included barcodes, routers and the PC.

Friday, July 07, 2006

Quick Kill Project Management

I have been going to interviews where I' m being treated more as a senior developer mainly due to asking for more money and actually knowing what I'm talking about due to having suffered working under different methodologies i.e. waterfall development and XP programming. I came across this link to an article called Quick-Kill Project Management. The aim of the article is illustrate that even on a tight schedule Project Planning methodology shouldn't go out of the window.

Monday, July 03, 2006

Practising SQL

The majority of the SQL I use is CRUD (create, read, update and delete) and depending what job I'm doing I can easily forget simple commands such as when to use group by, having, sum and count. After doing a search I found this little tutorial on select statements which has an interactive command line and therefore can do some simple practise.