StephenCuppett.com

Helpful Notes and Major Milestones

Archive for the ‘Personal’ Category

Mac OS X Reinstall/Restore via Time Machine is Awesome!

with 3 comments

During the holiday vacation, my Macbook started booting up with a rather lengthy progress bar.  It would take about 10 minutes to complete.  The operating system would come up fine, but it started getting me nervous because it was occurring on every boot, not just once (like an update post-processing after reboot or something).  I had a feeling it was filesystem related just based on my experiences with Unix/Linux in the past.  I figured some kind of fsck was working its magic and some quick searches seemed to confirm the thought.  This was going to be my first attempt and resolving a system issue on the Mac; I’ve been lucky to have been on cruise control on there until now.

I eventually stumbled on the Mac’s console message viewer.  He’s extremely handy.  He zeroed me in on the culprit, “Incorrect number of thread records (#, #)”.  Okay, great message.  Maybe if you know the number is incorrect, you could tell me the correct number?  Maybe if you know the number is incorrect, you could just fix it?  Nah.

After some more research, the next remediation steps were to boot into the install disk, try running Disk Utility and also to start up a console, unmount the main volume and run fsck_hfs manually.  Nada.  All of those seemed to know all about my incorrect thread count, but none could make a correction.  I must admit though, with a lot of Windows (and Linux) diagnostics behind me, the utilities are at least navigable well presented on the install disk.

With the easy stuff behind us, my options now get expensive or drastic.   Most of the forum and support threads I found have DiskWarrior as the next logical step to try and fix the volume.  At $100, I’m not quite ready to give up.  I’m close though because with a BootCamp volume and a pretty important Windows 7 install on the other partition, formatting  and redoing all that work doesn’t sound palatable… yet.

I do have AppleCare.  I use the online form, open a ticket and schedule a callback on 12/31.  Cool!  The phone rings.  The automated attendant informs me they are closed.  What!?  Why can I schedule the call then?  The call ends.  Two minutes later, I’m called again by Mr. Robot.  Ugh.  I re-schedule for another day to avoid infinite recursion!  A slick customer service interface has a bug in it lets me schedule calls when they are on holiday and then has another bug in you can get in a loop.

OCD kicks in.  I want this to go away now.  What do I have unique to the Windows partition, really?  Just a Quickbooks file, that’s not a big deal, back it up separate.  Time Machine backup is a little behind, let’s take a new one.  Okay, I’ll use the install disk to erase the Mac drive and try re-installing Snow Leopard.  I’m sure my users and data will restore from Time Machine.  I may have to do some homework to access my Windows partition (if it survives).  I’ll probably have to redo my network setup, install iLife, Firefox, eclipse, etc.  If my Windows partition doesn’t survive, that’ll be fun the next few days…

The install is pretty quick, 30-60 minutes.  No problem.  It restarts.  Here comes my getting started page.  There’s a migrating/moving via Time Machine button.  Sure.  The next screen was pretty surprising.  I had options for restoring four things… something like users, data, settings and apps!  Are you serious!?  Wow.  Something will probably not be quite right, but this is HUGE and a big divergence from my non-Mac experiences…

The Time Machine restore cranks through my files.  It completes.  I restart.

At the gray startup screen, I hold down “Alt”.  Will Windows still be there?  It is!  Yay!  He comes up just fine.  That, in and of itself, is extremely cool.  I had a feeling the partition would be there just from the screens I was seeing on the OS X install disk.  Not sure about Vista or 7, but Windows prior would always blow away any bootloader I would have, no question.

I then start OS X.  Surprise, surprise, I must have the correct number of thread records now, it boots in normal time :) .  The login screen has my users, their little thumbnails, cool.

Logging on was what really blew my mind.  Once inside, all updates were already applied, the network settings are all there and everything/EVERYTHING was there; iLife (a separate install), an Eclipse I had downloaded and extracted somewhere funny, every other app and setting.  Wow.  I was so dumbfounded and filled with confidence about the whole process if it takes me more than an hour to find a button to undo a setting not 100% to my liking in the future, I will re-install from scratch and use the last backup not containing it in a heartbeat…  For the Mac-savvy, or anybody who read into Time Machine since it came out, this may seem funny, but I still can’t get over it.

It didn’t escape me, going through the motions, OS X was treating it the same as if I had purchased a new computer and was just “moving” to it with my Time Machine backup.  Companies don’t use Linux desktops (yet, ugh), but is it this smooth for the minority that do when going to new hardware?  I doubt it.  For companies using Windows desktops, entire armies of IT guys are still trying to purchase or develop applications/processes/scripts to make moving to new hardware this easy for the employees at large when hardware refreshes are in order.  I know it wasn’t this smooth for me when I got my new gear the last time (XP -> XP).  I have another Windows upgrade coming in January (XP -> 7), we’ll see how that goes…

Written by cuppett

January 1, 2010 at 10:17 pm

Posted in Personal, Research

Burning a Blu-ray in Linux

with 2 comments

I’ve had a blu-ray burner in my Linux system for quite a while. Since about Fedora 8, I’ve been using commands to burn backups onto single-layer BD-RE media.  I gleaned those commands out of a posting about dvd+/-rw tools (google cache).  Here are the basics…

Ad-Hoc Burning

growisofs -Z /dev/dvd -R -J /path/to/files

- later -

growisofs -M /dev/dvd -R -J /more/files

- to finalize -

growisofs -M /dev/dvd=/dev/zero

Writing an ISO

growisofs -dvd-compat -Z /dev/dvd=/path/image.iso

Erase the Disk

growisofs -Z /dev/dvd=/dev/zero

Format

dvd+rw-format -ssa=1G /dev/dvd

I’ve recently been trying to do some new things and I thought I would post that as of Fedora 11, Brasero can recognize and write files to my BD-RE media and also erase the disk to do it again.  K3b is still at 1.0.5 (not a KDE 4 compatible version) on Fedora and does not recognize the disk correctly for type and capacity, nor does it allow burning.

My recent searches pull up the same results from 2007 and 2008 as before where people were unsure, etc.  This is the current state of my world though.

*UPDATE 2010-06-25*

It’s been awhile since I’ve tried this, but now using Fedora 13, I am able to use K3B to burn single-layer BD-RE media at 2.0x speed.  I have a Sony BDRW BWU-200S.

[cuppett@home ~]$ k3b –version
Qt: 4.6.2
KDE Development Platform: 4.4.4 (KDE 4.4.4)
K3b: 1.92.0
[cuppett@home ~]$ rpm -q dvd+rw-tools
dvd+rw-tools-7.1-4.fc12.x86_64

Written by cuppett

August 2, 2009 at 9:52 am

Posted in Personal, Research

Gabriel Stephen Cuppett Born, 12-11-2007

Gabriel Stephen Cuppett Merry Christmas! Two weeks ago, Andrea and I welcomed our first son into our family. He was born at 8:43 a.m. on 12-11-2007 and was 8 lbs. 5 oz. and 22 inches long. We’ve been taking it easy and getting adjusted the last couple weeks. We’re ecstatic and having a lot of fun. Lots of visitors these next couple weeks and soon we’ll be back to work and never quite normal again! Thought we’d share our joy!

Written by cuppett

December 25, 2007 at 8:06 am

Posted in Personal

Received SAS Certified Advanced Programmer Credential for SAS 9

After 9 months with SAS, I now have passed the advanced programmer certification exam for SAS 9 on November 8, 2007. You can find details about the credential here.

SAS Certified Advanced Programmer for SAS 9

SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration.

Written by cuppett

November 15, 2007 at 10:02 am

Posted in Development, Personal

Received SAS Certified Base Programmer Credential for SAS 9

After working at SAS for 8 months, I passed the base programmer certification exam for SAS 9 on October 17, 2007.  You can find details about the credential here.

SAS Certified Base Programmer for SAS 9

SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration.

Written by cuppett

October 24, 2007 at 11:37 am

Posted in Development, Personal

New Job @ SAS

leave a comment »

After 3 and a half years with IBM in Research Triangle Park, NC, I have left IBM to work at SAS in Cary, NC. I will be software testing future iterations of the Marketing Automation analytics solution while learning the SAS platform.

Written by cuppett

February 26, 2007 at 7:58 pm

Posted in Personal

3 years at IBM!

In addition to the 11 months I worked as co-op during my last two years of College, I have been in Research Triangle Park, NC working for IBM for 3 years now. For the last 3 years I have been working as part of the System Verification Test team for z/OS Communications Server. The releases I have participated in include V1R6 – V1R8 with V1R9 just getting started from an SVT perspective.

Here is a link to the V1R8 z/OS Communications Server New Function Summary

It contains a listing of things that have changed in all three of those releases. The new function lineitems I was responsible and/or involved for testing include:

V1R8

  • IPv6 IPSec support
  • In this release, support was added to the IPSec support from V1R7 to include IPv6 targets. This testing again required extensive z/OS to z/OS stress and configuration testing as well as interoperable platform testing including Linux, AIX and AS/400 or iSeries. Windows XP & 2003 was useless during this testing as they don’t even provide compliant support for manual tunnel definitions. Support for IPv6 is promised in Windows Vista; however, I have yet to do that follow-on work and will make some attempts during V1R9 testing as time permits.
  • This test required evolving my IPv6 knowledge in general on some of the more fine-grained differences between it and IPv4.
  • IPSec NAPT (Network Address Port Translation Support)
    • When IPSec endpoints behind a NAT may also be sharing the same IP address, chances are they will access the same remote server and service and be attempting to do so on the same client side ports. When this happens, you have a significant amount of packet altering that can happen on the NAT router. It can be especially problematic when you have IPSec in the picture as in a lot of NAT cases, UDP encapsulation of all services happens on the same set of ports for all clients involved, the router is oblivious and just starts changing ports for clients! This lineitem increased the capabilities of the IPSec daemon implementation on z/OS to detect the existence of a NAPT device and react accordingly.
    • During testing of this item, understanding and ensuring NAPT translations were occuring in our sophisticated testing environment was paramount. In addition, I had to learn more security configuration on our routing platform (Cisco).
  • FTP Client API support for the REXX language
    • In V1R6 we introduced FTP Client API support for callable languages. In V1R8, we utilized that support once again to create a REXX function package that can exploit that support from the REXX programming language using stem variables.
    • Over the course of the previous two releases, my experience with the API and my REXX skills to this point made me a candidate to oversee this testing effort with a new hire in our area. I worked with this person to develop workloads and REXX scripts in the various supported environments to exploit this function. I also did some additional investigation/self-training into how I could build REXX function packages to enable support for other SVT tooling that has grown over the years.

    V1R7

    • Policy-based IP Security
    • In this release, Communications Server introduced a replacement for an aging IP Security and firewall product, Firewall Technologies. This new support was based on new, policy-based definitions. It included support for NAT Traversal and Sysplex Wide Security Associations (SWSA).
    • I learned several new things in testing this lineitem including IP Security as a protocol, as a whole, and it’s role in partner and cross-datacenter communications. I also gained a firm grasp in Cisco-based security configuration, Linux Openswan configuration, Windows IP Security configuration, z/OS sysplex concepts as well as experience configuring both the new policy-based IP security function and the outgoing z/OS Firewall Technologies product. In addition, one particular use case of this test was protecting EE (SNA Enterprise Extender) traffic between business partners whether separated by a NAT or not and I picked up several basics of the SNA side of our enterprise networking stack as well during the testing of this lineitem.
  • FTP Client API for C/C++
    • In V1R6, Communications Server for z/OS introduced FTP Client API support for callable languages. In this release, we extended that support to the C/C++ programming language.
    • I built on my compiler and platform C/C++ knowledge from the prior release to develop tooling and workloads exploiting this function. I also extended my C/C++ workload requirements to include support for the XML toolkit for z/OS to create intuitive workload drivers in this area.

    V1R6

    • Update to XWindows 6.6 and Motif 2.1
    • This function included upgraded libraries for XWindows and Motif. Not only that, but the new libraries shipped both 31 bit and 64 bit versions meaning an even more complicated test in that they had to coexist with each other, but also the prior versions of XWindows and Motif. This lineitem was necessary to support 64-bit Java on the platform.
    • I learned quite a bit about windowing in general as well as C/C++ development, compilation and libraries on the z/OS platform in testing this lineitem.
  • FTP Client API for Callable Languages (ASM, COBOL, PL/I)
    • This function allows programmatic access from callable languages to drive the extremely robust z/OS FTP client. It includes complete control flow manipulation as well as allows asynchronous execution of FTP subcommands with the rest of your program.
    • In testing this lineitem, I learned COBOL, JCL and FTP internals. I would say it was quite more than I had anticipated learning on such a low level.
  • Sendmail enablement for MLS (Multi-Level Security)
    • z/OS support sendmail in the USS environment. This mailer is packaged as part of its compliance with the Unix standard. The release sought to update the support for the advanced functions of the platform by allowing sendmail to be bound to a single networking stack as well as to allow systems participating in multiple security environments to isolate multiple sendmail instances on the system and provide true data isolation for highly secure computing environments.
    • I had prior understanding of Sendmail on Linux platforms, but this lineitem made me extremely aware of the inner workings of Sendmail as well as the theoretical and practical implications of advanced z/OS security functions such as multi-level security and multiple, discrete networking stacks on a single operating system. Other concepts came into play regarding mailers such as DNS MX and z/OS sysplex functions and its capabilities.

    Written by cuppett

    November 12, 2006 at 12:41 pm

    Posted in Personal