Sharpening My Tools: Learning More Bash and Vim

I’ve been having way too much fun, sharpening my tools. For too long, I’ve been sitting idly by, being okay with my level of knowledge in a lot of the tools I use on a daily basis, but no more.

In the past two (threeish, since I don’t really know where time goes anymore) days, I’ve been diving deeper and deeper into Terminal.app (which, by default, is running some weird mac version of bash, more on this later) and my editor of choice, vim. I do like having my vim windows separate from the terminal window, so I use MacVim from time to time.

And that’s really all I’m going to say on the subject, for now. I’m finally going back to making extremely neat and concise notes to myself in this process, almost akin to the anal-retentive days of note keeping days in high school. Basically, throwing away the need for so much metadata on what was learned at what second, but instead, opting to just learn whatever I need to learn.

After all, trying to kill two birds (building/learning and teaching/sharing) with one stone is fairly difficult. I fear I’ve been failing at trying to kill a single bird to begin with.

Another Push

I’m ready to give it my all, another push.

It’s been tough, and there’s only two and a half weeks left until a private beta.

Go big, or go home. Fake it ’till you make it. Shut up and ship it.

Git, GitHub and Social Coding

via Video: Tom Preston-Werner, Chris Wanstrath and Scott Chacon — Git, GitHub and Social Coding.

While I don’t use GitHub for my projects, most of the rubygems and other code bases exist on GitHub. I guess there are the few that are still on Google Code and even fewer on SourceForge.

The video, not only being extremely informative for someone who doesn’t know anything about git (but would like to know more), was a very nice overview of what I’ve been learning in the past couple months. (Especially more so the past couple of weeks.)

What I find awesome is that (at least Chris specifically) had a very personal problem he wanted to fix with version control systems (Subversion, in his case) and supporting tools (Bugzilla, in his case).

Sidenote: Chris’s presentation images are just hilarious. One comment: SVN could have been the lighthouse, not the “house”. The whole centralized repository idea?

FeedSt: Real-Time Feed Updates By PubSubHubbub, Superfeedr, And Heroku

One of the few key features I’d like to implement on FeedSt is real-time updating feeds. Or as real-time as I can get them.

Thanks to PubSubHubbub (PSHB), this is actually going to be possible. I’ve been working with Superfeedr to make the backend work. Add Heroku into the mix, and I’m left to wonder, why there aren’t at least 10 companies doing the same thing. (Unless there are, and I just haven’t found them yet.)

Real-Time

What drives me up the wall is when I post something on this blog, and it takes about half a day to a full day before it shows up in my Google Reader.

It’s not Google Reader’s fault, exactly: They’re merely saving their resources for feeds that are more popular or more updated. It’s more of the problem with the requirement of polling of feeds.

Sidenote: And actually, if you were using a desktop feed reader (like NetNewsWire, of which the beta works with Google Reader), this isn’t a problem at all. You can personally set the time interval that the application grabs and parses the feed. Of course, there’s are plenty of Pros and Cons for going online and offline.

In my opinion, the fact that not all feeds are hit with the same time interval breaks the fair access model that the Internet has become widely known for. I will always get a kick out of the fact that you can visit google.com as easily as you can visit joshkim.org.

PSHB is the fix for this. And actually, Anil Dash talks a lot more about the Pushbutton Web, definitely worth the read.

Exciting New Technologies

They’re exciting, and they’re new. Now to make something awesome with them.

Can One Man Out Do Google Reader?

No. But I’m pretty sure I can do something awesome in the world of feeds.

FeedSt, as an idea, has been in the back of my head, ever since I started using feed readers. (I actually need to sit down and piece together some history.) From the get go, I knew the dangers of creating a me-too company, a situation where the basic features of the original company are copied plus some additional feature set.

It’s been many months since I started thinking about FeedSt, but I still feel like there’s enough people out there demanding there is a better experience dealing with feeds. I hope to show these issues through blog posts and code.

The Playing Field

Them: A seven person engineering team from Google, with stacks of cash and years of dev time. (I’m assuming that the number of contributors on the Google Reader Blog maps directly to the people who are working on it.) The majority of this team is probably incredibly smart and experienced.

Me: A single dev, with very little runway left and a couple months of time left. Not so experienced, and actually is lacking in a huge chunk of the skillset needed to pull this off.

And it’s not just Google Reader. With the sale of FriendFeed to Facebook, Streamy.com is probably going to become the darling “social feed reader”. And I’m sure those people are extremely smart.

Regardless, yes, the odds are tremendously against me. But it’s never been this clear to me that I should be doing this. Foolish? Probably. But I only live once. I definitely want to make what seems to be my last chance count.

So with this post, I hope to kick off a series of posts pertaining to this project. Hope to keep you updated as stuff gets done.

09.09.09

Four weeks. I can have something awesome in four weeks, right? Most definitely.

Roadblock: Other Projects

A note on JKast and JKFilter, two projects.

JKast, IndieGamerPodcast

Whatever is left of this podcasting business, I’m giving it up. The file will exist somewhere, but not on this server.

I’d love to get back to doing a roundtable discussion on all sorts of random topics I and others find awesome, but it doesn’t seem like it’s going to happen again anytime soon.

It would be nice to be able to talk my way through a blog post to alleviate some wrist and forearm pains, but I’m just so used to reading and writing.

I know it’s been awhile since I posted, but it’s still been sitting there at the back of my brain, slowly tugging away for more attention. This also means… IndieGamerPodcast is on hold as well.

JKFilter

This thing started as an experiment two weeks ago. I basically updated a Chyrp installation with a lot of commentary on feed posts, as well as some interesting links I found on the Internet. I even tied a Twitter account to the fun.

One of the goals of this experiment was to see how I would want to share my links to the world that I found through a feed reader. Another was to find out how to harness the implicit data that was being created by me sharing a certain post on a certain topic.

Needless to say, I’ve decided to put this link sharing business on this blog. Another roadblock blasted through.

Now To Get Cooking

Throwing stuff away feels great. Especially if it’s tracked somewhere.

The Six Phases of Bootstrapping A One-Man Startup

Phase Two – Determinism

Few people actually enter this phase. That’s because it’s one thing to come up with an idea and recognize that it would be great to do something you truly enjoy, and another to get off your ass and commit to actually doing it. But, for those who do, this phase is a period of mental preparation; a serious personal commitment to stop watching Lost, put the game console away, close Tweet Deck and plan your endeavor.

Phase Three – Sacrifice

You have entered this phase when you have committed and you are determined. You’ll know you are here when the few times you do open Tweet Deck  and see things like “I’m at such and such indie restaurant and the cuisine is great!” you wonder why you’re microwaving another Lean Cuisine. Or when your wife is nodding off as you explain to her why you were up until 2 am in a code trance trying to debug a Javascript error. If you have come this far, you cannot, will not, turn back and make it all for nothing.

via – The Six Phases of Bootstrapping A One-Man Startup .

I’m in between Phase 2 and 3. I’m in the middle of trashing things that are unnecessary and time-consuming, all the while brushing up on the skills that are going to to take me to Phase 4.

Not Much Time Left

I see more and more demand for a better feed reader. I’m not going to lie, this is making me very antsy.

While feeling superior for knowing that there would be an increasing demand for something better, I feel like a lamer for not having actually release a product that is a solution to this problem.

Starting with this week, I’ve increased my efforts in releasing FeedSt. I hope to get it finished in the midst of all the fun things that are happening in the world.

Let’s see this project through. Seriously.

The Hangover: Is the App Store in the Trough of Disillusionment?

Developing software for the platform is like playing the lottery. Most people end up losing out while a select few strike it rich.

via Where do I sign up? « carpeaqua by Justin Williams.

Read it. It’s worth your time. Also, I tweeted this earlier, noticing the general feeling towards the App Store in the past couple of months.

It’s as if the iPhone development world is waking up with a hangover. Seriously, it’s hilarious to see.

But since this is Apple, I sure do hope that this Trough of Disillusionment is followed by the Slope of Enlightenment. #hypecycle

Heck, look at Rails: Definitely at a Plateau of Productivity. I just hope that the Great Refactor triggers something awesome.

I’m talking about the Hype Cycle. I was a little late to the Technology Trigger, but I was definitely on board for around the Peak of Inflated Expectations. I think the App Store is trying desperately to get to the Plateau of Productivity… and failing at it.

The Google Voice rejection is the most recent addition to the growing list of problems with the App Store. Today, Apple announced a half-way fix for the broken searching in the App Store, and I certainly hope that this is one of many fixes that are to come to alleviate the problems with it.

I stopped doing iPhone development for a couple of reasons, and figuring out that the App Store didn’t really offer a sane viable business platform was one of them. (Although, the actual programming part was amazingly cool. Seriously, a phone… wait… a revolutionary Internet/communication device that I can program?)

But I was reminded by @amdev that Apple is indeed a hardware company. Here’s the conversation that took place. (By the way, where’s the “Export Conversation” feature for Twitter? I had to do this by HAND.)

@amdev: Eh, sad we expected anything else. Apple (company, not the reviewers who are blamed) is bending devs over w/ horrid policies. :\

@joshkim:Yeah, well if it starts affecting the bottom line, then changes will happen. They’re still selling iPhones like hotcakes, regardless.

@amdev: And that’s their business: hardware, so it will not hit their bottom line for a while (if ever).

@amdev: I mean really, who’s going to design something better in the next 6 months?

@joshkim: Exactly. I love the iPhone. It’s got it’s problems, but it’s the closest thing we got to the JesusPhone.

@joshkim: That’s a very good point. They really truly are a hardware company, with a bit of sprinkling of amazing software that works.

Until Apple actually sees a drop in iPhone sales due to garbage treatments of the iPhone developers, I don’t really forsee a large push in trying to fix something that barely works.

Sidenote: I’m sure Google’s first goal was to develop a useful product, but I wonder if the fallout in the iPhone development community was planned by the Google overlords.

Transparency ^ Extreme, With A Side Of Meta

Transparency. It’s an issue. Or at least, I’ve made it an issue enough to write on it. And it’s not just transparency, but the record-keeping that is associated with staying transparent.

And while writing and rewriting this post, I realized that I had once again fooled myself into thinking that talking about myself was actually useful.

It’s simple really: One extreme is to be as painfully as open as possible. The other is to shut up, and bottle it all up within. Does this really need another blog post?

It’s taken me a while to have this level of understanding of myself, and I’m sure I’ll keep learning as I go along. But seriously, these kinds of posts need to end.

Quick, To The Point!

Be open and honest, but don’t place importance on achieving openness for the sake of it, all the while sacrificing valuable time and effort. That should be reserved for creating something awesome instead.

Applications On Projects

I stand firmly on the view that ideas are almost worthless compared to implementation (this is a statement that’s a broad generalization… definitely much more to be said on this topic). But ideas are so easy to come by, and talking and writing is really easy. Or at least, I tend to talk and write about them at an elementary level, and so it may just seem easy.

This is also where transparency becomes a roadblock. To stay transparent, I try to write and talk about my ideas. From there, I just keep throwing new ideas, mixing and matching feature sets across projects.

Staying transparent has become a project all on its own. An idea without implementation.

And this must end.

Where Am I?

I don’t know how I got here. I think it’s about time I got fed up with my own lack of focus.

Here we go yet again.