Aug 20 2009

Why should I blog?

Tag: General, TechnologyJosh @ 10:48 pm

Why should I blog?  I Tweet frequently, and my tweets auto-update my Facebook status for all my friends to see and make insulting comments about. By the time I can get a chance to write a full blog post about whatever it was I found interesting, it’s old news.

I’ve never been one to spend a lot of time blogging, but it’s been like 5 months since my last blog post.  My content all goes to Twitter, Facebook, and Flickr these days.  While it is much easier to post a quick note to Twitter than to write a full blog post, I believe there are still 2 reasons to blog.

1) Status updates may pass, but a blog post lasts forever. A Twitter/Facebook status update is perishable. Within hours (or even minutes), it’s irrelevant and lost in hundreds of status updates your friends see every day.  If you are interested in your content hanging around awhile, write it on your blog.

2) Sometimes 140 characters just aren’t enough. I’m a wordy type of guy.  Once I get started, it’s hard to shut me up.  It takes a great deal of discipline for me to say what I need to within the 140 character limit imposed by Twitter.

Because I don’t blog very often, I’ve decided to change the focus of joshmoody.com away from blogging and toward the content that I’m actually posting regularly.  Because I still may find the need to blog on occasion, I’m not going to completely remove the blog, but it’s going to shift to the background.  In the next few weeks (hopefully), I’ll be replacing the front page of this site with something similar to friendfeed.com.  I’m going to aggregate my recent Flickr photos, Tweets, and blog posts into a single stream.

I’m sure there are probably Wordpress plugins to do what I’m looking for… heck, I even wrote a similar WP plugin one time – but I don’t want to be tied to Wordpress.   The security vulnerabilities inherent in a project like Wordpress concern me, and I’m not sure I’m going to keep using it.  I’m going write something custom that I can later tie into whatever blogging platform I’m using.  I was thinking about importing my friendfeed into this site, but I have a feeling friendfeed will be rollled into Facebook soon and may not continue to function as it does now.

I would like to start blogging a little more often – technical stuff like programming concepts, tips, and tricks.  We’ll see how that goes.

Share/Save/Bookmark


Mar 17 2009

Twitter conventions explained for Facebook users

Tag: GeneralJosh @ 10:48 pm

For you non-Twitter folks on Facebook….

I’ve gotten a couple questions lately about conventions I sometimes use in my FB status updates. Here’s the story.

If you see a FB status update that contains #some_text, it’s most likely a Twitter user who has set up their FB status to auto-update from their Twitter updates.

The #some_text syntax (called a hashtag) specifies a topic for the Tweet.  A “Tweet” is a status update, for those who don’t know Twitter lingo.

Example: “Kris Allen did really well tonight on #Idol”

This allows you to more easily use the search feature of Twitter to see what other people are saying about the topic in real-time. See http://twitter.com/search?q=%23idol for what people are saying about American Idol right now.

If you see a FB status update like “RT @SomeName Mary had a little lamb”, that is a Twitter user who is Re-Tweeting another user’s post.  @SomeName is the original poster of the information.

Example: “RT @FOX16News Ark. launches Web site to track stimulus http://tinyurl.com/bnmamq

This is the same concept as providing a citation in a research paper. It’s like saying: “I’m not the original source of this information, but want to share it with you and give credit to the original author”. 

BTW, if you are on Twitter and want your Tweets to update your FB status, you can do so with http://apps.facebook.com/twitter/.

Share/Save/Bookmark


Nov 14 2008

Award Winner

Tag: General, TechnologyJosh @ 8:24 pm

I’m pleased to announce that the newsroom application I wrote for the Governor’s office won the 2008 eC3 Excellence Award in the category “Innovation in the use of social networking to enhance citizen involvement in government”.

Gov. Mike Beebe’s Information Network of Arkansas encourages citizens to help craft a positive vision for their state. Arkansas.gov offers numerous online services and an e-newsroom with audio/video, podcasts, four different electronic newsletters, listservs and RSS feeds.

I actually wrote this application for Gov. Mike Huckabee, then updated it a bit when Gov. Beebe entered office last year.  Then we did a major enhancement earlier this year to integrate with content from Picasa and YouTube.  Thanks to this application, Governor Huckabee became only the 2nd Governor in the U.S. to have Video podcasts in iTunes!

Of three awards given by the eC3 (National Electronic Commerce Coordinating Council) this year, Arkansas won two!  We also won the award for “Innovation in protecting the privacy and integrity of citizen information” for a write up in which my friend and co-worker David described the security initiatives we have implemented.

Read more about eC3

Share/Save/Bookmark


Sep 15 2008

Software Development Methodologies

Tag: TechnologyJosh @ 9:34 pm

I’ve been reading about Agile Software Development this evening. I’ve never really categorized my preferred style of development, but I’d say it closely resembles the Agile style.

Basically, Agile development involves short iterative cycles of development with frequent deliverables.  There is minimal planning and the stakeholder is frequently consulted for feedback.  The goal is to have a working release at the end of each development iteration with minimal bugs.  The iteration is complete when it passes tests.  Then it’s time for feedback and the next iteration of feature development.  Working software is the primary measure of progress.

It seems that with the Agile development methodology, you are more likely to have a Mission Statement than a Project Plan.  You are working toward an end goal, but the path may not be predictable.

I find this quite interesting.  In my office, our Project Managers want to have project plans that boil down to: Development will begin on ??/??/???? and end on ??/??/???? and will take X hours. Testing will begin on ??/??/???? and end on ??/??/???? and will take X hours. Deployment will occur on ??/??/????.  The end result will contain features 1a, 1b, 1c, 2a, 2b, 2c1, 2c2, 2c3, 2d.

This method of strict project planning isn’t all bad, but it isn’t very darn likely either.  Crap happens. Features change.  We learn something new. This is why I lean more toward the Agile development philosophy.  It makes allowances for unexpected circumstances.  Nay, it expects crap to happen.

I’ve worked on many different projects this year.  A couple stand out as being particularly complex and high profile. The first one followed a strict project plan.  No wiggle room.

“We must have the project finished on this date. Create a project plan that fits this end date, then make sure you hit the date, no matter what.”

So that’s what we did.  The business owner started wanting changes almost immediately, but it was too late by then.  We didn’t deliver anything for testing until just before the end of the project.  There was no time to change/add functionality based on feedback from the stakeholder at the last moment.  Had we made small deliverables all thru the development cycle, we could have flushed all of that stuff out before the due date.  Instead, it was a single massive deliverable with no room for changes.  The software worked as requested, but the business owner didn’t request everything that it needed to do.  Now we’re faced with large sets of feature enhancements for an application that just went live in what was supposed to be it’s final form.

The second project had a looser project plan, but still a firm date. It was approached a little differently.

 ”Here are the goals of the application, and a simple flow chart. Here are the milestone deliverables.”

Instead of working strictly toward the end result, I developed iteratively with the end result always a distant thought.  I delivered the first milestone within a few days.  It didn’t do much, but it worked. All other functionality would derive from that.  Over the next several weeks, I delivered more components of the application in iterations.  Each iteration was a working application that was immediately ready for user testing and feedback.  These quick iterations didn’t completely fulfill the goals of the project, but each got us closer. And each iteration kept the stakeholder involved and giving feedback. After completing a particular iteration, I discovered the project was done.

We shifted directions a couple times on this second project, but those direction changes evolved from our understanding of the project and requests from the stake holder, and contributed to a successful deployment without a slew of changes shortly thereafter.  I attribute this to the fact that the application evolved during the development phase to be exactly what it needed to be.

 

 

Share/Save/Bookmark


Sep 14 2008

Test Data Generator

Tag: TechnologyJosh @ 11:01 pm

I frequently have the need to enter fake data when developing/testing an application.  Things like names, addresses, credit cards, etc. To assist with this, I’ve been working on an application to easily produce test data.

Currently, it generates the following:

  • Full Name (First, Middle, and Last.  First and Middle names are for same gender, though the gender is randomly chosen)
  • Address (Street Address, City, State, Zip, County)
  • Phone Number
  • Credit Card (Type, Number, Expiration)
  • Bank Account (Bank Name, Account Type, Routing #, Account #)
  • Date of Birth
  • Driver’s License (Number, State, Expiration)
  • SSN
  • Email Address
  • URL
  • Company Name

It can generate any of the above items individually, or you can generate a “Person” with all of these data elements included.  If generating a person, the email address will contain the person’s first name, with the domain matching the company’s name.  The area code of the phone number will be correct for the City/State of the address.  The State for the Driver’s License will also match the person’s state.

The credit card and banking numbers will also pass basic validation algorithms (luhn/mod10).

I should note that this is similar to what can be found at http://www.fakenamegenerator.com, which I discovered after I started working on this project. The difference is my solution is more robust, and can be used programmatically instead of having to visit the website.

Currently, this is only a basic PHP class that can be called to generate the data.  The next step is to expose the methods as a Soap Web Service (so it can be used by any programming language).  I’ll also build a GUI front-end that will allow download of the generated data in a delimited format.

When I originally wrote this, I intended to use it for work.  However, I’ve written it completely from home, and I’d like to keep it for my own and license it under LGPL.  I’ll still use it for work, but I want it to be “my” project and not my company’s.  Of course, I remember something from the paperwork I signed when I started working here about my employer owning any thoughts I have during my employment.  It is for this reason that I’ve tried really hard not to have any thoughts for the past 3.5 years.

I figure I’ve given them enough of my soul already.  Surely they’ll let me keep this one small thing?

Share/Save/Bookmark


Jul 24 2008

Native iPhone Wordpress

Tag: TechnologyJosh @ 10:14 pm

Testing native wordpress application for iPhone.

Share/Save/Bookmark


Jul 11 2008

Smash and Grab

Tag: GeneralJosh @ 12:59 am

I decided to go for a walk late this evening. There’s a walking trail in town that I used to visit quite often, and I am trying to start walking more. When I do go walking, it’s frequently fairly late at night… it’s not uncommon for me to go at 9 or 10 PM. The trail is paved and has lights at regular intervals (though several are burned out), and there are usually several people out, even at this time of night.

When I first started going out there a little more than a year ago, I worried a bit about being out there alone at night. Not that I’m a scaredy cat or anything, but let’s face it: There are some not-so-nice people in this world. Not-so-nice people tend to lurk in the shadows. On this walking trail, there are plenty of shadows…

I got over it after a couple walks, and hadn’t worried about it since.

Tonight, I went out around 10 and walked 2 miles. Upon arriving back at my car 1/2 hour later, I opened the door and realized the passenger side window was missing. Well, I guess it wasn’t exactly missing. I knew exactly where it was: in thousands of pieces all over the interior of my car.

My center console was open, and had obviously been gone through. I had left my wallet in the console and, surprisingly, it was still there on top of the pile. My driver’s license, credit card, and $3 in cash were still there. I guess the wallet wasn’t worth messing with.  I can’t tell that anything was stolen, luckily, I don’t usually keep valuables in my car.  I didn’t even have my iPod adapter in car tonight.

Mine wasn’t the only car hit. While on the phone with the police, I noticed a Ford Expedition had 2 windows broken out, and it appeared to have been searched too. The driver of the Expedition didn’t show up before I left, but the police were going to wait on them so they could get a report from them too.

Shortly after the police arrived, we saw somebody shooting off fireworks just down the walking trail. Thinking it might be related, 2 police officers went to investigate – but came back empty-handed.

This isn’t my first time to be the victim of a vehicle-related crime. When I was 18, somebody stole my 1986 Monte Carlo from my then-girlfriend, now-wife’s driveway. I had stupidly left the keys in the ignition. The police found it several hours later, undamaged, and being driving by a 14 year-old who had already been caught stealing 2 or 3 other cars in town for joyrides. I think he spent the night in jail, but that was about it.

The thing is, they’ll never catch the person(s) who did this, and even if they do, there will be little-to-no punishment.

Share/Save/Bookmark


Jul 09 2008

Salvation and Chicken Pox

Tag: GeneralJosh @ 8:00 am

Here’s an email my wife sent to some friends yesterday after talking about the plan of salvation with our 4-year-old:

Here is a sure fire way to know you child is not ready for the plan of salvation.

…I was explaining about sin and what sin is… that you can’t be good enough to get into heaven…that Christ died for our sins in our place…”…that He might bring us to God…” 1 Peter 3:18….God asks me to believe in him to take away my sin…

When I get to:
Believing is trusting what God did for me. When I believe that His death was for me, He gives me eternal life.

And then I ask: Rachel what does God GIVE you if you believe that his death was for you?

Her quick and honest response: CHICKEN POX

I think she needs more time.

Share/Save/Bookmark


Jun 15 2008

Vacation’s Over

Tag: GeneralJosh @ 10:56 pm

Vacation is over and I start back to work tomorrow. We didn’t go on a big vacation, but several small ones instead. The main thing is that I WASN’T WORKING!

Here’s the break-down of the week…

 
Monday:
As I wrote previously, we took the family to the Little Rock Zoo.

Tuesday:
We took the kids to the babysitter so we could have a date! We watched “The Chronicles of Narnia: Prince Caspian”.

Wednesday:
We loaded up the mini-van and traveled to Mena to visit the folks.

Thursday:
Today was our 9th Wedding Anniversary! To celebrate, we left the kids with the Grandparents, and went to the Raspberry Manor Bed & Breakfast. This was the best part of the trip. We got to the B&B around 3PM, then sat on the deck or in the hammock until about 5. Then we took a walk on one of the numerous trails in the area before returning for dinner about 6:30. We had a fantastic steak dinner, and lounged for a couple hours before retiring for the evening.

Friday:
Had a nice breakfast of ham and stuffed french toast, then did nothing for a couple more hours before checking out at 11AM.

Later that day, my father-in-law and I went Geocaching around town before my Wife and kids left for Conway with her parents. My Wife & kids, her parents, and her brother & sister-in-law all spent the weekend Greer’s Ferry Lake, while I stayed in Mena to visit with my own parents.

Saturday:
I attended the Acorn Reunion with my Grandpa (he also attended Acorn High School). Acorn is such a small school that they have an “all alumni” reunion each year. This is the first one I’ve attended. Aside from one 8th grader who was probably there with a grandparent, I was by decades the youngest in attendance. Most attendees were in their 70’s and 80’s. It was nice to spend time with my Grandpa anyway. Afterwards, my Grandparents treated me to a BBQ lunch.

Sunday:
We grilled steaks at Dad’s house. My grandmother baked a chocolate cake (with home-made chocolate icing… yum) and made ice-cream.

Now, it’s late Sunday. I’m home again, I’m tired, and I’m going to bed!

Share/Save/Bookmark


Jun 09 2008

LR Zoo

Tag: GeneralJosh @ 11:54 pm

I’m on vacation this week, and we decided to take the family to the Little Rock Zoo this morning. It was getting hot by the time we left, but there was some nice cloud cover that kept it pretty comfortable while we were there.

This was Rachel’s 2nd visit to the zoo, and Levi’s 1st. I think Jamie and I had as much fun as the kiddos!

I just posted pictures to Flickr.

Share/Save/Bookmark


Next Page »