Category Archives: Technology

Corporation or LLC – that is the question.

I’ve always been one that is not at all comfortable relying upon a single source of financial well being. Since the early 80’s in one form or another I’ve owned and operated a business.

Early on I have a little Electronics sales business selling Cell Phones to the well-healed during it’s hayday. It was fantastic. Hardly work, get paid well, and live La Vita Loca.

I’d take a number of odd jobs during that time, driving computer mag tapes around Silicon Valley, installing car audio systems, systems administrator for a large multi-national corporation, Y2K mitigation for a number of organizations (not the least strange of which was the California Department of Corrections).

At any rate, as I said, I’m not one that’s comfortable with a single source of income, so I’ve been investigating business structures to determine what my next organization will look like.

I have plenty of experience being the President and CEO of a corporation, having ran one from 2000 to 2006. The structure offers a lot of advantages, such as dividing income between corporate tax concerns and personal tax concerns. Corporations also have the advantage of having ownership interest in other organizations. But there are also some disadvantages, not the least of which is very strict requirements and regulations on annual meeting, IRS and state tax filings, additional book keeping to track basis and stock ownership (plus managing different classes of stock).

I was really more of a burden than a blessing to myself, which is to a large degree why I terminated operation in 2006 and became a W-2 wage slave.

Since that time a number of interesting ideas have popped into my head. One of which are some software product ideas for the iPhone.

My intent at this point is to move forward on development of 2 concepts. One of which will have a pretty limited market, the other, I hope, to have a much wider market, and is a type of social networking application. The second of which I hope to see wide spread usage. The plan, is for the first app to fund development of the second. That is the plan.

Before I cut my first line of code, I wanted to know what type of organization I wanted to create. I need to have my business licenses in place, before I complete the Apple Developers Contract. They are quite clear that it won’t be approved for any shoddily / hastily created pseudo-company.

I’ve done some reason on the Secretary of State’s website, checked a few of the fee structures, and such, but my primary source of research on the business organization from has been from the book LLC or Corporation – How to Choose the Right Form for Your Business“. Author is Anthony Mancuso, Attorney.

It’s not a long read, about 250 pages, which I spend the last 5 evenings digesting. It’s rather repetitive, which was a little frustrating for me, initially. However, having completed the book I can understand at least one reason for it’s repetitive nature. If anyone were to pick up the book and *not* read the entire thing (why would you do that, well, sometimes I’ve been guilty of poaching the parts of books I need without taking the time to digest the entire tome) they would still get the frame of reference required to get useful information on the topic of interest. I’d say, it’s a modern writing method for the more ADHD nature of our society. In the end, it’s worth dealing with the repetitiveness. It has it’s place.

Another helpful part of this book is extensive use of examples. More than once I’d read the example 2-3 times to really grok the point, and that was very helpful. The last chapter is also dedicated to some ‘real-world-ish’ examples of business formation decision making. All in all, it was well worth the $25.00 price tag.

So, what did I decide to do? Well, an LLC is the type that I’ve decided to select for a number of reasons, but the primary ones I’ll list here:

  • Simplicity of formation
  • Limited personal liability for company debt
  • Pass-through tax advantages (this sword cuts both ways though)
  • Fewer operational requirements (no board of directors, meetings, etc.)
  • Simpler tracking of each owners basis in the company

So, with my new company name selected, and my form of business decided, it’s time to move forward with foundation of the company.

You know I’ll be sure to post information on that once the State registration has been completed any my licenses granted, EIN number acquired, and finally the domain names registered.

iPad sales hit 3 million units

Apple says iPad sales hit 3 million. Wow.. that’s A LOT of people buying something that a lot of the geek cognisti and Windoze apologists said was an under-powered POS that any Windoze tablet (too bad none really exists, isn’t it?) would smoke.

Sounds like the nay-sayers on this thing need to buy a clue.

I don’t own one, but I’ve used them. They are VERY slick devices. The UI is wonderfully executed. Personally, I’m going to hold out for the 2nd generation one iPad. With 3 million sold already I think Apple can say they have a hit on their hands! 🙂

Apple says iPad sales hit 3 million as shares climb

Also of interest, is reading this article, about how once you go Apple, people tend to not go back to what they were using before:

What makes Apple so sticky

For a product that seemed to some ‘experts’ to not have a purpose, or any differentiating quality that would compel people to buy it, I find it amusing that they are having a hard time keeping up with the demand?

R/C micro Li-Po batter charger testing

It’s come to my attention, that the little battery chargers that came with the various helicopters, might not be working up to par. Taking longer than I want to charge is one thing, but not charging properly is another entirely! A recent visit to the hobby shops indicated that it’s common for them to fail. But, they should be easy enough to test to see if they are applying a full charge by the simple use of a multi-meter.

Thus, I dug up my trusty Fluke (it must be over 25 years old now), put in a new 9v battery and started some testing.

All batteries here are Lithium-Polymer (Li-Po) 2-cell 7.4v batteries. 2 of the batteries tested are for the Blade CX3, the other for the Madhawk 300. Here is a link to the chart I created to document the batteries I’ve used.

  E-Flite Battery Charger ExceedRD Battery Charger
Exceed-RC 7.4v 1000mAh 8.4v     8.4v    
Tenergy 7.4v 900mAh 8.43v     8.43v 8.43v  
E-Flite 7.4v 800mAh 8.43v 8.38v   8.43v 8.43v  
Hyperian VGX3 #1 8.43v          
Hyperian VGX3 #2       8.43v 8.43v 8.44v

Results

Testing so far indicates that the chargers, although slow, are doing the job. One battery, the E-Flite 800mAh seemed a little down on power during the 2nd cycle of the test. It might already be suffering some degradation of performance. If that’s the case, it’s pretty pathetic. I plan to run each through at least 3 charge cycles to get a decent dataset.

A little model building.

It’s been, almost a decade since I picked up an X-Acto Knife and built a styrene model. This weekend changed all that.

The reasons are many, some I can’t even go into. The ship was picked for 2 reasons. Price (about $10) and it had below waterline detail. That’s all I was looking for and this fit the bill. What turned out to be serendipitous fortune simply makes the project that much more poignant.

Blucher

The Blücher was a German Admiral Hipper-class heavy cruiser. The Kriegsmarine’s newest ship at the outbreak of World War II, having been in commission for just over six months, she was sunk by Norwegian shore defenses at the Battle of Drøbak Sound on April 9, 1940, the first day of the invasion of Norway (Operation Weserübung).

It took approximately 4 hours to formulate the plan for the build, and the first plastic was cut on Saturday night.

12 hours later, the final result. And I’m quite pleased with it. Moving some of the parts did not require much skill at all, but moving the starboard side screw was, well, a several hour effort. In the end, a fair bit of plastic welding was done, and body filler applied to completely conceal the original location. I hope you can see the final result in the side shot.

Blucher

I wish I could say more about it. 🙂

Personalized Plate from the Past

It came up in one of the discussion boards I frequent, the question of personalized plates.

Over the years, I’ve had a few. Most of them long gone, and mostly forgotten, but there is one that I did keep.

RC46.COM

This plate was on the first new motorcycle I ever purchased. A 2000 Honda VFR (aka RC46). Yellow of course! Not long after the purchase of the bike, I registered the domain name RC46.COM. I long let it lapse. It was picked up by someone else about 8 years ago. Now it’s parked at sedo.com a domain auction/resale site.

What was fun, is that I did find it captured in the ‘Internet Wayback Machine‘. Here are a few snapshots.:

2nd Generation RC46.COM design. Circa 2001.

3rd Generation RC46.COM Circa 2002.

I don’t think I’ve had any personalized plates in WA. Maybe I have and I’ve simply forgotten. I do run LEM plates on my cars and motorcycles, but they are not really ‘personalized’. I do this for many reasons. One of which is that they are very easy to remember when filling out hotel registrations. 🙂 When on a road trip, not having to run outside to check a plate is just one little thing that makes life a bit easier.

Setting up a custom ‘Weather Reader’ (Part 3) – Using Data


<– Part 2

It would be short work to grab the current observations from the local station’s file, then grab the full projected forecast from the Zone’s XML formatted data file (example for Bremerton). I checked the full forecast XML, and unfortunately it does not include the local current conditions. In the grand scheme, this is not a big deal since I’ll need to grab three forecast files already. One more file for current observations is not that much more of a burden.

This section contains the Maximum Forecast Temperatures, covering outlook:

<temperature type="minimum" units="Fahrenheit" time-layout="k-p24h-n7-1">
<name>Daily Minimum Temperature</name>
<value>40</value>
<value>45</value>
<value>43</value>
<value>44</value>
<value>43</value>
<value>43</value>
<value>42</value>
</temperature>

This section contains the Minimum Forecast Temperatures, covering outlook:

<temperature type="maximum" units="Fahrenheit" time-layout="k-p24h-n7-2">
<name>Daily Maximum Temperature</name>
<value>59</value>
<value>61</value>
<value>60</value>
<value>61</value>
<value>61</value>
<value>60</value>
<value>60</value>
</temperature>

Also in the file is the projected percentage of precipitation:

<probability-of-precipitation type="12 hour" units="percent" time-layout="k-p12h-n14-1">
<name>12 Hourly Probability of Precipitation</name>
<value xsi:nil="true"/>
<value xsi:nil="true"/>
<value xsi:nil="true"/>
<value xsi:nil="true"/>
<value xsi:nil="true"/>
<value>30</value>
<value>30</value>
<value xsi:nil="true"/>
<value xsi:nil="true"/>
<value xsi:nil="true"/>
<value xsi:nil="true"/>
<value xsi:nil="true"/>
<value xsi:nil="true"/>
<value xsi:nil="true"/>
</probability-of-precipitation>

The XML also is kind enough to include the image names.   Based on this, the actual visually rendered page is a style sheet applied to the XML data, providing a human readable web page <i>(something I need to get more familiar with)</i>.

<conditions-icon type="forecast-NWS" time-layout="k-p12h-n14-1">
<name>Conditions Icon</name>
<icon-link>http://www.nws.noaa.gov/weather/images/fcicons/nbkn.jpg</icon-link>
<icon-link>http://www.nws.noaa.gov/weather/images/fcicons/sct.jpg</icon-link>
<icon-link>http://www.nws.noaa.gov/weather/images/fcicons/nsct.jpg</icon-link>
<icon-link>http://www.nws.noaa.gov/weather/images/fcicons/bkn.jpg</icon-link>
<icon-link>http://www.nws.noaa.gov/weather/images/fcicons/nbkn.jpg</icon-link>
<icon-link>http://www.nws.noaa.gov/weather/images/fcicons/shra30.jpg</icon-link>
<icon-link>http://www.nws.noaa.gov/weather/images/fcicons/nshra30.jpg</icon-link>
<icon-link>http://www.nws.noaa.gov/weather/images/fcicons/shra.jpg</icon-link>
<icon-link>http://www.nws.noaa.gov/weather/images/fcicons/nshra.jpg</icon-link>
<icon-link>http://www.nws.noaa.gov/weather/images/fcicons/shra.jpg</icon-link>
<icon-link>http://www.nws.noaa.gov/weather/images/fcicons/nshra.jpg</icon-link>
<icon-link>http://www.nws.noaa.gov/weather/images/fcicons/shra.jpg</icon-link>
<icon-link>http://www.nws.noaa.gov/weather/images/fcicons/nshra.jpg</icon-link>
<icon-link>http://www.nws.noaa.gov/weather/images/fcicons/shra.jpg</icon-link>
</conditions-icon>

Design and coding of the file downloads, processing and construction of the status file is the next step.  One thought I have, is to download and store locally, all the images.  This will keep my page off of their webserver’s request log.  External includes of images can be a burden on a remote server, if you start to abuse it.  No sense in being a bad netizen.  The question that I need to answer is, <i>CAN I</i> get a list of all the potential images (and there are <i>many</i>) and automate the download to system I plan to run this little product upon.

Automation

Automation of the XML downloading and parsing, will be handled by PERL (at least in this first tool, it may be converted to JAVA on a second iteration, once I’ve performed usability testing of this first iteration).

Additional binary libraries are required first:

apt-get install libxml2-dev

So, here is the skinny. First, have to move into the location where CPAN unravels the packages:

cd /root/.cpan/build

Next, move into the directory for XML::LibXML and manually build with these steps:

cd XML-LibXML-1.70-OucP9U
perl Makefile.PL
make
make install

Next build the XML::Atom package:

cd XML-Atom-0.37-pcVvAG/
perl Makefile.PL
make
make install

Next, a few PERL modules must first be installed. NOTE: the XML::SAX modules are suggested, to provide a big boost in XML parsing performance. You might be surprised at how much processing power the typical XML parsing packages require. XML::SAX and XML::SAX::Expat provide a better code for XML parsing.

cpan LWP::UserAgent
cpan HTML::TokeParse
cpan XML::Feed
cpan XML::SAX
cpan XML::SAX::Expat
cpan Data::Dumper
cpan XML::Feed
cpan XML::Atom

NOTE:
As hard as I tried, CPAN would not install XML::LibXML nor XML::Atom. So, I had to get down into the muck and manually build the packages. The trick was getting the libxml2 package talked about earlier.

One critical required step, if you are going to write and use custom PERL libraries, you need to add the following line to a shell initialization file. I’ve been using bash, for lack of any reason to use other shells. Thus, I added this line to my ~/.bash_profile

export PERL5LIB=$HOME/plib

Once that is done, you’ll need to source the updated config file, or logout/login to gain the benefits of the change.

Step 4 – coming soon

Setting up a custom ‘Weather Reader’ (Part 2)

<-- PART 1

Locating Suitable Data Sources

The process of finding the desirable data sources, can be a challenge. I already know which of the 5 day forecast sources I want to use.

Bremerton, WA

Tacoma, WA

Seattle, WA

Maybe I’ll add this one too, just to so I’m reminded of what I’m missing in CA:

Campbell, CA

Next is a page that contains the CURRENT and HIGH / LOW temps. In the past I have located some text based data files on the NOAA.GOV website. I’ll have to dig up my notes one this. From time to time NOAA moves those files and changes the format, so those notes might not end up being that helpful. It is somewhere to start.

This page here, has a pile of nice detailed information (see compressed screen shot) but does not contain everything I’m looking for:

Recent WX from Bremerton National Airport.

XML DATA!. XML is something I know more about, than I really care too, but it is a portable, easily parsable and text data format. I’ve not yet investigated the contents here, but it does look promising!

Washington State WX XML Feeds

TO BE CONTINUED TODAY

Part 3 –>

Setting up a custom ‘Weather Reader’ (Part 1) – Product Plan

What is a “Weather Reader”? Well, it’s like a “News Reader”, but it’s purpose is to check the web for local weather conditions and display them on a computer screen. For this project I’ve revived an old Averatec laptop, installed Ubuntu 9.10 on it and started to write some PERL.

Beat up old Averatec AMD64 laptop, only 1/2 the keyboard works and the battery is shot.

Weather Data

Where to get the weather data? Personally, I like to go to the source. The public source at NOAA.gov. This is a government agency, paid for by my tax dollars (and yours too if you’re a US tax payer.. of which only 53% of working people in the US are, but that’s another story. So, free for the taking as far as I can tell, and am concerned. Which is good, because the real heavy work is up to me. Finding a URL is one thing, using it for something productive is another thing.

To see what I’m looking at as a source without clicking a bunch of links, here is a screen shot of my indented HTML victim:

Seattle Weather from NOAA website.

Now, the only part that I’m interested in is this one:

I’m sure some of you are asking, “WHAT’S THE POINT!?!?!?”. Well, I have several, not all atop my head. As an avid motorcyclist, weather is almost as import to me as mariners and aviators. Weather might look good for the moment, but around here anything can happen. It’s good to know what the forecast is. And not just in one location. Since I transit two area micro-climates commuting to work, knowing that weather will be at the end points of my journey are are a minimum requirement. Plus, I’m lazy. Not so lazy I won’t write a program to do this, but lazy in the larger sense, of I just want to hit a button and see all the data I want, not have to wait for the Weather Chanel to decided it’s ready to dispense it’s forecast, or hunt around on various local news sites. Nor, frankly, have to click on TWO hyperlinks to see what weather will be like HERE and THERE. Nope, I’m just too lazy for that, so I’ll spend 8-32 hours figuring out a way to save myself 2-3 minutes a day (I didn’t say I’m always smart, but always lazy). Remember; “Laziness is the father of invention!”. Digressing….

The Plan

The plan is to use PERL, run every 30 minutes from 5 AM-> 1 AM, and grab the weather page shown above. Parse out only that which I want, and then re-construct my own page on my own server. It’s a basically a mashup page of what I want to see.

Checking the source code of the page, I see that, ugh, NOAA did not supply and useful DIV markers that I can use. So, this will be a rel brute-force process to detect, select, extract and re-construct the page of my dreams. Yes, I can be easily entertained.

<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign ="top" align="center">
<td width="11%"><b>Tonight<br></b><br><img src="/images/wtf/nshra50.jpg" width="55" height="58" alt="Scattered Showers Chance for Measurable Precipitation 50%" title="Scattered Showers Chance for Measurable Precipitation 50%" ><br>Scattered<br>Showers<br>Lo <font color="#0033CC">45 &deg;F</font></td><td width="11%"><b>Tuesday<br></b><br><img src="/images/wtf/shra50.jpg" width="55" height="58" alt="Scattered Showers Chance for Measurable Precipitation 50%" title="Scattered Showers Chance for Measurable Precipitation 50%" ><br>Scattered<br>Showers<br>Hi <font color="#FF0000">54 &deg;F</font></td><td width="11%"><b>Tuesday<br>Night</b><br><img src="/images/wtf/nshra30.jpg" width="55" height="58" alt="Scattered Showers Chance for Measurable Precipitation 30%" title="Scattered Showers Chance for Measurable Precipitation 30%" ><br>Scattered<br>Showers<br>Lo <font color="#0033CC">44 &deg;F</font></td><td width="11%"><b>Wednesday<br></b><br><img src="/images/wtf/bkn.jpg" width="55" height="58" alt="Partly Sunny" title="Partly Sunny" ><br>Partly<br>Sunny<br>Hi <font color="#FF0000">57 &deg;F</font></td><td width="11%"><b>Wednesday<br>Night</b><br><img src="/images/wtf/hi_nshwrs30.jpg" width="55" height="58" alt="Chance Showers Chance for Measurable Precipitation 30%" title="Chance Showers Chance for Measurable Precipitation 30%" ><br>Chance<br>Showers<br>Lo <font color="#0033CC">46 &deg;F</font></td><td width="11%"><b>Thursday<br></b><br><img src="/images/wtf/shra30.jpg" width="55" height="58" alt="Chance Showers Chance for Measurable Precipitation 30%" title="Chance Showers Chance for Measurable Precipitation 30%" ><br>Chance<br>Showers<br>Hi <font color="#FF0000">59 &deg;F</font></td><td width="11%"><b>Thursday<br>Night</b><br><img src="/images/wtf/nshra30.jpg" width="55" height="58" alt="Chance Showers Chance for Measurable Precipitation 30%" title="Chance Showers Chance for Measurable Precipitation 30%" ><br>Chance<br>Showers<br>Lo <font color="#0033CC">46 &deg;F</font></td><td width="11%"><b>Friday<br></b><br><img src="/images/wtf/shra.jpg" width="55" height="58" alt="Chance Showers" title="Chance Showers" ><br>Chance<br>Showers<br>Hi <font color="#FF0000">59 &deg;F</font></td><td width="11%"><b>Friday<br>Night</b><br><img src="/images/wtf/nshra.jpg" width="55" height="58" alt="Chance Showers" title="Chance Showers" ><br>Chance<br>Showers<br>Lo <font color="#0033CC">46 &deg;F</font></td></tr>
</table>

Snagging that out of the documents for 2-3 locations will get me what I want. It should look something like this, but the example here does not have any stylesheets applied, it’s a direct rip and mash.

Sample mashup, this was done manually. It at least proved the concept.

There are a couple of problems with that page though, it’s going to take up too much real estate on the final page. Here, it’s almost too large to view on my laptop’s main screen. So, some embedded CSS is in order. This hear overloads the td type, making any text found within anytd rendered at 80% of the normal size. This also overloads creates a style named headish that I is applied to the section titles:

<style>
.headish { 
  font-weight:bold; 
  background-color:#CCC; 
  font-size: 1.2em;}
td { font-size: 0.8em; }
</style>

The result of that very small change, gives me a smaller visual footprint, and formatting at little more pleasing to my sensibilities:

A little more hammering around in the stylesheet, and adding a CURRENT and High/Low temps forecast for the day. A little closer to the desired mockup. I still need to locate a suitable news feed to process:

A little closer to the desired mashup page.

PART 2 –>