Life, Technology, and Meteorology

Author: mike (Page 19 of 26)

Seasonality 1.0 Released

After months of work, Seasonality 1.0 is finally ready for public consumption. Here’s some information from the press release:

Gaucho Software is pleased to introduce Seasonality 1.0. Seasonality takes weather monitoring to a whole new level with weather forecasts, radar images, sunrise/sunset times, and much more. View informative icons demonstrating what weather is coming your way over the next 7 days. Use radar images to check out where it is raining or snowing. Compare this month’s weather conditions to last month’s, or even last year’s. Keep track of just your hometown or multiple cities all over the U.S.

Some key features of Seasonality 1.0 include:

  • 7 day forecast with high/low temperatures and probability of precipitation.
  • Local radar image showing current precipitation.
  • Graphs of previous temperatures and wind speeds.
  • Daily sunrise and sunset times, along with the length of day.
  • Monitor multiple locations.
  • Automatically saves weather data to allow viewing of past conditions.

Definitely take a look at the Seasonality website. Try it out and let me know what you think!

Freezing Fog

The conditions here in Mt. Pleasant last night at 1am:

Freezing Fog and 14 degrees F at Mount Pleasant Municipal Airport, MI

We had a pretty good frost last night, and everything was covered with the stuff this morning. Here’s a shot of the tree in our front yard.

Speaking of ice…file this picture of a gutter on our house under W for weird.

Looks like something I saw at Kartchner Caverns back in Arizona.

Seasonality Finishing Touches

Seasonality is coming along really well, and I expect to release sometime before the end of next week. The code is done (unless I find any more bugs), and now I’m in the process of finishing up the business and web aspects of the application.

Releasing XRG was a piece of cake compared to the preparation required to release an application to sell. The XRG release just involved creating a DMG of the application, throwing together a simple website to download from, and sending emails to various sites to announce the release. At the time it seemed like a big deal, but looking back it was fairly low-stress. If something didn’t work, then it didn’t matter too much because XRG is free. 🙂

With Seasonality, I want the first release to go perfectly. I know it won’t, but if I try to make it perfect then hopefully I won’t hit far from the mark. There’s also all the work of actually selling the app. I’ve posted about registering Gaucho Software as a business, but there are other business aspects to take care of like registering with a sales company (in this case, eSellerate) to handle license registration, setting up an online store that works well and looks good, creating a web site that does a good job of communicating the coolness of the product, finding a hosting provider to offer the downloads (read about the great download fiasco of January 2005), and testing the hell out of the app.

Most of these I have been taking care of during the past week. eSellerate setup has been pretty nice, as they have a great web admin tool to help set up an online store. Configuring the templates for the online store has been more time consuming than I thought it would be, but I think it’s starting to look pretty good. Added registration code to the application was a new experience. Since I’ve never done this before, I’m a little concerned that I’m overlooking something and my app will be easy to crack. I’m probably worrying more about this than I should be. I’ve also been putting a lot of time into the product website, but I still have some more work to do in that respect.

For the hosting provider, I ended up going with Site5. After checking out some reviews, they got pretty high marks and they offered everything I was looking for except for mod_perl (and offer some cool things that I wasn’t looking for, like a dedicated IP just for my account). I signed up for an account on Sunday night, and they had it configured and ready to go within 15 minutes, which really impressed me considering I was signing up during off-hours. I scped all the files on download.gauchosoft.com over there, switched DNS, and everything seems to be working well. The box I’m on seems like it’s pretty new: quad 2.8Ghz Xeons with 2Gb of RAM, 3x160Gb drives, and a load that hovers around 0.1. I’m curious how far they will load up the machine before moving on to another host. From their other server stats though, it looks like they keep most of them with a load of 2-3 and only about half usage on the disk, so I’m thinking that kind of box should be able to handle a similar load without any problems.

Now all that’s left is testing the hell out of the app…and documentation. Bah, that’s gotta be the worse part of development. I’ve been putting off writing the Help and Readme files for days and now it’s to the point where I just need to sit down and take care of it.

I thought I would post a sneak peak of the Seasonality interface for all 3 of my loyal readers…so here’s a screenshot: (click for a full size version)

Gaucho Software LLC

Up until this point, Gaucho Software hasn’t had a selling product, so I have been putting off actually registering it as a company, if for no other reason than to not have to worry about the 2004 tax year. Now with the impending release of Seasonality, I figured it was time to register Gaucho Software as an LLC. This just gives me as a person some separation from Gaucho Software the company. Forming an LLC or a corporation is just a smart thing to do if you have your own business.

As you can probably guess, there is a lot of legal stuff that you have to take care of in order to do this. The most obvious change is that you need to keep company finances separate from personal finances, otherwise you may not be granted liability protection, which would defeat the whole purpose of forming the business entity. Here are a couple of other things that I have learned in the process:

  • If possible, have your fiscal year end on December 31st, so when you go to file your tax forms they are due on April 15th, the same day as your personal tax filing.
  • LLCs do not pay taxes on income, as the tax is passed along to the LLC members and claimed under the members’ personal income. However, LLCs need to file form 1065 every year to report earnings.
  • If you are the sole owner/member and the LLC has no employees, then you don’t need a federal Tax ID number.
  • Every LLC has to have a Registered Agent with an address in the state that you are registering your LLC in (no PO Boxes). The only purpose of the Registered Agent is to have a physical body that can be used in case someone needs to guarantee delivery of papers to your company, like in the event of a lawsuit. In the case of Gaucho Software, the Registered Agent is just myself.
  • Every state has slightly different laws, but in Michigan you need to file the name/address of the Registered Agent and Registered Office every year to the Secretary of State’s office. There is also usually a yearly fee to cover the costs of the filing.

I ended up doing my filing through an online company called LegalZoom. There are tons of different companies that will do the filing for you (just search for create LLC online). I found LegalZoom while visiting Entrepreneur Magazine’s website, and a quick Google search found many recommendations for LegalZoom across the web. Filling out their online form is a fairly quick and easy process, and I should have copies of the final documents submitted to the Secretary of State within 20-35 days. If I have any problems with them, I’ll definitely repost them here, but with their money-back guarantee, I don’t think there will be an issue. If you don’t feel comfortable doing something like this online, you can pay a little bit more and hire a local attorney. One that I talked to here said she would take care of everything for $500-600 plus the cost of extras like a company stamp or a set of books to start off with, etc.

Anyway, I thought I’d share some of this in case anyone else out there is thinking of creating their own LLC. If anyone else has anything to add, please post it in the comments.

Last Minute Design Changes

It’s really quite amazing to me just how many semi-major design changes can come up when nearing the end of an initial development cycle. Seasonality, for instance, has had quite a list of things come up just in the past few days, even though I “froze” the features I would include over a week ago.

One of them is a URL Manager. For each weather location that Seasonality monitors, it makes 4 different network connections to download weather data. This is fine when you only have 1 or 2 locations, but when I use it with 5 locations Seasonality creates 20 background threads to download data, which is far from ideal. One of today’s tasks is to create a class to buffer the amount of connections that are active and give one more layer of abstraction from the classes trying to fetch data.

Another semi-major design change was for using an XML-RPC connection. Mac OS X has stuff built-in to create XML-RPC connections, but they don’t support a WSDL configuration. There is a way around this using a WSMakeStubs application included with the developer tools, where you point it to the WSDL file you want to use and it will create a couple of class files for you with an implementation. It takes awhile to adapt to your project, especially since there a few bugs in the code it creates. I got it working pretty well fairly early on in the development process. Unfortunately, now that 1.0 release is coming up and I’m starting to seal up memory leaks, I found a pretty major one in the code while exiting the run loop after getting the data. I fought with it for several hours, but ended up determining that the bug was somewhere in the CoreServices Framework that I didn’t have access to, so I couldn’t find a way to fix it.

So back to the drawing board. It was pretty frustrating having to re-implement a feature that I thought was already done, but I found some helpful stuff online to work through it. Brent has an example XML-RPC project that creates a connection through CURLHandle to retrieve information. I already use CURLHandle with my other connections, so it was very convenient to use it here as well. I wrote my own small parser to remove the SOAP wrapper around the XML response and everything works great. In fact, the implementation I have now is faster than the old “official” method of doing it, by a large margin.

Anyway, these and other issues are adding quite a bit of time to the completion of version 1.0. In the end I’m sure all of this will pay off, but in the mean time it’s a lot of work.

WordPress

Well the switch is complete. I moved everything over to WordPress and put in some web redirects. Hopefully you didn’t notice anything different if you are using a newsreader. I’m using NetNewWire here, and not only did it pick up the new RSS file and recognize that the posts were the same, but it also reset the feed URL to the redirected link. Very smart programming by Brent…

Anyway, if you’re reading this in a newsreader, be sure to visit the actual page to check out the new interface. I used mostly the default view, but I changed the graphics so they were a little more custom. Also, as I mentioned before, WordPress hopefully will have better comment SPAM protection, so commenting is enabled again. If you have anything to say, go for it. 🙂

Blogging Software Switch

Since I started this blog in November 2003 I’ve been using Blosxom. Blosxom is particularly easy to set up, is written in Perl so it’s easy to customize, and it’s post database is a directory structure of text files making for an easy backup. Lately, I’ve been wanting to add things to make the site more complete, such as re-enabling commenting with protection against comment spam, RRS 2/Atom syndication, and a better archive calendar to name a few. All of these together would be enough work for me to start considering other blogging platforms.

Then Joe mentioned WordPress in one of his posts a few days ago, so I looked into it and gave it a shot. Since I have a FreeBSD server here, configuring it through the ports system was a piece of cake: cd /usr/ports/www/wordpress ; make ; make install. It uses a MySQL database to keep track of postings, users, etc, so I created a tablespace for it on a local MySQL server. Then I hit the setup page for the software, told it what database to use, and away we went. Setting up WordPress is a 2 step process, with step 2 being “There is no step 2.”

WordPress has import scripts from a variety of other blogging software. The useful port was from Movable Type. Marc Nozell has created some flavor files for Blosxom that will create an output file compatible with Movable Type’s export feature. Importing my postings into WordPress from that file worked pretty well, with only the small drawback of no previous writebacks getting moved over.

So far, I’m really impressed with the entire system. Since there are multiple users, you can restrict commenting to only come from people with accounts (which I might do), or have multiple people post stories to the blog (probably won’t do). All administration is taken care of from a web admin interface, which seems pretty intuitive accept for a slight learning curve when it comes to user permissions.

The one drawback is that WordPress is written in PHP, which many won’t consider a drawback at all, but I’m a Perl guy, so Blosxom will be missed in that respect. I’m hoping to finish configuring it and customizing it to my needs sometime later this week. I’m sure I’ll post more about it then…

Bright Night

If you live in or around Michigan, you’ve probably noticed the most recent string of snow storms. On Sunday we got about 10 inches of snow, and yesterday added about 2 more inches to that, along with a forecast for snow off and on for the rest of the week. As you can probably imagine, everything is covered with the stuff and the scenery looks particularly nice right now.

Last night was even more remarkable though. We were in between storms, and it was perfectly clear out with close to a full moon. Coming from an area that never got snow, it’s amazing how bright it is at night when the sky is clear, the moon is full, and there’s white colored stuff all over the place. It was so bright, that there were distinct shadows on the ground…err snow.

I was wanting to get a photo of it, but my digital camera here has been kind of acting up lately and I doubt the grainy shots it takes in low-light situations would have done the evening justice.

NewApp

You may be wondering what’s been cookin’ in the Gaucho Software kitchen…or maybe you haven’t, in which case you can ignore the rest of this post. 🙂 There have been a couple of projects that have come to life during the past several months, but I’ve finally decided on one to go with and have brought it to a stage where a release is on the horizon. I’ve shown it to a few people and have generally gotten good feedback on it, and I’m hoping to have a beta release in the coming weeks.

So what kind of app is it? Well, NewApp is a weather monitoring software package called Seasonality. While working on XRG, I enjoyed writing code to monitor the weather, but there’s always a space constraint to work with in XRG. I wanted to take weather monitoring to the next level and offer it in a separate app. Some things, such as graphing weather over the past day, carry over from XRG to Seasonality. However, Seasonality doesn’t just stop there; there’s a whole lot more to offer. The first release will have features such as a 5 day forecast, weather radar, and the ability to monitor multiple locations. Future releases will include a lot more features that I feel will really set it apart from other weather software packages.

If you are particularly interested in the weather and would like to beta test Seasonality, let me know (my email address is on the left). I probably could use 5 more beta testers, all of whom will get free licenses when a final version is released. Also, if you have ideas for what you would like to see in a weather package that no one else offers, please get in touch with me.

« Older posts Newer posts »

© 2026 *Coder Blog

Theme by Anders NorenUp ↑