Linkedin just minutes ago announced they’ve thrown their hat in the “social application platform” ring! This is exciting news for people who are poised to bring innovative and interesting applications to the business and professional network.

Read more about the press release here at TechCrunch. As of today, there is no documentation or word on how exactly one creates an application for the new platform, but you can contact them to recieve more information!

December 8th, 2008, I will be attending a 1 day course lecture and workshop on “Presenting Data and Information” by Edward Tufte. If you don’t know a lot about Edward Tufte, he has written a series of fascinating books on unique and interesting ways to visualize and present data. The fee for the workshop is only $380 and includes a copy of 4 of his greatest books. He will be covering the following topics in his course:

  • fundamental strategies of analytical design
  • evaluating evidence used in presentations
  • statistical data: tables, graphics, and semi-graphics
  • business, scientific, research, and financial presentations
  • complexity and clarity
  • effective presentations: on paper and in person
  • interface design
  • use of PowerPoint, video, overheads, and handouts
  • multi-media, internet, and websites
  • credibility of presentations animation and scientific visualizations
  • many practical examples

It should definitely be a day of fascinating study, and I encourage anyone who is invovled in user interface design and/or user experience design to sign up for one of his courses.

Ask yourself, why are we still supporting Internet Explorer 6? Not as developers, but as people who use the Internet. If you are a web developer, you are one of the first people who will scream “I F#$@ this browser!”

So I ask the question, why are we still supporting this browser, 7 years later?

Everyone who is still using IE6 does so because we allow them to. We still add “degraded” support for the browser, we still make alternate stylesheets, we still make a ton of hacks that only work for the redheaded step browser. I dare you, tell me one time you said the word “happy” and “IE6″ in the same sentence! Enough is enough.

The Line in the Sand

I am proposing we set a day to “turn off the lights” for IE6. Much like our government has decided that on a specific day, over-the-air analog broadcasting will go away. Why not do the same? That glorious day, everyone who supports the “lights out” concept, will actively limit IE6 users from accessing their sites and applications. Now, I am not saying lets just let things degrade and look unprofessional, I am saying turn it off completely. Its a rash move right? Does that potential user base you are shutting out scare you? Not really. It doesn’t scare me. Take a look at the global statistics for its use, we are talking about a very small minority of people. But it is still enough to count, and for some reason we still support this aged code.

How can we ever hope to as a community of engineers hope to better ourselves and the things people are using if we have to worry about this sort of legacy. There is nothing beautiful about what it takes to support even the simplest of CSS techniques in IE6, and it just doesn’t make sense for us to keep wasting important dollars on it.

Now, the irrational part of me says, as soon as I hit publish, I am going to block IE6 traffic from ever viewing my blog again. But lets face it, that is not a solution that is going to help people understand the reasons they need to move, nor is it going to make you as a person look very wise. I want to set a date far in advance for existing websites, and for all new and upcoming websites and services, already have it off. Lets say, 10 months from now? That gives us a long time to be able to warn and let people know that they need to upgrade or move to a different browser. I mean hell, by the time that 10 months is up, we should be seeing IE8 in the wild, isn’t that a good enough reason?

Ramifications

Okay, lets be more realistic, the only people who are really stuck with IE6 are the people suffering in cubicles run by IT departments that are either lazy, stuck with legacy issues, or just uneducated about the real reasons to upgrade their company.

Well to that I say, too bad. You have had 7 years to decide what to do about this problem, and I think its unfair for developers to have to pay the price. Why should be have to bastardize our software, and invest a large sum of our time and money into something that has not even been updated since 2004?

I am definitely impressed by companies like 37signals and Apple who are putting their foots down when it comes to their products. Don’t think of it as an exclusive, elitist club, but a very important reason to educate and explain to people (well in advance) why it actually hurts their experience of the web today to be stuck in the past. Going forward our company is going to be following this mantra, educate and upgrade. I am entering a market demographic that will most likely be stale and out of date, but I still say its unacceptable, we as the developers need to help people understand.

Am I crazy? How do you feel about it.

I am going to avoid using the word “stealth mode” for my startup and our product. Whenever I hear someone say their product is in “stealth mode” I interpret that as “I don’t have anything worth showing to anyone, therefore I pretend its more important….mode”. If you are involved in my extended network, you know what I have been doing, roughly. I have not been afraid to brainstorm and discuss this product with people I know and respect because that is how great products are born.

November marks an entire year of incorporated business for my company, Panoctagon. It has been an absolutely amazing ride, I wouldn’t trade any of the past experiences I’ve had for the world. I have worked with a lot of extremely talented people, I have learned and done a lot of things that have nothing to do with software engineering (which has been a lot of fun), and I can say we survived the first year.

We spent a lot of time honing our skills as a group, defining some pragmatic approaches to not only software but our business practices, and have become a pretty efficient group. I am happy about this.

So, what have we been doing? Today I am proud to announce the launch of our first software product, Happening. We have not officially released it into the wild yet, its still got some rough edges and polish that needs to be applied, but its nearly there. Happening is an event management and publishing solution for education. What do I mean by that? Technology in education often is crap. Talk to people who use it, they never have anything good to say about their tools. Ridiculous overhead, costs way too much, and requires a lot of hands on training.

We decided to build an affordable, easy to use, hosted service that attacks the age old problem of managing and communicating events for schools; event calendaring, if you will.

Happening is more than that, though. There are two very important markets for us, the first is the administrative people inside the institutions who have to do all the monotonous data entry, using the advances in technology that we in the consumer web take for granted, we hope to provide an unparalleled experience that is robust and intuitive. Might I also add, you won’t be needing weeks of training, that is our #1 goal. I spoke with a few different schools we are working with on this project and they all pretty much responded “how much training will you be offering us”, and I responded “I a product that hasn’t even been completed yet, is going to have a huge learning curve and weeks of training attached to it, we’ve failed”, and that has been our mantra, from day one.

Happening is not just about the administrators though, its also about the parents and students, and redefining how they interact with the event information that they care about. Happening is going to change the way parents and students consume event information through their schools, and I am excited to see how things changes things for them.

Lastly, I have to ask this, If you know someone who works for a school who might be interested in a service like ours, please feel free to contact me or forward me information to contact them. We are very excited about what we’ve been up to and want to get schools just as excited.

Also, I’d like to thank my team, our advisory board, and my family and friends for their continous support and advice. We would not have made it this far without you all, and I hope we can make this into something great for education.

Credit: here.

I love my AppleTV. One of the coolest home entertainment systems I’ve played with, but unfortunately it does lack some pretty important functionality like being able to play DivX/XVid, any sort of file storage capabilities, and no way to surf the web or anything cool like that.

Well, it turns out, The good people over at Apple Core, LLC agree that these things were important and have created a nice utility for making these dreams a reality! Here are some of my favourite features:

It was easily one of the best $50 I’ve spent in a while. It creates a nice bootable USB stick, just restart the device and go! It has also not conflicted in any way with the other core functions of AppleTV, and yes, it works with the very latest firmware (2.1).

If you have an AppleTV, I definitely recommend this upgrade.

Thanks to the fellows over at Rails Envy for doing a quick spot on my SmartMonth plugin! I actually had never heard of Chronic until they had mentioned it. I could see how this would actually go very well with a gem like that!

Speaking of SmartMonth, I have a couple of cool optimizations I plan to make in the new week, so stay tuned if you are interested!

Our big project at Panoctagon has a lot to do with time and dates, so we’ve been developing a series of Rails plugins that make our jobs easier. I had a lot of fun building this one, and I could see other people finding this interesting, so we decided to open source this one. I think it’d make a great addition to Rails core (if I do say so myself :P), but I am not really up to all the effort involved. Instead I created a simple to use, documented, and tested plugin that works with Rails!

So what does it do? Basically, it makes date month values more meaningful by adding a new Month class that can do complex(ish) calculations against the days of the month for you. It also allows you to treat a Month as an enumerable container, allowing you to iterate through the days of the month like an array.

Lets peek at some example snippets:

Getting The First Tuesday of September 2009

1
2
    Month.september(2009).first_tuesday #=> Date object
    Month.new(9,2009).first(:tuesday) #=> Date object

Getting Every Friday in August 2008

1
2
    Month.august.every_friday #=> Array of Date objects
    Month.new("August").every(:friday) #=> Array of Date objects

Getting Every Thursday and Saturday in June 2007

1
2
    Month.june(2007).every_thursday_and_saturday #=> Hash of Arrays of Date objects
    Month.new("June",2007).every(:thursday,:friday) #=> Hash of Arrays of Date objects

Getting The Last Monday in April 2005

1
2
    Month.april(2005).last_monday #=> Date object
    Month.new("April",2005).last(:monday) #=> Date object

Enumerating Through the Month of August 2008

1
2
3
4
5
   month = Time.now.month #=> Month object of the current time requested
   month.each do |day|
     day.to_s #=> Week day name ie: Saturday, Sunday, etc.
     day.to_i #=> Date value in context of the month ie: 1..31
   end

Other Odds and Ends

1
2
3
4
5
  Month.april.size #=> total number of days in that month
  Month.august.next #=> returns a month object populated with August
  Time.now.month #=> returns the current month in context to the #now response
  Month[5] #=> May Month object access as array index
  Month[:april] #=> April month object access as hash key

So, as you can see, it saves a lot of time and calculations and keeps it easy for you to treat months as essentially a container! Really useful for doing complex calculations against dates.

If you would like to use my plugin, feel free, I’ve released it under MIT, and its located at my github account. Please give me some props if you do, or send me a line.

If you are interested in my rdoc documentation, check our company’s documentation server. Let me know what you guys think!

10 points for most original title, ever.

Lately, my company and I have been looking into the benefits of switching to Git for source code repository management. Its currently the new “hotness” of the hacker world, and with some of the claims that I’ve read, its pretty hard to ignore.

Linus Torvalds has made a few references to how much he hates tools like Subversion and CVS, and he has a lot of interesting reasons for feeling the way he does. I don’t agree with everything, but then again, I am not writing a kernel. Subversion has worked great for me and my team in the past, but we are definitely starting to envy some of the Git advantages.

Its indisputable that Git makes it unbelievably easy to branch and tag your repositories, hands down. The bigger and more integrated my codebase and team is getting, the more of crucial of a feature that is to us. Decentralization is not a big deal to me. Frankly, I never am really “off the grid”, so most times I just do git commit followed by a push.

Fortunately for us, Unfuddle supports Git now, so its easy for us to use our existing project management tool with this new technology, at no extra investment! But, I have to take a moment to say, GitHub is definitely pretty killer. Unfuddle’s support for Git is new and will improve over time, but I am very very impressed with how well GitHub has nailed the integration. The biggest reason for me to move (some) of my code to GitHub is for the public aspect of it. From this point forward, I will be posting my company and I’s open source contributions there. Mostly because Unfuddle doesn’t provide external access to projects in the same way, which is actually sort of strange in my opinion.

Maybe in the future I will be so inclined to product an Unfuddle-Git bridge to keep my repositories (edit: there is one already, why isn’t this a part of GitHub yet?!) synchronized, for projects I plan to open source. Overall, I am pretty happy with Git, I think my initial impressions of it were tainted by the “growing pains” I experienced while trying to get it to work with Unfuddle. Seriously, with GitHub I was up and running with the repo in under 2 minutes!

You can check out my repositories here. There is one project there now that I haven’t talked about too much yet, mostly because I just built and released it in the last 72 hours. More on that soon!

Recently I attended the first ever Start Conference here in San Francisco, CA. The last segment of the day they did was a “Pitch Off”, which I thought was absolutely fantastic! Imagine American Idol + Startup Nerds + Hilarity, it was pretty much like that. I saw some really great presentations and some really bad presentations, but learned a ton from all of the above.

There was one startup in particular that really stood out to me as a product that is truly pushing the envelope, especially in a world of facebook++ mentaility when it comes to consumer internet products. That product was Apture. Apture is all about creating rich and interactive media linking. At first, I was like “wtf is that”, but their expertly-crafted powerpoint skillz made it very clear.

In essence, its a tool that allows you to make your links in your blog far more interesting, what do I mean by that? Well, since I have recently enabled my blog to use apture, via the wonderful wordpress plugin they provide after their 3 second sign up, let me show you. :)

It has all sorts of integrations with places and things that people use most often on the web, so for instance, if I were to tell you I live in Albany, CA, I could provide a simple little map right here on my page (click the link to see what I mean). Now, when you click on that link, you’ll notice a Google Map appears, I’ve also annotated that link with another link to a wikipedia article of my favourite local pizza place!

Cool or what? Now check this out.

Anyone who knows me knows that I love The Mars Volta and Radiohead, they are definitely my two favourite bands. Now, if you click on both of the band names, you can see the cool sorts of things that Apture does for you, with very little effort at all!

Really the only downside to this product is the centralization aspect, if their servers go down, so do my links :(

I am able to create these links on the fly, and make them as inter-connected as I choose! Apture is definitely one of the coolest web tools I’ve seen in a while and I encorage my fellow bloggers to try it out for themselves!

keep looking »