Open Source or not?

Slashdot has an interesting discussion on whether or not a small start-up company has to Open Source their code or not. From one of the comments I followed a link to an excellent blog post by Tom Preston-Werner, one of the co-founders of GitHub.

Lastly, it’s the right thing to do. It’s almost impossible to do anything these days without directly or indirectly executing huge amounts of open source code. If you use the internet, you’re using open source. That code represents millions of man-hours of time that has been spent and then given away so that everyone may benefit. We all enjoy the benefits of open source software, and I believe we are all morally obligated to give back to that community. If software is an ocean, then open source is the rising tide that raises all ships.

In a nutshell he basically says that you should Open Source everything, except things that are at the core of your business value. His arguments are insightful and I suggest you read the whole thing.

Interestingly, this reminds me of a few discussions I had on outsourcing. And I was saying is that a company should outsource as much as possible, except for things which are at their core business value. As in, IT company should outsource accounting and legal, not IT, while accounting companies should outsource IT and legal, not accounting. And so forth.

That leads me to think that Open Source community is a huge outsourcing resource. Something that I’ve known for a long time, but now arrived to through a totally different route.

Coffee shop code of conduct

I found this image in Web Workers Daily post and I think it’s brilliant. More and more people are spending their time in coffee shops using laptops and other devices. Too many of them have no idea that they are surrounded by people. Hopefully, at least some of them will see this infographic and, perhaps, think for a moment.

Obama orders Federal Agencies to digitize all records

When Barack Obama got elected the President of the USA, there was a lot of hope around the world. Hope, I think was the single word you could use to describe all the noise around it. Sure, the first black president, the first presidential candidate to seriously use the Web and social networks, all the talks about change and “Yes, we can”. It gave hope. But since he actually became president, the realities of the real life kicked in. Things are not as simple as they seem. Even for the presidential candidates.

Regardless of how many promises he fulfilled or failed to fulfill, I still think that the election of Barack Obama as the President of the US was an important step forward. One particular area that I think he made an important contribution to is Open Government. And no, I am not a complete idiot, and I don’t think that the US government is now open and transparent, without any corruption. It is not. But it is much better than it was even a few years ago. And most importantly, the issue of government openness and transparency has been promoted by Barack Obama from a nice tea talk subject to one of the primary presidential candidates’ concerns. There is little choice left for all the future candidates – they WILL have to talk about it and, consequently, do something about it. Even if they try to avoid the issue altogether, I don’t think they can anymore. Not for a long term.

Slashdot reports today that Barack Obama pushed the game one more step. He ordered all federal agencies to digitize all their records.

President Obama this week issued a directive to all federal agencies to upgrade records management processes from paper-based systems that have been around since President Truman’s administration to electronic records systems with Web 2.0 capabilities. Agencies have four months to come up with plans to improve their records keeping.

Now that’s huge!

And it’s not a simple project at all. If you think it is or if you can’t imagine what it takes, here is an informative Slashdot comment that explains a tiny part of it, just enough for you to get the idea of the complexity involved.

There’s the first problem. It’s never simple.

First issue – if you’re going to put documents in, you’re going to want to get them out. How do you search for them? You’re going to want to define the metadata, and that’s a headache. Got lawyers? They’ll want client and matter. But those fields are just about meaningless to anyone else. How do you resolve the incompatibility? Do you use different forms for different groups of users? How will the engineering department find the subpoena papers that the lawyers filed?

What fields are globally useful? Are they so generic that any search will retrieve hundreds of documents? Conversely, are they so specific as to make your metadata field selections horribly long and therefore ambiguous? (Free text metadata? Let’s not go there.)

Remember that you’ve got to fill in that metadata any time you add a document. What’s the balance between useful and annoying? Too many fields and nobody will want to fill it in. Too few, and you won’t be able to find anything.

That’s for new documents. When you first implement a DMS, you have a truckload of documents to be imported. You’re not going to do it manually, you’re going to use an auto-import. But how do you define the metadata for all those millions of documents you’re importing? What if you have client/matter, for instance? Hopefully they’re all already sorted, and you can use something like Kofax Capture, a seriously powerful and fast scanner, and separator sheets on which you can do forms recognition to define the metadata fields. But there’s a lot of work involved up front to get that import working properly.

Don’t forget the OCR. Hopefully all your paper documents are clean and will OCR nicely, so you can do full text indexing.

Security. Better get that set up right. Profile level security? It’s more secure, but people will complain that they don’t know if a document is there and they just need to request access because profile level security means if you don’t have permissions to access a document it won’t even show up in your search results. Groups. And by the way, remember to define the permissions on all those millions of documents you’re importing.

Version control. How do you control check in and check out? Do you control check in and check out, or just audit it?

I’ve only just scratched the surface of a document management system. Then there’s records management. You’ll want to make sure your system is DoD 5015.2 compliant. Setting up the retention schedules…hopefully you’ve got a records retention policy already, otherwise that’s months worth of work to define those policies and ensure you comply with all regulatory requirements while still balancing your need to purge/archive old records.

How does something even become a record? Hopefully you’ve already got knowledgeable librarians (yes, that’s what they’re called), and you just need to train them on your new RM system.

Are all your boxes already barcoded? Your RM system should be able to register where a record is – building, shelf, box.

You’re probably getting the idea. The technology is easy. The processes are complicated, and they get exponentially more complicated as the size of your client base grows.

As I said, I don’t think that this is the final and ultimate solution. But it is an excellent step forward. Once again, this gives me hope that things will eventually become way better than they are now.

Good news from CheapVPS.co.uk

Through the years of hosting this blog as well as many other websites, I’ve received plenty of bad news from hosting companies. “We’ve been hacked”, “we lost your data”, “the company is shutting down”, “we are increasing the hosting fees for your plan”, and so on and so forth. In fact, now that I see an email from my hosting company I automatically assume that it’s bad news.

Gladly, my current hosting company – CheapVPS.co.uk – is better than most that I had experiences with, and it’s working hard to change my perspective. Their efforts seem to be paying off. Here is an email from them I found in my mailbox this morning.

Dear Customer,

We have some good news regarding your OpenVZ VPS!

Over the next 4 weeks we’ll be migrating all of our OpenVZ customers over to brand new, much higher specification servers.

There will be no changes to your account or your billing and the only downtime we anticipate should be for around 10 minutes while IP routes are updated to point to the new servers. Your IP address will not change.

Whilst every effort is taken on our part to keep things backed up, we recommend that you ensure you have adequate backups in place, prior to this planned migration.

We will be starting with hardware node vz1uk on Tuesday 29th November and working our way through to vz43uk. You will be able to check the node you are on, from your SolusVM control panel, we will also email you the night before we move your VPS over.

So to sum up:

  • No changes to billing
  • No changes to your account or IP address
  • Upgraded server hardware for no charge

If you have any questions or concerns, please feel free to submit a support ticket at :
https://secure.cheapvps.co.uk/

Kind Regards

CheapVPS

Thank you guys, you are awesome!

How to build Android application and keep your sanity

Today is is a big day and I am celebrating. I am celebrating together with my teammates the release of the ImpreStyle Color application for Android, version 1.0.0, demo. It took all four of us to working hard over a much longer period of time than anyone would be willing to admit, but we pulled through.

While there are many aspects, details, and lessons that we’ve learned during this period, I’d like to focus on the ones that are mostly related to the actual Android application development and publishing. I share this for the next time I decide jump into something like that, as well as for anyone else who considers such a possibility.

And before you run away scared, let me tell you this. It is possible. And the fact that we’ve accomplished it proves it once again. As 500,000+ other Android applications currently available on the Android Market.

Continue reading How to build Android application and keep your sanity