Tortoise CVS Move hack

August 21st, 2006

CVS doesn’t support moving files within a repository. (Great program, but didn’t get architected so well, eh? Programmers will want to move project files around in the future? Never happen!)

As you may know, a CVS ‘move’ means you have to Remove the directory structure and then Add it to the new place. (Deleting your history in the process.)

If you are using Tortoise CVS and you move a huge directory structure over, you may experience the hell of having 100’s of conflicting ‘hidden’ CVS directories throwing errors when you try to add the structure. You can write a script to remove them recursively or remove them by hand, but here’s a simpler hack for windows.

 (Always make a fresh backup before removing or moving lots of files in CVS!)
1. Run the Tortoise Remove command on your directory structure that you want to move. Commit the ‘remove’.
2. In Windows Explorer, move the leftover directory structure to someplace outside of the overal CVS directory hierarchy. This removes all the old hidden CVS directories that were left behind.
3.  Go to Windows Recycle Bin, and you will see all the
files that you removed from CVS using Tortoise. Order these by data deleted. Highlight them all and click ‘Restore’. This moves all those files and folders back into their old structure, but minus the hidden CVS directories.
4. In Windows explorer, copy your new ‘clean’ diretory structure to the desired location. Now click ‘Add Contents’ in Tortoise CVS from the top of that structure. Then click ‘Commit’.

5. You can now delete the old set of hidden CVS folders.

6. Always confirm your ‘Move’ by making a brand new download of the CVS repository, and building the app.

Final Thoughts:

- I think it would be great to build this functionality into Tortoise.
- Use Subversion instead of CVS every time you can. Subversion supports moves natively, is faster, uses less bandwidth, etc.

SkypeIn vs Gizmo CallWave Number (Area775)

August 14th, 2006

gwave:
$4/mo

Areacode 415? Yes
Forwarding:  to any number is included. no extra charge.
Voicemail: Included, yes custom greeting.
Voicemail messages: Forwarded as wav files via email
Voicemail alerts:  Voicemail alert via sms and/or email.

skype:
$4/mo

Areacode 415? Yes
Forwarding:  to any number is charged per minute, mobile phones cost more per minute
Voicemail: Custom greeting
Voicemail messages:  Only through skype client
Voicemail alerts:  Only through skype client

There are many more features available for both, but the features I looked at make the decision clear for me.
Winner:

Gizmo/CallWave

Wireless access point troubleshooting tip.

August 8th, 2006

Everything is fine with your wireless router or access point for years or months. Then one day it starts to drop connections every 2 hours or so for no apparent reason. The router doesn’t crash and the router doesn’t add an entry into its log when this happens. In fact, nothing has changed in your network. It just doesn’t work all the sudden.

There may be a new wireless device within range that has caused yours to malfunction. It could be the office or home next door. So, login to your router and move it to a new spot on the big three positions of the wireless router spectrum. 1, 6, or 11.
Give it some time and move it again if the first new position doesn’t clear up the dropped connections.

Google Calendar or Airset?

July 25th, 2006

We can finally synch Google Calendar with Palm and Outlook. http://www.companionlink.com/clgoogle.html
But Airset does that for free, plus you can pay them to synch to your mobile phone over the phone company’s network.

Will Google want to use the Big 4’s networks for that, or will they focus only on synching over the internet (and push for more ubiquitous wifi?)

hmmm, Google innovates consistently, but the Big 4 mobile phone companies stifle innovate products and services at the drop of a hat. My guess is that part of the 4 will cooperate with Google to let users synch Google calendar and part of the 4 will want to create their own calendar app, and charge for it monthly.

Of course, how good does Google Calendar look and respond if I try to view it with a mobile phone web browser?

Hmmm, scatch all this. Somebody already made a mobile phone syncher for free using Java:
http://www.gcalsync.com/

But it is not polished.

Security?

If a business is going to move confidential data over the mobile phone network, then it needs to be securely.

Interesting: If I switch either calendar manually to https on a normal computer browser, they both work fine. However, I don’t see a preference that will force secure viewing each time upon a secure login.

Todo: Check for secure synching and viewing over the phone network as well.
So, I need to start synching both of these to both Outlook and my phone: Airset and Google Calendar.

Costs:

Airset.

Synching Palm and Outlook: Free

Synch over mobile phone:

“AirSet Mobile is a subscription service, available through Verizon at a price of $6.49 per month. Airtime charges are incurred only while synchronizing, which typically takes 30 seconds or so, resulting in 1 minute of airtime utilization. ”

Cost with non Verizon Java enabled phones?

Google:

Synching Palm and Outlook: $30 per user, but some known bugs
Synch over mobile phone: Free with Java J2ME enabled phones, but buggy.

Conclusion:

I lean towards Airset, depending on how they work out the J2ME client. They say it will be a monthly recurring charge. Which seems fine since most of our office users would be using only the Outlook, Palm synching for free. That makes it cheaper than Google option. Plus, Airset is committed to developing the synchronization software. Since Google is not pursuing professional development of synchronization, I would give Airset the edge.

note: This all changes if Google releases professional synchronization. However, synch is such a dangerous function because it touches ALL THE DATA for a user. And bad synch’s can destroy every single bit of data for a user. I think I want a dedicated team getting paid to make sure synch does not ever lose a client’s data. Airset.

Vmware IT Idea

July 25th, 2006

Can I copy an existing computer installation into a Virtual Machine?

Advantages (if possible):

- Freedom to make more daring tests without running risk of losing data

- Ability to instantly revert to original status if a given fix did not work

Furthermore,

For business machines, it would be great if I could order the following from Dell.

Linux secure install on the base hardware. (and set to autoupdate drivers and security patches)
Vmware Player or Server preinstalled.

Windows XP VM installed. (and a backup installed as well.)

Have VMware set to create snapshots periodically. (and copy Outlook snapshots nightly).

So, if the user gets a new machine. I just copy the old virtual machine of XP over to it, and I am done. awesome.

If user gets nasty spyware, virus, deletes system files, etc. I just pull the latest vmware image snapshot, and we are 95% finished. (5% is reverted to the saved Outlook pst if necessary.)

Linux up2date rhn tutorial.

July 11th, 2006

a. ignore the gui program for critical updates. It’s worthless.

b. Open a terminal. Type: yum update

c. Watch in amazement, as that command actually works.

d. Wonder why you have to search Google to find the hack to get critical updates to work in Linux? Me too. Shitty Usability.

e. Wonder why ‘Everything’ in Linux  ends up being a hack? Who cares. That’s just the reason it will never be a desktop option for the world. Hacker mentality and my mom’s desktop don’t mix.

Linux + User Friendly == Hopeless

July 11th, 2006

Just not able to even begin to run basic Use Cases. Just unbelievable.

Please. Get a Usability guru from Apple to sponsor Linux usablility for a year. Just hand that person the reigns, and let them transform Linux (from a users point of view) into something reasonable.  No voting, no community input. Just let an expert ‘MAKE IT HAPPEN’. B/c the current community has failed.

Linux needs a torvalds of  usability.  Get  someone/someteam to make the UI great (like Apple did with BSD.)

Is there a bigger time suck for a computer programmer than Linux?

July 10th, 2006

I spend literally 50 - 75% of the time baby sitting and debugging my Linux installation, instead of doing real work on the problem I need to solve.

Just give me an install shield program like we have in Windows any day. I install the program. I use it. I continue to solve my problem. Installing programs on Fedora? That takes me back to 50 - 75% of time baby sitting a series of “simple” installations.

Unreal that people put up with it. I suppose I’ll switch to Mac one day and wonder why I spent so much time ‘under the hood’ of my WinXP box, instead of “getting things done” on my Mac.

how to use stl random_shuffle with seed of your choice on a vector of pointers

June 17th, 2006

I cannot understand why an example of this doesn’t show up anywhere in Google or Google Groups.

Hopefully, you found this page before you wasted as much time as I did searching.

A. Define a functor class like this one: (props to Midgaard, who almost had what I needed).[1]

class RandIntClass
{
public:
RandIntClass() {}
int operator() (int aRange)
{
srand(42);//seed of your choice here
int result = rand() % aRange;
return result;
}
};

B. In your code. Assuming you have a vector of pointers already.
//shuffle set 1 w/ seed 42

#include algorithm (add brackets around ‘algorithm’. wordpress keeps removing them for me.)
RandIntClass Rand;
std::random_shuffle( myVector.begin(), myVector.end(), Rand );

That should do it.
I tested this with two identical vectors. I shuffled each one independently, and they came out in the same order.

I have no idea why zero of the major stl tutorials out there couldn’t put this example together. I hate it when examples only use primitives or they only used the time(NULL) example.

Anyway, hope this helps. Enjoy,

Ed

If you are on gcc, watch out for this gotcha with srand48:

http://gcc.gnu.org/ml/libstdc++/2000-08/msg00015.html

[1] http://home20.inet.tele.dk/midgaard/tipc20050110.html

McAfee rolls out new Nightmare Support Center

May 13th, 2006

McAfee pushed out an alpha version of their new support center online. They removed access to the old site that worked. They also threw away the registration data of users that used the old site.

Now they are unable to register new users.

We have a patch missing in our corporate antivirus. It causes machines to enter a nonstrop reboot cycle.

McAfee says they don’t automatically distribute patches. They also don’t have a mailing list to tell customers when the patches are released. The only way to get the patch is login to the new site.
Their new site uses malformed XML. So, it crashes in Firefox. They don’t tell you on the website (before it crashes) that they do not support Firefox.

Astounding incompetency  on a scale that impacts millions of corporate users.

McAfee, Network Associates, may have seen the last of my company’s dollars for good.