Friday, December 9, 2011

Looking for a replacement software app?

 Try Alternative To for your software needs.  Don't like Microsoft Office?  Need a free drawing application.  Want to find out what your options are for media players?  Look here, enter a name and see a list of applications that do the same thing.

Thursday, December 8, 2011

Up on the soap-box: Extending Unemployment Benefits

I've been meaning to write about my frustration with extending unemployment for some time.  I can complain about extending unemployment because I was on it for 7 months after being "laid-off" from a job.  Anyone that thinks you can't find a job without having 2+ years of unemployment available to you is just being unrealistic.  Yes, it's a difficult market.  Yes, you may have to take a paycut.  And yes, you may have to do work you wouldn't normally want to do.  But there is work to be found.  You have to be willing to look to find it.

I am so fed up with hearing out "President" talk about how unemployment benefits can spur the economy.  Really?  I was getting $415 a week, with no taxes being taken out.  And that's the max you can get here in Kentucky.  I have a house payment, insurance, car payment and other bills to pay out of this "benefit".  Do you think I went out and bought a new TV, computer or clothes?  Nope.  We actually worked hard on either paying off debt or making changes around the house that would lessen our monthly bills.  If it hadn't have been for savings and my wonderful wife being able to work overtime (TONS of overtime to be honest.  She's a saint for doing that), we would have lost everything.  I don't know how people are living off of this amount or less of money a week.  But I guess they do.  And I guess that is all they want to strive for.

I was amazed at the amount of people not willing to look for work or make changes to their life.  My wife and I went together one day to the unemployment office.  She, like me, was appalled at the people who flat out said they were not going to look for work.  They just wanted their "check".  You only had to show that you applied for one job a week to continue getting your "benefits".  Many didn't even want to do that.  I did have some who were really looking for work like me.  I had my list of 10-20 jobs I had applied for with me as they did.  And the comments we got from some of the people was that we must really want a job.  Of course we did!  I even had one person tell me that he was not willing to take a pay cut, so he would continue to take his "benefits".  Crazy!  As long as I was getting enough to cover my bills, I would be happy.

So, does continuing to give "benefits" to people who aren't looking for work make sense?  Nope.  For many of those out there it won't make a difference if you give them 1 year, 2 years or 20 years of "benefits".  They still will not work.  By the time about 6 months had passed, I had decided that if I had to work nights stocking shelves, that's what I would do.  I was fortunate enough to have someone contact me about a job.  Yes, it was delayed because of the earthquake in Japan, but it did finally give me work.  I got on me knees and thanked God for the work.  I was blessed with working for a great company and even make more than I did before. 

There are jobs to be had.  You have to be willing to look and take a job.  It's amazing how people don't want to work.  Just sit on their behinds and take a meager handout.  The company I work for now is trying to add people to our department, but they either show up not ready to truly interview for the job or they just don't show up at all.  You want to motivate people to work.  Only give them about a year of "benefits" and they should be motivated.  Stop giving everyone a handout and you'll be amazed on how many will step up and work.  Stealing for an old Smith-Barney commercial, in order to get ahead in this life you have to do it the old-fashioned way.  You earn it by working and not taking handouts.

Wednesday, November 23, 2011

Lotusscript Scheduled Agents Run Afer Design Refresh

So, you go into designer and make a change to that huge agent that runs at 2am and imports 100,000 records from an external source.  Then, like all good developers, you push your update from your design template to the production database.  And a few minutes later, everyone is calling your Helpdesk because the file is running slow.  A quick check of the server and you find out that the agent started running for some reason.  Surprise!  It's an "undocumented" feature! 

What is happening is that after the agent is saved and put into your production database on your server, the information for that scheduled agent has run today is cleared out -- so it runs again.

So how can you stop this frustrating issue?  Add a notes INI file setting to your server:

Amgr_SkipPriorDailyScheduledRuns=1

This should stop your scheduled agents from running wild after you make adjustments to them.  This is a new feature starting with Domino 7.

If you would like to read more about this issue, look at this IBM link:  https://www-304.ibm.com/support/docview.wss?uid=swg21099248

Friday, November 11, 2011

Compare two Notes Databases

Have you ever found a need to check the records within two Notes databases (say two versions of your mail file)?  The below code will do that and place the differences into a folder called NOTFOUND.  You run this code from your source database against the target that you think is missing data.  Be sure to set this again to run against all records (i.e. not selected documents).

%REM
    Agent CompareMyDocs
    Created Nov 10, 2011 by David Scott
    Description:
        This agent will run from a source db and see if there are matching
        records in the destination db.  If not, a folder call NOTFOUND will
        be populated with these documents.
%END REM

Option Public
Option Declare

Sub Initialize
    Dim ses As New NotesSession
    Dim srcdb As NotesDatabase
    Dim srcnote As NotesDocument
    Dim srcview As NotesView

    Dim destdb As New NotesDatabase("", "mylocalfile.nsf")
    Dim destnote As NotesDocument
    Dim destview As NotesView

    Dim DocsRead As Integer
    Dim DocsNotFound As Integer
    Dim key As String       

    DocsRead = 0
    DocsNotFound = 0
           
    Set destview = destdb.GetView("($All)")       
   
    Set srcdb = ses.CurrentDatabase    'Run from the source file
    Set srcview = srcdb.GetView("($All)")           
    Set srcnote = srcview.GetFirstDocument
   
    While Not(srcnote Is Nothing)       
        DocsRead = DocsRead + 1
        key = srcnote.UniversalId

        Set destnote = Nothing
        On Error  Resume Next
        Set destnote = destdb.GetDocumentByUNID(key$)       

        If (destnote Is Nothing) Or (destnote.Isdeleted ) Then 'Not found or is a delete stub
            Call srcnote.PutInFolder( "NOTFOUND",True )
            DocsNotFound = DocsNotFound + 1   
            Print "No Matching record #" & DocsNotFound & " for UNID " & key$
        End If

        Set srcnote = srcview.GetNextDocument(srcnote) 'Go to the next document
       
    Wend
   
    MsgBox " Total Documents Read " & DocsRead & " Total Documents Not Found " & DocsNotFound

End Sub

Thursday, September 29, 2011

Testing an SMTP server with Telnet

So you are having issues with your email server and are wanting to test it. How can you do this without a bunch of additional software? Use the Telnet client that is built into your OS (Windows, Linux, etc.). Here are the instructions if you are using Windows.

Start a command prompt and enter this telnet command at the prompt:

telnet mx1.server.com smtp

You should get a response of some type back from the email server (assuming you can connect). It should be the default greeting for the server. If it identifies your system type, you may want to make a change to this once you are done testing. You don't want to clue in hackers to your OS and email system type should a compromise of some type becomes public for your choice of email system.

Now, let's enter some data at the prompt we have.

MAIL from: sender@source-email.com <=== This tells who the email is "from"
RCPT to: recpt@server.com <=== This is who is getting the email. You'll enter this again
DATA <=== Now, tell the server that data comes next.
From: sender@source-email.com <=== Your standard "From" for an email
To: recpt@server.com <=== Your standard "To" for an email
Subject: Test message <=== Your standard "Subject" for an email
<=== This is a blank line....don't forget it
This is a test message. <=== The "body" of your email. Type something here
. <=== A period on a line by itself will tell the SMTP server you are done entering information

You should get a message at this point in time from your server about the email that you just "sent".

QUIT <=== Tell the SMTP server that you are done.

If everything is working, you should get an email at the address that you sent it to. If not, start looking at your logs to try and figure it out.


How to Analyze NSD Logs in Domino/Notes

Here is a handout from the 2008 Lotusphere on how to analyze NDS logs. It was written by Rob Gearhart, Elliott Harden and Joe Wallace. I hope it makes your review of NSD logs easier -- ha! ha! Really though, enjoy!

Friday, September 9, 2011

RSA Software Token on your Android Phone

As I've mentioned recently I started a new job.  For remote access you use an RSA key to access the systems.  I installed the RSA Android app (see link below) and had my SDTID file emailed to my phone.  But......I couldn't import it!  After some quick searching I found that you have to convert this XML file to a text string (it begins with http://127.0.0.1/securid...) and import that.  The RSA app on your Android phone doesn't support importing the SDTID file.

To get the importer from RSA, you can go to http://www.rsa.com/node.aspx?id=3831 and register to download it.  I did, converted my file, and was able to do all the remote access I wanted.  Good luck!

Get the RSA Android app from the Android Market:

 

Thursday, August 25, 2011

Select Records by Date in Views without using @Today or @Now

 When you create your view selection formula and you use @Today or @Now, your view index is constantly updated because those functions are always being changed.  A way to do this and gain some performance on your view selection is to programmatically update your view selection.  Use the below code either in the Initialize subroutine or in an agent that runs once a day to "hard-code" your view selections that depend on dates.
 
      Sub Initialize
         ' This script will update a view selection formula with an actual date versus doing the same thing via the @Today
         ' function (which recalculates constantly.
         ' So you go from:
         ' SELECT ((Form = "FormA") | (Form = "FormB")) & (@Created > @Adjust(@Today;0;0;-60;0;0;0))
         'To:
         'SELECT ((Form = "FormA") |  (Form = "FormB"))  &  (@Created > [06/26/2011])
         ' This should improve the performance of this view since your index is not constatnly being recalculated.
   
         Dim ses As New NotesSession
         Dim db As NotesDatabase
         Dim view As NotesView
         Dim formula As String
         Dim fmDate As  Variant
         Dim dateTime As New NotesDateTime( "" )
   
         Set db = ses.CurrentDatabase
         Set view = db.GetView("myView")
   
         dateTime.LSLocalTime = Now - 60
         fmDate = dateTime.DateOnly
         formula = {SELECT ((Form = "FormA") |  (Form = "FormB"))  & } &{ (@Created > [} &  fmDate & {]);}
         view.SelectionFormula = formula
   
     End Sub


Enjoy!

Monday, August 22, 2011

Return a Domino ArchiveDB to a Mail File

What is the difference between a Domino Archive database and a normal mail file?  Nothing but a profile document.  So, how do you return that status of an archive database to a standard mail file?  Use this script:

     Sub Initialize
       Dim session As New NotesSession
       Dim db As NotesDatabase
       Dim doc As NotesDocument
       Dim item As notesitem

       Set db = session.CurrentDatabase
       Set doc = db.GetProfileDocument("Archive Database Profile")

       If doc Is Nothing Then
          Print "No profile found"
       Else
         Print "Profile found"
         Set item=doc.GetFirstItem("ArchiveDatabase")
       If Not item Is Nothing Then
         Call item.remove
       End If
       End If

       Call doc.Remove( True)
       End Sub


Add this agent to your archive database, run it and your file will be changed back to a normal database after being an archive -- WOW!  Magic!

Remove Domino Database Conflict Documents

Do you have a Domino database that just has tons of conflict documents?  Here's small script that you can add as an agent to help remove those documents.

Create a new agent that is shared and has no target (this will make it run against all documents that you select).  Now, add this code to the Initialize subroutine:

       Sub Initialize
         Const MB_YESNO = 4
         Const ID_YES = 6
         Dim session As New NotesSession
         Dim dc As NotesDocumentCollection
         Dim dt As New NotesDateTime("")
         Set dc = session.CurrentDatabase.Search("@IsAvailable($Conflict)",dt,0)
         If dc.Count > 0 Then
             Dim ans As Variant
             ans = Messagebox ("Search for @IsAvailable($Conflict) found " & dc.Count & " documents. Delete now?", MB_YESNO, "")
             If ans = ID_YES Then
                 dc.RemoveAll True
             End If
         Else
             Messagebox "    No Conflicts found    ",MB_OK,"Not Found     "
         End If
     End Sub


Select this from your agents menu and you will be prompted to remove what conflict documents it finds.  If you happen to be having this issue alot in one of your databases, you may want to research why this is happening so that you don't have to use this type of again often.

Thursday, August 18, 2011

Purge Domino document deletion stubs immediately

How do you purge all document deletion stubs on the Lotus Domino server immediately instead of waiting for the set purge interval?

Deletion stubs in a database can be purged by selecting File --> Replication --> Settings, and entering 0 (zero) days in the "Remove documents not modified in the last" setting. Click OK and close the database. Open the database again to immediately purge the deletion stubs and then change the setting back to 90 days.


IMPORTANT: If you check the "Remove documents not modified in the last" setting and enter "0" in the Days field, all documents will be deleted from the database. DO NOT check this box. Only change the number of days setting to "0". Press the TAB key and as soon as the cursor leaves this field, the purge action executes.



Monday, July 11, 2011

Hi Ho, Hi Ho -- Back To Work I Go...Finally

Months ago I wrote an entry about losing my job.  It was the first time I have ever lost a job.  I have worked since I was 15 and have never lost a job before.  As I said then, the whole process was a new experience for me -- one I hope to never experience again.

If you've never been unemployed, let me tell you that it's a less than enjoyable process.  You're taking home less money than you were making.  Even less if you have taxes taken out (a simple percentage in Kentucky).  You have to go into the unemployment office from time to time to report your job search process.  When this first started for me, they were saying that there was to be a pilot program to have this be an electronic reporting process.  Seven months later, its still paper.  

The most eye opening thing for me was the amount of people not wanting to find a new job.  I actually had to listen to someone argue with an office worker that they didn't plan on looking for work, they just wanted their check.  Amazing.  And I had someone else tell me that he had no intention of taking less money than he earned before.  I was willing to take a $20k a year pay cut if it got me working again.  And here's the kicker -- now that I've found work I asked about the process to get off of unemployment.  Just simply don't request a check anymore.  It makes me wonder how accurate the unemployment numbers are that the government is giving out.  I would venture to guess that it is higher.

As I mentioned in my other entry, the job hunting has been a bleak process at times.  No responses to applications.  Blind calls from headhunters that lead to nothing.  Few if any interviews and being told that you are no longer a candidate after waiting to hear something for months.  A frustrating process that I wasn't expecting.

So how did I find a job finally?  Not at one of the many job fairs I went to.  Not from one of the hundreds of resumes I sent out either via email or the standard snail mail.  I found it via one of the oldest ways that I know of - an old acquaintance called me and asked what I was doing.  As soon as he found out I wasn't working, he was starting the process to get me hired.  I am thankful for my new job like you wouldn't believe.  And the best part is that I will be making more money than before.  I am excited to begin my new position today (July 11th) and hope I have this job a long time.

If you're looking for work, good luck.  It's a tough market at the moment.  But there is hope out there if you can just hang on.

- Thanks, David

Monday, May 30, 2011

Wrong Image Count On Android Gallery

Does your image count in Android's Gallery app show that you have 3500 pictures in a folder that only has 5? Here is a hopefully a quick fix to get this reset:

From your phone settings select applications>manage apps>all>media storage> and then clear data. Reboot your phone and it should reset after you media has been scanned.

If you are using custom ringtones for users, they will be reset (even with Ringo). So be ready to correct the settings.

This may only resolve the issue for a short period of time, but it will clean it up. Another fix that I've done that seems to have resolved the issue is to format my external SD card (this is where I store my camera photos).

Connect to your phone using your USB cable. Be sure you have access to your storage as a drive. Copy all the data from your SD card to a folder on your computer. Disconnect the USB cable and then format the SD card using the settings in your phone. Reconnect the USB cable and then copy your data back to your SD card from your computer. Reboot and you should be in business.

Friday, May 27, 2011

Norton Power Eraser -- A Tale Based On True Events

So your neighbor calls you up frantic that he can't get onto the Internet.  What do you do (other than not helping)? Download NPE - Norton Power Eraser and go to his rescue.  I had never used this product (or knew about it) until the other day.  Using this was a quick an easy fix to a PC that was being hijacked by another "spyware removal" tool.  It was the only thing that could get to the Internet, asking for money to "remove" infections that didn't exist.  I hate these types of spyware infections.  A less than savvy user could end up giving away personal information to clean their PC.

After starting the program up, I simply selected the scan type that I wanted and then NPE do the rest.  The offending application was listed and removal options given.  A few reboots later and I had my neighbors PC up and going again.  I will caution you that you really need to pay attention to what is listed as a "bad" piece of software in the final list.  On his machine, it was spot on.  However on my personal machine I got a false positive when running it to get some screen shots for this article.  To be honest, when in doubt you may want to just remove the things you are 100% sure of and then reboot to see if your issues have been resolved.  If not, scan again and remove more.  I was thrilled to get his issues resolved in less than an hour.  I even took the add step of removing a non-functioning version of AVG and replacing it with Microsoft Security Essentials (a free AV solution from Microsoft).  Now he's up and running with some decent protection on his PC.

There are other commercial applications that can do this same sort of thing, but I'm all about open-source or freeware considering the economy (and personal choice).  These types of applications are just as good or better as their commercial counterparts.  Don't be afraid to try them, even if it's just to get you through a project or solution.

Friday, May 20, 2011

Amazon Appstore for Android - Free Stuff!

I was skeptical when Amazon added their own appstore for Android.  I love my Android phone.  It is by far the best phone I have ever had.  The only real challenge is that you can't purchase software and have it billed to your phone account.  But along comes Amazon's appstore and now you have an easy way to make purchases using your Amazon account.  But by far the best feature is the "a paid app for free everyday". 

You can get some great stuff for free.  This makes me check everyday to see what's being given away.  Today was TweetCaster Pro.  I can only hope that QuickOffice is down the pipe.  I love this feature.  Not only do you get some great stuff, but apps you may not have looked at are brought to your attention. 

Now there are issues with this store.  The apps installed are not "seen" by the Android Market.  And if you uninstall the Amazon appstore your apps go with it.  But that's not really a big deal because once you install this you're not going to want to get rid of it.  And of course, your carrier may not allow you to install an additional app like this since it's not in the Android Market (perhaps a root -- but I'm not advocating that.  Read all the stuff on killing your warranty when you do root).  You'll have to download it direct from Amazon.

But in the end, I think this app is worth all that it brings to your phone.  Get it and start getting some great apps for free.

Tuesday, March 8, 2011

Fix QuickOffice Issue After Captivate Froyo Upgrade

So you've upgraded your AT&T Captivate from Eclair to Froyo...but what happened to QuickOffice?  If you look through your list of installed applications, you should see one that has a description of "This file is Read-Only".  That is what happened to QuickOffice.  So, how do I fix it?  It is an ugly fix but it works -- a factory reset.

I hate doing those since you will have to restore or reinstall all your data, but it does resolve the issue (and some other ones).  I suggest moving your contacts and calendar to the cloud (i.e. store them in a Google Gmail account or some other domain), backup EVERYTHING using something like Titanium Backup, and then bite the bullet and do the factory reset.

After you have reset your phone, check to see if you have resolved the issue.  You should be able to find QuickOffice listed in your applications now.  If you don't, then you may need to contact either Samsung or AT&T technical support to figure out why.  Once you see it, then it's time to restore your data and all your applications.  If you sent your contacts and calendar to the cloud, you will just have to make a connection back to the account and let it sync up.  As for your data, if you used Titanium Backup you can then restore you apps and settings.  Or, if you didn't use a backup program, you get to visit the Android Market and find all your apps again.

On the plus side, if you have installed a bunch of stuff while using Eclair, then this will be a great cleanup for all the junk that got installed and never cleared.  Your internal SD card will be a bit leaner now.

Wednesday, March 2, 2011

I've updated to Froyo...here's my two cents worth

After my last post, I went ahead with upgrading my Captivate to Froyo.  The upgrade was pretty seamless to be honest.  No real data loss to speak of (1 issue, read on).  Everything pretty much came up as expected.  And of course, all the AT&T bloatware was back again.  But that's not such an issue if you root your phone.

So, what do I think?  I can see some speed improvements, the screen actually looked sharper than before (really).  I have however seen my battery life go down a bit.  But this may be because I'm tinkering with my phone more.  For now it's not a big deal since I charge pretty much every night.

I've had to search for options that I could just about go to in my sleep since things have been moved or split.  Again, not a big deal and once you get use to the change you are fine. The other thing you should notice is that there are color icons on the settings screen.  A nice addition.

The only issue that I had doing the upgrade was that the QuickOffice that came with my phone magically disappeared....or did it?  You will notice a new application with a generic icon and the text "This file is read-only" on your phone.  When you run it, it is the missing QuickOffice.  However, you can't seem to upgrade it or do anything with it properly.  No amount of root-hacker-y will remove it or rename it also (thank goodness for GO Launcher -- you can at least change the text).  I ended up opening a trouble ticket with QuickOffice which got me a link to a new version of the software to install.  Thanks QuickOffice!

So, in all this upgrade seems to be fine for me so far.  Speed improvements (perhaps) and pretty screens aside, it only took the better part of a year to get it.  But I like it and am glad it's installed.

Thursday, February 24, 2011

FROYO Finally Here for the Captivate


For everyone with an AT&T Captivate, the time has arrived!  That's right -- FROYO is available!  I for one have been waiting for this upgrade, but will wait a few days to see how it goes.  I also have read the notes that point out that if you have rooted your phone (I have) that you should proceed at your own risk.  So I will backup and proceed with caution.


If you are ready to upgrade, go to here to get started.

Check back here in a few days and I'll post how things went for me.