Blog

  • Asset Tracking Webapp Written In Ruby On Rails

     

    asset_tracker
    Keeping track of company assets is important for insurance, warrantee and general informational purposes for purchased software licenses and hardware. I wanted a dirt-simple webapp written in Ruby on Rails, so I wrote one the other night and put the code on github. It’s a really simple Rails 2.2.2 app … no frills but does the job. If anyone would like to add some frills such as searching, sorting, pagination etc. I’d be happy to pull them back in. OpenRain would be very thankful 🙂
    asset_tracker 
    “A simple web-based asset tracking system for small businesses written in Ruby on Rails (RoR). New equipment is assigned to a specific location and the responsible person is notified of the assignment. You may optionally add serial numbers and an arbitrary amount of notes to each asset. Configured to run on top of PostgreSQL and sendmail by default, though both are reconfigurable.”
  • How To Make Original iPhone Sim Work In iPhone 3G

    I live in the U.S. and upgraded from the original iPhone to an iPhone 3G. If you simply put your old SIM into the 3G, however, you will only be able to use EDGE, and the phone will not use the 3G network. When purchasing a 3G model, multiple Apple sales representatives advised me that I would need to either keep each SIM in the phone with which it shipped and call AT&T to swap the phone numbers, or order a new SIM card for my existing number.

    Problem: AT&T won’t switch the phone numbers since each phone is still obligated to its own, separate 2-year contract, and ordering a new SIM will cost you $25.

    Solution: I physically went to an AT&T store and explained the issue. The sales rep just had to perform some voodoo in his computer system to enable 3G for the original iPhone SIM so it could be used in the new model and access 3G services. This allows AT&T to avoid having to modify any contracts while allowing you to upgrade to an iPhone 3G and use 3G services.

    Done!

  • Ben The Snowman Picture

    OpenRain’s heater when out recently, and it got cold. Property management figured out how to hack the unit into a working state again, but only after some badgering. Ben dropped some not-so-subtle hints 🙂

     

    img_0167

  • What If Ruby Had Final Variables Like Java Or Erlang?

    ruby

    After a long confusing Ruby debate today at OpenRain on the merits of functional, Erlang-esque write-once-read-many variables, I’m going to step onto the podium and just say it… Ruby should get “final” or “const” variables in a similar semantic style to Java, except at runtime. Rather than ramble on for 12 paragraphs explaining exactly how this might work, read this fictitious Ruby code snippet instead. (Optional: Also check out the chapter on “final” in Hardcore Java.)

    Final variables like this are really just an inline TDD mechanism.

    Allowing local stack data to be constant provides no functional enhancements to the software, but alleviates the need for certain types of tests by using the compiler and/or runtime to assert certain memory is immutable. The “friend_best” method variant in the code snippet would obviously break most existing Ruby programs, but ups the bar for defensive programming by preventing many common bugs out-of-the-box while still providing support for traditional Ruby variables. At the very least we should have something like “friend_better”. Adding this information to the parse tree will also make it easier for IDEs to provide features more easily implemented for static languages.

    TDD/BDD is in–no qualms about it–but we can make our code safer, cleaner and more concise by applying some of the lessons learned by our statically-typed language cousins over the last few decades.

  • 2008 Year-End OpenRain Reflections

    A couple weeks ago OpenRain had a private dinner party for staff and significant others to get to know each other better. Amidst each new wine bottle we talked about friends, family, etc… and discovered that our graphic designer becomes exceedingly funny with each glass of Pino. Beforehand, though, we had an internal meeting to note the goals we achieved/missed for 2008, and our high-level goals for 2009. I won’t go into the details, but the message is clear..

    2008 exceeded expectation, and 2009 will be huge.

    We’ll be growing.. a lot. Actually, we’ll most likely need to move again before summer. That’ll be an exciting time, but moving is always a massive pain. I do, however, look forward to hosting larger events without needing to borrow space from other suites in the building. Issues with our current lease notwithstanding, there should be plenty of options. We actually already have our eyes on a space, but it’s too early to speculate on.

    I’m feeling great about the team and our opportunities in the new year. We *do* have capacity in January we’re needing to fill (December is not a great time to be signing new web development projects), and have a new business development manager (John De Santiago) to own most of the new relationship development process, freeing my time for things which I’m better suited.

    With layoffs in Fortune 500 companies continuing to occur on a regular basis, I personally expect education enrollment and new small business start-up numbers to rise. Apollo Group (University of Phoenix) apparently just had it’s best quarter *ever*. American budgets in general, however, are being cut. It’s hard to say what this means for OpenRain’s web development business, but I think we’ll be fine by increasing attention towards marketing and sales activities.

    It’s funny to think I felt the same nervous excitement this time last year, but seeing as 2008 went so well, that’s a good sign of things to come.

  • Free Cross-Browser Testing

    If you’re a web designer or developer, definitely check out browsershots.org. It’s a free, easy tool for grabbing screenshots across browsers and platforms. Let’s hope the site stays supported!

  • Baby Pictures To Make You Smile

    I shot my nephews first birthday party this weekend. If these shots don’t make you smile, you may have a degenerative muscular facial disorder all up in the smilin’ region. Seriously… see a doctor.

    [flickr slideshow]

  • Better Business Bureau Racketeering

    I received a cold-call this week from a glowing BBB saleswoman representative excited to inform me that not only has my company been invited to join the BBB, but the 45 second Q&A at the beginning of our call qualified us for membership. And we can have the blessing and support of the BBB for the low low price of only $445.

    Let’s think about this for a moment.

    The BBB is supposedly a not-for-profit organization formed to protect and inform consumers on the ethical status of businesses. BBB funding, however, comes directly from the businesses they “investigate” in the form of membership fees. This means the BBB has a direct conflict of interest. An operational company with a clean record and good references (such as mine) has no need of the BBB except as a promotional novelty, and a company with a dirty record has no reason to pay to the BBB save for “cleaning up” their business record. There’s a name for this type of scheme; it’s called protection racketeering and is the same type of “business” performed by mobs. No thanks.

    Complete follow-up email below, though contact information changed to protect the mobsters representatives identity. Please do your own research on the BBB and help spread the word to prevent other startups from falling prey to this scam.

    —-

    Dear Preston,

    I enjoyed speaking with you regarding our invitation to become an Accredited Business with your BBB . You will be part of an elite group of businesses who have undergone a review process and adhere to the highest standards of business. I have enclosed our benefit package for you to review and a link to our website. Your annual BBB dues are $445. (This includes the BBB OnLine Logo!) We accept credit card or check by phone for your convenience. Please call me later at XXX-XXX-XXXX and we can take a few minutes to complete the accreditation information. We are the leader in marketplace trust and we look forward to having your company recognized as “BBB Accredited.”  Thanks again and have a great day.

    Xxxxx Xxxx | Business Relations Representative

  • Welcomed To The RRoD Club, Part 3

    I sat down 30 minutes ago to enjoy a final quiet hour of gaming before starting my next class tomorrow, and Microsoft kindly reminded me why I no longer use their other computing products.. yet again. First, the damn console insisted on crashing 3 times in about 5 minutes while playing Fable off of Xbox Live Arcade. The 360 just does that sometimes. Yeah.

    But then…

    Microsoft FAIL. Is there a Frequent RRoD Club or something? I feel like I should be accumulating RRoD miles.

  • Sustainable Living

    One purpose of my visit to New Mexico last weekend was to see what a self-sustaining single-family habitat in the Southwestern United States would.. or at least could.. look like. Several observations of which those of the region should already be keenly aware…

    • We use entirely too much water. Luxuries such as golf courses in 110 degree (Fahrenheit) heat consume an absurd amount of resources. The Governator officially declared California to be in a drought earlier this year, and Arizona… well… it’s a desert. Maybe we should lay off on the palm trees and grass, hmm? Fighting this hard against the Earth’s ecological tendencies for the sake of luxury is bound to produce the highly inefficient modes of living to which we’ve become accustomed.
    • Solar water heaters and photovoltaic collectors will be huge. Output effecientcy levels are increasing, they are approaching blue-colar affordability due to technological improvements and rebate programs, and fall in line with the ideal of consuming local resources.
    • We eat poorly, and also consume a tremendous volume of costly non-native food. Foods simply lend themselves better to certain regions and we need to be more explorative of regional food options.
    • Gas sucks. We all know it so I won’t go into it 🙁

    This is a snapshot of my own macro-economic sustainability opinions, which change rapidly with the times and fall somewhere between ecological conservatism and hard-nosed financial feasibility.

    Sustainable American living activists need to focus on three primary goals: (1) significant cultural change in all socioecominic classes, (2) improving sustainability technologies to produce incentives for #1, and (3) figuring out how to reduce the human footprint in economic context to make #1 and #2 plausible. Specific ideas I would like to see pursued..

    1. Focus aggrocultural subsidies away from small rural farms and onto medium-sized, community-run suburban farming initiatives which share equipment and resources. The notion of the independent, middle-American mom ‘n’ pop farm in Smallville will always be romantic, but you cannot ignore the economies of scale. We need to look at the production possibilities curve of farm size vs. output, factor in waste of transportation costs and pesticidal effects, and find a compromise which will allow significantly-sized local farms to produce native or near-native vegitation within a 20-mile radius of urban areas, while not requiring the populous to return to an aggregarian state or douse everything in chemicals. (Not that chemicals are inherently bad: just unnecessary and wasteful in many cases.)
    2. Incentivize large-scale adoption of solar water heaters by artificially raising the cost of traditional indoor tank water heaters and using the difference for solar subsidies. It’s ridiculous to spend energy heating a tank full of water in an empty air conditioned home when you could just put a damn tank outside in the sun for 10 minutes and have magnitudes more hot water for free. Sense make that does.
    3. Incentivize large-scale adoption of household solar arrays by using artificial energy costs to subsidize payments to households selling energy back to the grid via bi-directional meters.
    4. Plausible sustainability change requires working with the existing system. You can blame The Man all you want, but the world is not going to abruptly adopt better principles overnight. Changes need to come gradually–in a way people can slowly accept and adapt to–in incentives facilitated by the government, demand from the people, and interest of the industry.
    5. Ceteris paribus, chose local products and services to keep money in the region and reduce waste.
    6. Recycling costs cities too much. Trashing stuff costs citizens too little. Residents should force the issue with their municipality and compost the sanitary organic waste.
    7. The food industry needs to stop wrapping every last item in a silly little shrink-wrapped cardboard box and sell everything OEM-hard-drive-style. That is, make one box for the display, but sell the product in an extremely minimalist biodegradable packaging. This will be (1) easier on consumers since there’s less trash to deal with, (2) better for the environment, and (3) cheaper for everyone. You can put as many bright colors and wacky content on the display as you want, as well as print on the biodegradable packaging.