TSS Symposium Preview – Throw Away All The Rules. Now What Process Do You Follow?

I'm Speaking at TheServerSide Java Symposium As previously mentioned, Scott and I are both be presenting talks at TheServerSide Java Symposium in March. In preparation for the conference, we are providing sneak peaks of talks this week on the blog.  Scott gave a sneak preview of his GWT lecture.  He has so much information it didn’t all fit in his slides!

I’m giving a talk titled Throw Away All The Rules. Now What Process Do You Follow?” Here are just a few points from my upcoming conference talk:

  1. Testing – for anyone who knows me it isn’t a surprise that I consider regression critical.  But it isn’t always easy to get started.  And yet, the pain of not having it is large.  See how a testing strategy can evolve.
  2. Deployment – a repeatable deployment sounds like a corporate bureaucratic thing.  Yet knowing what is in production and how to get there quickly is an agile concept.
  3. Leader – Note I said leader and not project manager.  Even if you don’t have a project manager, someone needs to be running the show.  Or in the case of Scrum – the team is the leader.

Hope you enjoyed this sneak peak of my conference talk.  For more, consider coming to my session at the conference. If you register with the coderanch discount code, you can save $200.

a virus encounter

Due to my struggles with Open Office Impress, I decided to take advantage of Microsoft’s at home use program and install Office 2007 on my home computer.  Short story, I had a dormant virus on my machine that showed up as soon as I installed Office 2007.  This reminds me why I avoid Microsoft products like Internet Explorer – way too tightly coupled to the operating system.  Longer story:

Symptoms

Right after I installed Office 2007, my Windows XP computer started exhibiting a number of odd problems:

  1. Took 30-45 minutes to shut down the computer
  2. When downloading an attachment from Firefox, Firefox hangs.  Killing it in the task manager and re-launching Firefox keeping the tabs intact indicates the file is still downloading and it completes.
  3. Starting postgres via a shortcut opens a DOS window saying “starting” and hanging.
  4. Starting the postgres process in Services gives:

    Error 1053: The service did not respond to the start or control request in a timely fashion

  5. Internet Explorer does not open.  (I can’t say when the last time this worked was.  I only tried in hopes I could use the Windows Update site.
  6. Add/remove programs shows an empty list.  (Meaning I can’t uninstall Office 2007)

What I unsuccessfully tried to fix it

  1. sfc scan now from Yahoo answers
  2. Running three registry commands from Microsoft knowledge base (also mentioned at Yahoo but I wasn’t about to touch my registry on the advice of a third party site.)  The first gave an error, the other two ran.
  3. Microsoft’s registry fix.  I was able to download it (painfully), but got “install server not responding”
  4. Avast full scan – it hung on the file “c:\windows\system32\drivers\acpiec.sys” about 10% through my hard drive.

What finally worked

Avast’s boot time scan is supposed to run before the drivers are loaded.  Since there was clearly an issue in the driver directory, I decided to try this.  I still didn’t think I had a virus at this point.  The problem CLEARLY showed up right after installing Office 2007, making it Office 2007’s fault, no?

I tried a few times to run the boot scan.  This took a while because each shut down took so long.  And the first two were “unsuccessful shutdowns” where Avast didn’t get the cue that it was supposed to run before Windows launched.

Luckily the boot scan logs everything it finds so you don’t have to watch it.  The process ran for a number of hours and then logged to C:\Documents and Settings\All Users\Application Data\Alwil Software\Avast5\report.

The boot scan found a few corrupt zip files (Apache ant documentation, some class file jars) and a bad Open Office OLE file – all of which it logged and ignored.  It then found seven infected files.

Infected by “Java:Jade-“

Avast says this is caused by old Java exploits.  I don’t think these are a problem and am virtually certain they aren’t the cause of my issue.  However since they are in the cache and I hardly use NetBeans, I just deleted them.  (I use Eclipse for development.  NetBeans is only installed for the FIRST robotics plugin code.)

File C:\Documents and Settings\me\Application Data\Sun\Java\Deployment\cache\6.0\19\66c54313-5302a8c6|>c.class is infected by Java:Jade-A [Heur],

File C:\Documents and Settings\me\Application Data\Sun\Java\Deployment\cache\6.0\52\59ec2974-343db254|>vload.class is infected by Java:Jade-C [Heur], Deleted

Infected by “Win32:Alureon-KG”

Microsoft describes this trojan as being responsible for a range of harmful activities.  None of them look particularly relevant to the problem I’m having.  But they are in a temp directory so no harm in seeing them go.

File C:\Documents and Settings\me\Local Settings\Temp\encrawsxmo.tmp is infected by Win32:Alureon-KG [Trj], Moved to chest
File C:\Documents and Settings\me\Local Settings\Temp\masneowxrc.tmp is infected by Win32:Alureon-KG [Trj], Moved to chest

Infected by “Win32:Malware-gen”

This isn’t good but I don’t have any Symantec products installed anymore.  I switched from Norton to Avast over a year or two ago.

File C:\Program Files\Common Files\Symantec Shared\CCPD-LC\symlcrst.dll is infected by Win32:Malware-gen, Moved to chest

Infected by “Win32:Malware-gen” (part 2)

Eureka! Two dlls are infected by something.  I don’t know which of these was the root cause of my problem, but it was clearly one of them.  I went to check what each of them are for since removing a system file is risky.  dkvcm.exe is a known virus file.  I couldn’t find anything on the dll good or bad.

File C:\System Volume Information\_restore{202550A8-7A33-4BCA-9586-051D24DDBF8F}\RP1238\A0204372.dll is infected by Win32:Malware-gen, Moved to chest

File C:\WINDOWS\system32\dkvcm.exe is infected by Win32:Malware-gen, Moved to chest

Conclusion

I seem to have had a virus lurking that came to life when I installed Office 2007.  Thanks to Avast, all the symptoms are gone now and my machine is back to normal.

why do i blog?

.. and I could not think of any reason why I would want to give free information to the anonymous general public.

I asked a colleague if he had a public blog and this quote was from his answer.  (used with permission.)  We both blog at work so I was a little surprised to hear that.  I thought about replying, but it makes a perfect blog post.  So here we are.

Why did I start blogging?

I’ve been posting at JavaRanch/CodeRanch since 2003.  I had thought of starting a blog but didn’t feel I would write often enough to warrant one. In 2008,  Scott asked me to be a contributing author on his blog, selikoff.net.  Fifteen months ago, he invited me as a co-author.

Why do I enjoy blogging?

I like to write.  I like to share knowledge/ideas/information.  I still don’t write often/regularly enough here to warrant having my own blog.  But that’s ok.  Scott and I provide a nice balance and variety of topics.  I even got an iPad so I add Apple topics too.  I also have an internal corporate blog which I write to about twice a month.  I use this one for my general information/JavaRanch projects/robotics topic.

What do I get out of blogging?

Pretty much the same things I get out of JavaRanch:

  • the opportunity to share information – I noticed very little information on the Core Spring 3 certification so I added a lot after I took the exam.
  • the opportunity to help others struggling with a problem – I encountered some surprises while setting up the BlackBerry simulator so I wrote about it to help others.
  • the opportunity to get feedback on ideas – or give.  One of our top five blog posts of all time is my reply to Kathy Sierra‘s tweet stream about female programmers.
  • the opportunity to interact with other strong technical people in the field
  • the opportunity to get corrected in a “safe” setting (it’s not like work where you are going to get in trouble for taking a risk) so I can learn more
  • a place to post things I know multiple people will ask me so I don’t have to keep writing answers to the same questions – whether it is a tool choice for Subversion or why you need to defend the code, it is write once and read thousands of times.
  • respect as a strong technical person
  • surprise opportunities that I never would have expected like quoted on the back cover of EJB 3 in Action, being a reviewer on the OCPJP certification book and being a speaker at the upcoming Server Side Java Symposium (extra $200 off with the code listed here.)

I wrote this list as a stream of consciousness thing and then went back to add examples.  I’m pleasantly surprised how many times I used the word opportunity.  I was also excited to see that each thread I linked to as an example has at least two thousand hits.

Why the quote surprised me

A few key words jumped out at me.  Let’s look at them one at a time.

  1. “free information” – Have you ever googled an error message?  Many of the hits that come up are blogs or message boards.  Granted some of them are people who are paid by Oracle/IBM/etc to be there.  But most are not.  They are people sharing free information.
  2. “anonymous” – Networking is all about talking to people you don’t know.  In the real world, you walk into a room and there are many people who quietly listen.  Which is fine.  Then there are the leaders who make things happen.  You get to meet more of those people if you are contributing information to the larger tech world.
  3. “general public” – Having those connections to people I don’t work with is incredibly valuable.  This is more so for JavaRanch than this blog.  Although I do think the amount of reputation/goodwill I have built up come from both.  When I am stuck on something, nobody I work with knows what to do and I really need help, having those contacts is priceless.

Culture differences

I work for a bank where intellectual property comes up as a term.  I am very careful not to let any work information/projects leak out.  (That’s why I have a work blog; for the things I can’t make public.)  Sometimes I’ll play with a tool/technology at home first so I can blog about it here.  Or sometimes I’ll play with something home because I want to try it out before a conservative place like a bank gets to it.

I do understand the feeling of not sharing information with the “outside world”.  But that’s for information that my employer owns or pays me to learn.  For things I do on my own time, why not?

Conclusion

I enjoy blogging/information sharing and I look forward to continuing to do so.