Profile

Cover photo
Fred Sobotka
Works at FRS Consulting, Inc.
Attended Portland State University
Lives in Portland
212 followers|2,098,427 views
AboutPostsPhotosVideos

Stream

Fred Sobotka

Shared publicly  - 
 
The beautiful, shiny interior of Granville Island Brewing in Vancouver, BC.
2
David Gleason's profile photoDameian Zabona's profile photoFred Sobotka's profile photo
3 comments
 
I've drank here.  Not a fan of the "limitations" they had.
Add a comment...

Fred Sobotka

Shared publicly  - 
 
Is IPv6 the next Y2K?
How will your code react to IPv6 network addresses?

» Introduction Just as Y2K required a serious sweep of software, firmware, and storage, there's also no hiding from the impact that IPv6 addresses will have in your environment, even if your organization has the luxury of staying on IPv4 indefinitely.

» It's time for a new IT scare
Remember how entertaining it was back in the 1990s to speculate on the potential severity of the Y2K bug? There was practically no upper bound on what could break, providing a diversity of failure scenarios that sparked passionate debates, even among Y2K true believers. Although we've moved on to other techno-bogeyman issues since then, most of them aren't as broad and sweeping as the Y2K scare. That may change, however, once more systems start recognizing and using IPv6 network addresses, but first, a bit of background.

» How did we get here?
It took a while (about 30 years or so), but we finally burned through the billions of unique, globally routable IPv4 addresses that a 32-bit number can hold. None of this comes as much of a surprise, so the imminent exhaustion of the planet's IPv4 addresses is not the big, new scare I alluded to earlier. In fact, the cabal of bearded, suspendered elders who control the Internet Protocol IETF started anticipating this event so long ago that they've had ample time to discuss and invent a new protocol called IPv6, which offers many benefits over IPv4, in particular a massive 128-bit address space. Hardware and software vendors have already spent years making the necessary adjustments, leading to an ever-growing market IPv6-enabled products for home and business use.

» I inflict IPv6 on my home office
When my ISP told me how much it would cost to add more static, globally routable IPv4 addresses to my network, I decided instead to enable IPv6, which gave me a practically limitless supply of unique network addresses at no extra charge. My firewall, computers, and media devices already supported IPv6, so I figured it would be a slam dunk, and for the most part, it was. The exception was a sneaky, highly localized bug took some time for us to notice, but, when found, immediately reminded me of the spooky "what if" scenarios trotted out by the old Y2K worriers.

» The thing that broke under IPv6
Like Y2K before it, the reason to treat an IPv6 rollout with a healthy amount of caution and respect is the sheer amount of code written on an increasingly incorrect assumption, in this case, the format of a network address. When I slapped a numeric IPv6 address on everything in my home that could handle it, an obscure little program on my media player stopped working. That program was a third-party MythTV helper script I downloaded and installed to play ISO copies of my DVD collection, and I'm not even upset at it for failing the way it did. After all, it would be unfair of me to single out an otherwise useful script for exhibiting the same short-sightedness that is baked into countless other programs.

Dangerous Assumption #1: Neither a host name nor a numeric IP address will ever contain a colon.
The script used : as a field separator to parse what it thought would be a host:port string, so a perfectly valid IPv6 address like [1234:5678:90ab::cdef] was treated as host [1234 followed by port 5678. That misstep alone was enough to stop the program dead in its tracks.

Dangerous Assumption #2: Network addresses won't contain special characters that require escaping in a regular expression.
The script simply pasted the host and port directly into the search pattern of a search-replace regex - no backslashes or anything. Since IPv6 addresses can contain square brackets that have special meaning inside of a regex search pattern, the expression won't work as intended when [ or ] isn't escaped with a preceding backslash.

» Other Dangerous Assumptions to Hunt Down and Kill
- Program variables and database columns that aren't wide enough to store numeric IPv6 addresses
- Input normalization routines that shrink or expand IP addresses by adding or removing leading zeroes
- Logic used to recognize localhost, internal, external, and broadcast addresses
- Easily overlooked data validation rules that are buried in XML Schema documents and database column constraints

Good Luck,
+Fred Sobotka
3
2
Add a comment...

Fred Sobotka

Shared publicly  - 
 
Assuming the document is authentic, this would have to be the most enjoyable and sincere employee manual I've ever seen.
If you don't already know about Valve Software, your kids probably do. Valve makes really good computer games, so good that fans go on pilgrimages to Bellevue, WA to picket the company to offer thanks and/or beg for an earlier release date for the next installment of a beloved game.

Valve also runs Steam, a software licensing and delivery network that is second only to outright piracy in terms of ease and reliability.

Sections of the handbook remind me of a small software firm where I used to work. (Mostly) good times.
1
Add a comment...

Fred Sobotka

Shared publicly  - 
 
I rebuilt my website and posted this entry about how to get DB2 running on the newest Linux kernel.
1
1
Add a comment...

Fred Sobotka

Shared publicly  - 
 
If your desktop computer is basically running well, except that shutting it down causes every single LED on the system - including the optical drive - to blink rapidly for about thirty seconds or more, fading gradually as it uses up the rest of the apparently leftover electricity, the problem is probably with the power supply, so try replacing that first before you go shopping for a new mainboard (and a new processor, RAM, and graphics card to put on it).
1
Add a comment...
Have him in circles
212 people
Isaac Yassin's profile photo
Gregg Abbott's profile photo
Ranjun Chauhan's profile photo
Cathy Swider's profile photo
Dawn Foster's profile photo
Andy Heydon's profile photo
Marshall Kaiser's profile photo

Fred Sobotka

Shared publicly  - 
 
This single-page cheatsheet is an impressive reference for anyone who uses bash to get things done. Some of these little two-character tweaks can remove the need for a small program or at least a few lines of scripting code.
1
Add a comment...

Fred Sobotka

Shared publicly  - 
 
During my most recent attempt to organize my office, I came across an old gigabit switch that I'd stopped using after its internal fan became too noisy to endure. I admit I may hold on to old gadgets longer than I should, but I kept reminding myself that - aside from the terrible noise it makes - this switch is still fairly decent and worth keeping.

Nearly three years ago, I started looking for help on how to fix it, but I didn't find any encouraging leads. Every few months, I'd fire up the same searches and see if anyone had gotten further with it than I had, only to find my own question as one of the top-ranked results. That all changed this week, when I expanded my search to include other models in the same product family. As I'd hoped, the other models were built more or less the same way, and the largest models attracted an even greater interest in quieting down its angry fans. Naturally, I used this information to reply to the same question I originally posted back in 2009.
2
Geri Jeter's profile photoFred Sobotka's profile photo
3 comments
 
Terrific! We loved the part where other people would get more fun/use out of our stuff than we were having.
Add a comment...

Fred Sobotka

Shared publicly  - 
 
A few quirks about posting on Google+

I'll admit that my intended use of G+ as a basic replacement for Blogger is perhaps not a reasonable expectation, but I decided to explore it anyway and found more than a couple surprising limitations.

You've only got one shot at specifying which of your G+ circles can see your post. After that, it can only be an embedded as an attachment in a new post with a new URL.
Since G+ doesn't a "save a draft" option, I thought I could approximate this feature by initially publishing it to a deliberately empty circle. Although the content of a G+ post can be edited repeatedly, its visibility cannot. When I was ready to publish the post to Public, my only choice was to attach it to a new post, which creates a distracting citation headline and indents everything from the original post.

If you edit a G+ post that's already been embedded in another post, the changes do not propagate.

G+ posts don't show up in generic, public Google search results nearly as quickly as updates to other web sites.
Sure, you can see your own G+ posts in Google Search right away when you're signed into your Google account, but it can take days before the rest of the web will see the same post in the Google results of a keyword search.

Google forces you to sign on to Google Accounts just to view a public G+ post from Safari on iOS (iPod, iPhone, etc.).
This has got to be a defect. I can't think of any other explanation for such an unreasonable policy.
1
Jacob Lundberg's profile photoFred Sobotka's profile photo
2 comments
 
The last gripe on my list has been resolved. I am no longer redirected to sign on to my Google account just to view a public G+ post from an iOS device.
Add a comment...

Fred Sobotka

Shared publicly  - 
 
Obscure But Noteworthy Windows PowerShell Tricks

Problem: You're using Add-Type to create custom data types and object classes, and you want to avoid defining an existing type twice ( the old TYPE_ALREADY_EXISTS exception).
Slapping on -EA SilentlyContinue and -IgnoreWarnings to your Add-Type command doesn't completely swallow the error.
Solution: Surround your Add-Type with a test that's true only if the type doesn't exist yet.
if (! ( 'NewTypeName' -as [type] ) ) {
Add-Type -TypeDefinition @'
public class NewTypeName {
public Member1 int = 0;
public Member2 string ="";
}
'@
}

Problem: PowerShell's concept of pipelines doesn't mesh well with older programs that get their input from a pipe to stdin. One example is WebSphere MQ's RUNMQSC.EXE
Solution: Regain the piping features and ECHO command you need by spawning CMD.EXE as a separate process.
$wshell = New-Object -com wscript.shell
$cmdstr = 'cmd.exe /c echo dis ql(*) curdepth | runmqsc'
$exec = $wshell.exec($cmdstr)

At this point, output can be accessed from $exec.stdout if necessary.
1
David Gleason's profile photo
 
Please share more tips/tricks for PowerShell. I am trying to learn more about this product.
Add a comment...

Fred Sobotka

Shared publicly  - 
 
How can an album that looks so much like "Rags to Rufus" <http://www.discogs.com/Rufus-Rags-To-Rufus/release/597325> be so forgettable? I'd normally be disappointed, but this LP only cost me a dollar, which I am classifying as a curiosity tax.
1
David Gleason's profile photoLeon Katsnelson's profile photoFred Sobotka's profile photo
3 comments
 
My mother in law passed away recently. We inherited her turntable (no, not the DJ-grade) and a bunch of albums of Russian and classical music. I am reliving my childhood.
Add a comment...
People
Have him in circles
212 people
Isaac Yassin's profile photo
Gregg Abbott's profile photo
Ranjun Chauhan's profile photo
Cathy Swider's profile photo
Dawn Foster's profile photo
Andy Heydon's profile photo
Marshall Kaiser's profile photo
Work
Occupation
Data management consultant
Employment
  • FRS Consulting, Inc.
    Data management consultant, present
  • CollegeNET, Inc.
    Director, Systems Software
  • CollegeNET, Inc.
    Database Administrator
  • Universal Algorithms, Inc.
    Database Engineer
  • USA Group TRG
    Research Manager, Emerging Technologies Group
  • The Robinson Group
    Technical Consultant
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Portland
Previously
Phoenix
Contact Information
Work
Phone
503-484-5032
Email
Story
Tagline
The database is the beating heart of your company.
Introduction
In 2005, I started FRS Consulting and focused my diverse IT background into helping organizations of all sizes get the most out of their databases. It's difficult to overstate the critical role that effective data management now plays in every conceivable industry. A database is no longer just an immensely valuable collection of your company's facts, secrets, and ideas; it has also become the engine that powers your business. As someone who has spent the past couple decades working up and down the IT "stack" as a business application developer, technical consultant, sysadmin, data modeler, DBA, and business analyst, I bring a multi-faceted perspective and versatile problem-solving approach to my clients' most pressing challenges. When I'm not working with clients (or heading to an airport), I talk and write about databases wherever and whenever I can, including blogs, magazines, and at technical conferences around the world.
Bragging rights
Invited by IBM into their Gold Consultant program, an elite community of fewer than 75 world-class information management experts • Inaugural IBM Data Champion in recognition of ongoing publishing and advocacy of data management best practices • Awarded the Premier User Speaker distinction from the International DB2 Users Group the first year I presented at an IDUG conference • For my internship, I edited, compiled, and tested Pascal source code for the Airbus A320 jetliner, despite never having traveled by air
Education
  • Portland State University
    Computer Science
Basic Information
Gender
Male
Looking for
Networking
Links
Contributor to