one more day is over @ ceylan's office

Coding, not a profession but a joy…

Archive for the ‘open source’ tag

Android is picking up…

without comments

According to this post android is picking up market share at an unprecedented pace.

Obviously the graph is on the traffic source rather then number of users or handset sales and at least in my experience, android encourages users to use their device more for the internet, nevertheless it should give the idea. And it is based on the US data, where android powered phones and devices are marketed as much aggressively as iPhone, so for the rest of the world,  iPhone shares should be on the positive side for Apple’s account.

However, what to read from this piece of information is being totally justifying the motivation for Apple – HTC lawsuit, iPhone is loosing a great deal of market share to Android. On the flip side of the coin, despite a big deal of re-work in Windows Mobile 7, Microsoft is far from being a major player in the game.

Another thing I could read from the data is, mobile arena is one of the largest market, where innovation and quality is awarded with immediate market share. While it takes years to change the adopted habits on the desktop computing – even with the netbook market wars, mobile users seem to be have more tendency to switch their choice of operating system. I can also see this as having used 3 different OS’es in the last 7 years – symbian, Windows Mobile, Android…

Being a hardcore Linux and java and eclipse developer, I can hardly wait to have some time to start doing professional stuff on Android.

Popularity: 78%

Written by Hasan Ceylan

March 29th, 2010 at 7:48 pm

Adding Ubuntu to a list of distros I use, in addition to Fedora & RHEL…

with 2 comments

I have recently fed up with the broken dependencies and potential boot problems after ever every update and decided to give Ubuntu a try – an action that was long awaiting on my to do list.

Although this does not mean I dumped Fedora – as I have been involved with Fedora every since the Fedora Core 1, it is a simple head up and look around.

The reasons for my recent ubuntu interest are

  • Ubuntu has been around for a while and quite mature, even one can argue it is more stable then Fedora
  • I have recently dived into the Android platform. Android uses the Ubuntu as the base
  • I have also interest in intel’s netbook targeted OS – Moblin
  • I have been long planning to get accustomed to debian breed linux systems
  • If I get knowledgeable on ubuntu, I can convert more Microsoft users to Linux as Ubuntu seems to target the end users and remove the barriers for non-GPL software sources and propriety / copyrighted software
  • etc, etc.

For those that are hardcore console users like me, when it comes to maintaining the OS, yum and rpm have always been the best friends. Now there seems to be a need for crash course to adopt apt and dpkg utilities and not surprisingly a simple  googling revealed ubuntu already prepared the info for us.

Popularity: 77%

Written by Hasan Ceylan

March 11th, 2010 at 9:27 pm

First 2.1 (Eclair) Hero ROM has been released

without comments

Benham from htcpedia.com has released the first stable 2.1 (Eclair) based HTC Hero ROM. This ROM has the speed of 1.5 based official ROMs or their derivatives.

According to my first impressions, this is ROM I will be using for the time.

To get the ROM here is the original thread.

Popularity: 10%

Written by Hasan Ceylan

March 4th, 2010 at 7:34 pm

Posted in Android

Tagged with , , , , ,

When “controlling crime” becomes “invasion of freedom”…

without comments

According to Michael Geist, a document leaked that threatens people’s freedom over the internet.

On the heels of the leak of various country positions on ACTA transparency, today an even bigger leak has hit the Internet.  A new European Union document prepared several weeks ago canvasses the Internet and Civil Enforcement chapters, disclosing in complete detail the proposals from the U.S., the counter-proposals from the EU, Japan, and other ACTA participants.  The 44-page document also highlights specific concerns of individual countries on a wide range of issues including ISP liability, anti-circumvention rules, and the scope of the treaty.  This is probably the most significant leak to-date since it goes even beyond the transparency debate by including specific country positions and proposals.

The US Government is once again prepared to take every measure to attain its position as the global leader in economy and politics. I think it may be time to separate the internet out of the US to ensure that it is truly a public domain and freedom is the beginning of communication.

To read more on the subject, you may want to proceed to Major ACTA Leak: Internet and Civil Enforcement Chapters With Country Positions

Popularity: 4%

Written by Hasan Ceylan

March 2nd, 2010 at 11:04 pm

Getting the CID of the SD card

without comments

Below is a way to get the CID Number of the SD Card in your Android PDA

We will be using a terminal editor to get the CID Number. Here I used Better Terminal Magic, but you may use the editor of your choice.

  1. Go to Settings->Applications and enable “Unknown Sources”
  2. Go to Settings->Applications->Development and enable “USB debugging”
  3. Connect your HTC Hero to your computer via USB.
  4. Download and install Better Terminal Magic and run it on your HTC Hero
  5. Run the newly installed terminal
  6. Enter the command below and note the very long serial id down
    cat /sys/class/mmc_host/mmc1/mmc1:*/cid

Popularity: 22%

Written by Hasan Ceylan

February 26th, 2010 at 2:06 pm

Posted in Android

Tagged with , , ,

10 Things OSS Projects Should Be Aware

with 3 comments

With the widespread of the internet, today there is many many open source projects. This means competition is now not only in between closed source proprietary projects, but also in between open source projects and closed source proprietary as well amongst the open source projects themselves. This requires projects to adhere a set of standards to stay alive – especially for those in their early incubation phases.

Having been in the OSS World throughout its prime time,  I have a good deal of observations as to how a project endures over time an become a success. ı would like to share this experiences as an executive summary here. Here it goes…

1. Your Project is Your Promise

It is always a good idea to mock up stuff for a developer. Learning by trial is one of the best way to improve one’s self. If you have a sparkling idea, start by writing in down and coding as soon as possible.

Develop your project any time you like. Invite your friends to join. Work / study all the way you like. This is only until you go public and make your statement.

Starting an OSS project is no different then taking on a new job – you make a promise, people will rely on you, so keep it!

2. Have a Clear Mission Statement and Defined Targets for Your project

This is something you should apply not only to your OSS project but almost everything in your life.

“Carpe diem” is a very striking phrase but does not work in professional world.

Define your project’s mission statement and keep it as short as possible. Outline the targets it has and try to satisfy those.

3. Ensure Your Project’s Life

You project is like your child. You should ensure a sustainable life for your project just like you prepare your child for the life. That means plan your time and devotion to your project. If you are not prepared to devote yourself, do not go public – otherwise this will only harm your credibility.

A good idea to find sponsors or work a financial model for your project. Your project needs you, you need time and time is money.

There is a lot of platforms that will provide the basic platform for free of charge. During your projects incubation, using one will save you hosting and other costs, also the tools they provide will give you the most effective distributed agile environment.

4. Have a Good Build System

Have an automatic build system that produces nightly snapshots. As your number contributors increase this will help your project have a better and agile distributed contribution system.
Prepare a “How to Build” page and enable your project to build without a complex build environment on an anonymous user’s system. This will increase anonymous contributions and conversion of anonymous contributors to committers in time.

5. Have a Schedule

OSS community usually follow the latest and the greatest. Thus, having a clear schedule that lists the dates and milestone / release deliverables is key to maintaining the interest from the community. Not to mention, try to adhere your schedule and inform of changes in timeline and / or features as soon as they are known to you.

6. Treat Your Community as Your Clients

A common mistake by OSS projects is sometimes they think they give away something for free or doing a great favour to their user base.

Do not forget, the motivation is “you should think of ‘free’ as in ‘free speech,’ not as in ‘free beer’”. This is as true for yourself as for your community. You DO get something in return, therefore treat your community as your clients.

7. Maintain Your Project

Keep an issue tracking system, an FAQ, a Quick Start Page and forum for the project. And do NOT just create the instruments like these ones just because the platform you are hosting will create them automagically for you. Use it!

You should view all this instruments as your channels to the community. A phone never answered creates nothing but frustration. The same goes for project instruments. Having these channels and actually using them properly will help improve the communication with your community.

Keep your issue tracking system live. Give “human” responses to acknowledge the need, assess the case and engage in early discussion as much possible as you can. It is also good idea to map issues that are confirmed to planned versions and milestones. This way your community knows that their submissions are valuable, and they know when to expect a return for their time and effort for the submission.

Forums are key to extend the community and gain popularity by helping out newbies. Unanswered questions will only make you loose potential new members. As always keeping one happy is 10 times easier to get a new one.

From postings in the forums and irrelevant, extract the common cases and mistakes. Compile an FAQ out of them, make it accessible and refer to it in the forums and issue tickets.

A project may also want to utilize channels like a News Page, a Blog by its contributers and IRC Channel, etc. The same rule applies though, you create the channel, it is your responsibility to keep it live and functional.

8. Try to Understand Your Community

Another common mistake is not paying attention to your community or not trying to understand what community requires.
A good example of that is, the attitude I have seen in some of the bug / enhancement submissions and forum postings. Once every while, we see developers or architects reply with some sort of “This is how it works and cannot change, PERIOD”.
A rather better approach is to try to understand what the change arise from, if it is worth to discuss the issue in detail with the community member(s).
If the request does not make sense, explain in detail and try to convince. An explanation like “Because it is more useful the way it is” is not giving enough details and terminative rather then collaborative.

9. Think Before You Code

It is a very good phrase that “Removing one existing line in the code is better then adding two.”
Adhere the common practises like DRY, Segmentize and Modularize, Use in-code Documentation, etc.
Always bear in mind that some new contributeos join projects and some leave in time. You should also ensure your code is maintainable and not reliant on specific people

10. Collaborate with Other OSS Projects and Encourage Downstream Projects

Do not try to solve all the problems yourself. “Car manufacturers do not produce nails and bolts.” Try to use what’s already available. Collaborate with the projects you are in relation with and help those evolve by identifying the missing bits and parts in them.

Similarly, encourage the projects make use of your projects and projects implementing complementary and extensional features to your projects. This is rather then being a threat another reason for a longer life to your project.

Well, I hope these observations help projects in their incubation as well as the ones enjoying their maturity.

Popularity: 100%

Written by Hasan Ceylan

February 19th, 2010 at 6:19 pm

Microsoft caught stealing

without comments

I have come across a rather old story, according to InformationWeek and ars technica, Microsoft used CodePlex-hosted GPLv2-licensed ImageMaster project  in Windows 7 USB/DVD Download Tool was built .
Microsoft recently rather sheepishly said it would open source its Windows 7 USB/DVD Download Tool, a utility that lets users create bootable copies of Windows 7 on flash drives and DVDs. The company didn’t really want to do this, but there wasn’t much choice once developers discovered that the software was built using open source code protected by licenses based on General Public License v2, which requires that the source code be made available to anyone who receives the object code. Microsoft isn’t alone: The Software Freedom Law Center has identified one new GPL violation like this per day since late last summer, says Bradley Kuhn, the center’s technical director.

It is common for companies like Microsoft to treat people as thieves based on its own assumptions and attack their offices with lawyers and police, but looks like in this particular instance Microsoft was the thief.  Their incompetent developers used GPL licensed code in the tool, and ignorant of where they work, they didn’t thought of asking their law department. In the end Microsoft was forced to release the full code for the tool as GPL and open source.

Microsoft had also announced 200+ patent violations by OSS, but as more and more replies came from the OSS world, it never took legal action.

And it looks like OSS projects now has a friend called SLFC

Perfect example for Turkish saying goes “Keser döner sap döner” – slang phrase for “times change”

Popularity: 5%

Written by Hasan Ceylan

February 17th, 2010 at 12:26 am

Bug fix day, ProgressView Bug, SWT Link to blame

without comments

I guess fixing bugs in a project out of reach is one of the most entertaining thing for a husband who doesn’t want to go to bed on Friday night.

So here it goes, I was obsessed with the progress view showing hugely high items. I submitted a bug to Platform/UI team. Then I was deceived with not seeing for a while.

But it turned out to that this is still happening and based on some state – if a job has been started and it never called beginTask. I don’t have so much clue but this boils down to calling computeSize with ‘0′ width hint. Then a bug in the way SWT Link (the sub progress info label of the job info item that displays sub task information and optionally can link to other UI elements ie: console) comes to expose the bug.

SWT Label computes the size with 1px width if the width hint is given as 0. Which wraps all the text in the link down and makes its height huge. But this happens only during the layouting, so the user doesn’t see the word-at-a-line presentation of the link.

In the end, “Changing the 1px hint to Integer.MAX_VALUE fixes the issue” like charm.

“One more bug is fixed” as “one more day is over @ ceylan’s office”

Popularity: 49%

Written by Hasan Ceylan

February 13th, 2010 at 1:27 am

Posted in bugs, eclipse, solved

Tagged with , , ,

Git Over CVS / SVN

with 4 comments

It looks like I  am  late to find out this cool feature, but I’ll share it anyway. The reason for that is I never expected such a feature could exist. So there might be others like me who “underestimates” ;-) how the open source world addresses any problem that “can” exist and before you know, the solution is there.

As some of you know, I am not a committer on any open source project [yet].

However, I do contribute to quite a lot of them. One of the problems when you do not have write access to the original SCM repository, your patches and changes start getting outdated / conflicted / complicated and it becomes hard to keep up with the changes to the original SCM,

  • of your patches, some go through as they are, some with some changes while some do not at all.
  • the original repository is in continues change as well.

git Seems to tackle the issue. I have come across with Taki’s blog on CVS to GIT and back that explains how to address the problem in detail. Although the blog focuses on “CVS” it should be pretty easy apply the same for SVN and GIT (over GIT).

For specific to eclipse users Alex has written a very detailed explanations how how Git for Eclipse users helps. And Boris was kind enough to share the list of Eclipse Git Repos with me.

With these introductions you can mirror a cvs / svn repository and provide your own sub committer group to create patches, pass them to the project, get the updates back.

Even this can be very handy to fork a project.

Popularity: 10%

Written by Hasan Ceylan

February 10th, 2010 at 10:08 pm

Posted in open source, solved, web sites

Tagged with , , , ,

Resizing Partitions While Installing Linux

without comments

Hello Everyone,

If you are one of those In-Love-With-Linux like me, and visit your friends with a linux installation CD always on you, I recommend you read this.

I have recently installed Fedora 12 to a colleague’s  laptop. As expected, his drive had one big partition spanned to the whole disk. Fedora, for some time has the resize disk option available in its installers – be it anaconda, or live cd installers. As you can guess we have resized the drive installed Fedora, booted into Fedora everything was fine – up until he tried to boot into the his old crap to check his email.

The NTFS partition was unusable!

The reason for that is, according to GParted Developers, “Something with either kernel, or parted or gparted is broken and not resizing partitions properly and it is beiing investigated.”

So if you do not want to disappoint your potential to-be Linux Lovers, I recommend using the gparted live cd till this problem is solved.

You can find the details and the link to download the gparted live cd here, http://gparted.sourceforge.net/download.php

Happy 2010…

Popularity: 2%

Written by Hasan Ceylan

January 6th, 2010 at 10:17 pm