Sony Arouje

a programmer's log

Archive for the ‘Misc’ Category

You photoshopped? or You got a great Camera

with 2 comments

I think most of the photographers out there faced this comment once or more in there life. Some time this comments are intended to degrade you or some times it’s out of curiosity. The fact is not every one can come up with a better photo even if post processed or with a great camera, other wise our world will be crowded with photographers. I like that curious minds, they wanted to learn.

Post processing

Did I do post production, hell I do. I do post production to give the feeling I wanted in a photo. As humans we do a lot of post processing on our self. We go to beauty parlors, or we trim or comb our hairs, in my terms these are post processing. why we do that? to make our self presentable or feel confident.

I am software engineer, like every developer I also do a lot of refactoring. We apply patterns or practice OO. Why we do that? compiler can understand and compile any code even if it’s not refactored or not having any patterns. Still we do it, we are doing it because to give an aesthetic to our code, to make our code readable to others.

Then why post processing of a photo is not right or considered silly in peoples view. In my opinion they are doing it because we didn’t want to accept that guy have a talent, we are saying he is not talented but his tools got talent. Then why can’t you go and take a photo using your camera and you also have access to the same tools that guy has. Still if you can’t come up with the kind of photos he produce, then accept it he got talent.

Is Camera matters?

To some extend yes, the camera matters, rest is the talent of the person behind the view finder. Some time people say your photo is good, because you have a great camera. It’s like telling that my friend Senthil is an awesome developer because he has the world class IDE from Microsoft. The fact is, he can code even using a notepad.

A great tool is a must for any professional. A blunt axe in a wood cutter’s hand, will it help him? obviously not. Like any other profession, photographer also need better camera. But a great camera will never make you a great photographer.

"A photographer went to a socialite party in New York. As he entered the front door, the host said ‘I love your pictures – they’re wonderful; you must have a fantastic camera.’ He said nothing until dinner was finished, then: ‘That was a wonderful dinner; you must have a terrific stove."
Sam Haskins

Summary

Do I care if people comment like this? not at all. I take photos because I am passionate about it. I am not doing it to get likes, I am doing it for my own satisfaction. If I get likes or comments, it’s a motivation.

Photoshop is a tool for post processing, so please don’t call all edited Photos as Photoshopped.

I like to hear your thoughts, please leave your comments in the comment section.

Written by Sony Arouje

June 21, 2013 at 12:49 pm

Posted in Misc

Tagged with

Galaxy Tab Oil slick issue–Samsung’s response

with one comment

After I wrote this post, I sent the Link to Samsung India customer support via email. The response was fairly quick, I got a call from technical department and instructed me to contact Samsung UK. So I contacted Samsung UK through email.

Contacting Samsung UK via email is bit tricky as their was no direct link to open the Email popup window, but Samsung India has that option. I noticed that Samsung India’s SITE_ID is 50 and Samsung UK’s is 31. I decided to give a try by copying the email link from Samsung India and just change the SITE_ID from 50 to 31.

The URL for emailing Samsung UK is https://contactus.samsung.com/customer/contactus/formmail/mail/MailQuestionProduct.jsp?SITE_ID=31

Then pasted the new URL in chrome and sent a mail like what I sent to Samsung India. Hoping that I will get some lame excuses some days later. To my surprise I got the response from Samsung UK within 24hrs and they accepted that Samsung is aware of the Oil slick issue. Below is the response I got from Customer support.

Dear Sony
Thank you for contacting Samsung.
In response to your query, please be advised that the "oil slick" issue is something that we are aware has effected a small number of devices within the UK. Do you have a UK residence or an address in the UK? We are offering a service or replacement of these devices within the UK. If you require any further assistance, please contact Samsung again and we will be more than happy to help.

Kind regards
xxxxxxxxxx
Online Support Team
SAMSUNG Customer Support Centre

I provided my contact address in UK and they provided me a service centre address (free and a paid posting address). I had some further clarifications and the support team was very helpful in resolving all the my questions. At last I sent my tab to the address customer support provided. Hopefully I will get my Oil slick free tab in another two weeks. I will update the status once I got my tab in hand.

Written by Sony Arouje

November 15, 2011 at 12:31 am

Read app.config setting during installation

with 2 comments

I am working on a windows service and some specific reason the service name is stored in app.config file. One of the issue I have to solve while creating the installer is reading the service name from app.config of the service. I thought I can read it using ConfigurationManager (default approach). But it will not work out, ConfigurationManager will always return the serviceName as null, even though app.config has value. The reason behind this is the exe running my Installer is InstallUtil.exe and ConfigurationManager will look for InstallUtil.exe.config, so end up getting wrong result.

Google search shows that I have to load the config explicitly and then read the settings. To load the config file we need to specify the file path, I used reflection to get the path. The code is below

Assembly executingAssembly = Assembly.GetAssembly(typeof(WinServiceInstaller));
string targetDir = executingAssembly.Location;

Configuration config = ConfigurationManager.OpenExeConfiguration(targetDir);
string serviceName = config.AppSettings.Settings["ServiceName"].Value.ToString();

 

I called the above code in the constructor of WinServiceInstaller class. Now I am able to access the serviceName from the installer class.

 

 

 

Written by Sony Arouje

November 4, 2011 at 7:06 pm

Posted in .NET, Misc

Tagged with , ,

Think twice before buying Samsung Galaxy Tab 10.1

with 5 comments

A month ago I bought a brand new Samsung Galaxy Tab 10.1 (Wi-Fi model, Android 3.1) from UK. Every thing was fine until I reached Bangalore, my luck ran out and it started showing the famous OIL SLICK (Newton Ring) issue. I called up Samsung Customer Care also sent a mail regarding the issue. I got a reply from Customer care that, I should visit a Service center in Bangalore. As per the instruction I went to the Service center to try my luck. Service center told that my issue is a Manufacturing Defect and my Tab 10.1 doesn’t have international warranty so they cant do any thing with my tab. This states one thing that Samsung’s Customer care and Service center are not in sync, pathetic.

I regret my decision of buying Galaxy Tab 10.1, I could have buy iPad2 or any other Android tab. I bought an Android tab because I wanted to do some development in Android world. Galaxy tab 10.1 showcased as one of the best tablet in Android world and I fall into that trap.

Samsung should have guts to admit that their Tab has manufacturing defect and will replace from any where. But till now not a single word from Samsung about this issue, how pathetic.

My advice to others are don’t buy Galaxy Tab 10.1, today or tomorrow your tab also shows Oil Slick issue. If you still want to buy then.

  • Make sure you have a room that’s very cold like refrigerator, research shows that keeping Tab 10.1 in refrigerator for 5 minutes will remove Oil slick for some time. So if you have a very cold room and you work on your Tab in that room, Oil Slick issue may not arise again.
  • Try to win a lottery or wait until you win the lottery. So that you can make sure that you are lucky and the probability of getting Tab without Oil Slick is high (Just buy a low cost lottery, it is to make sure you have luck)
  • Wait until Samsung declares that the Oil Slick issue is permanently resolved.

If you are not specific about Android OS better go for iPad2. I can guarantee that Apple’s customer support is wonderful. I bought an iPhone 3G when it first launched and my phone’s touch screen has some defect. I went to a Apple’s customer care center, after the examination they simply replaced it with a new one. They haven’t asked a single question, no bills, no warranty card just gave me a new phone. As a customer we expect these kind of Customer support what Apple provides not the pathetic and unprofessional support what Samsung is providing.

 

I am not Alone

Google search shows that I am not alone, couple of links talks about this issue. You can search your self and search will come up with more than 10 page search result.

http://galaxytablife.com/2011/07/galaxy-tab-10-1-moisture-oil-slick-problem/

http://forums.cnet.com/7723-13973_102-540466.html

http://www.galaxytabforums.net/forum/galaxy-tab-10-1-help/953-i-have-dreaded-oil-slick-under-screen-problem-my-gt-10-1-what-do.html

 

Some owners replaced their Galaxy tab several times, that shows how wonderfully Samsung manufactured the Tab 10.1. Please spread the awareness to keep people away from purchasing this buggy Galaxy Tab 10.1 

 

Spread the Awareness

Friends spread the news, you may save your friends or family falling into the trap of Galaxy Tab 10.1. If you own a Galaxy Tab let me know your experience by updating in comment section.

All the best if you still considering to buy a Galaxy Tab 10.1

Edit: see the response from Samsung Customer Support UK

Written by Sony Arouje

October 17, 2011 at 11:38 am

Continuous learning and Pet projects

with 4 comments

As a software professional we are living in a world of knowledge explosion. A new framework will introduce in a matter of time to solve our hardship or another vendor introduce a framework superior to the existing ones. Our world is changing day by day, so how we will cop up with the ever changing world of Software industry. Simple answer is Treat programming as a passion not just a profession and Continuous learning.

Learning is not just reading some books or blogs, it also includes implementing what you read by writing a simple application. I can fly an aero plane using Microsoft Flight simulator but how foolish I am If I think that I can fly a real plane because I can fly in simulator. Same applies to software world as well, we have to practice what we read using language of our choice.

In hiring process if I ask about WCF or any xyz prominent framework, one answer I hear most of the time from candidates are “I read about it but never used it, because my  current project is not using it”. To succeed in Software industry are we relying only on our official project?  Its like a F1 driver telling that I will touch the driving wheel only in F1 Race track, does he win the race?

Pet Projects

One of the best way to expand our horizon is working on pet projects. It gives immense opportunity to learn new things that we wont get in official projects. The advantages of a pet project is

  • Their wont be any deadlines.
  • Opportunity to implement what ever you are learning in day to day life.
  • You can scrap the project and start it from the scratch with a new improved design.
  • Test different frameworks and use the best one.
  • Knowledge you gained from pet project can be used in official one.
  • You are the boss do what ever you want with it.
  • And a lot….

A year or two back I was doing some research in Collective intelligence, and I learned couple of algorithms as part of it. I never knew that I will be using what I learned in those days in a completely different context, I used it for counting colors in an image just like how human does. I implemented it it in an official project. Yes time spend in Collective Intelligence paid me off. 

Most of my pet projects wont even see the light, but all of those are high learning curve for me. I learned WPF through a pet called iTraveller. Three years later I scrapped that project and developed in MVVM using Caliburn Micro with a new architecture. It helped me to learn a lot other frameworks, you can see the details of iTraveller here.

Recently I read a post of Ayende and that invites lot of negative feedbacks. Most of the commenters tells lack of time outside official work to do some pet projects or want to spend time with family, etc. With all respect I strongly disagree that, I think most of us can spend an hour every day to sharpen our knowledge. In a long run it will definitely help you.

Learn new Languages

As Pragmatic Programmer book says, learn a new language every year. It’s a wonderful experience and full of challenges. I was working in .NET for so many years and one day got an urge of learning Scala. It was very challenging, I got introduced to new semantics, new IDE, a completely new world. But I learned functional programming. I may not use Scala in my day to day life but I learned lot of good stuff that I may can use in .NET. If you are a WP7 developer, do some thing in Android. Trust me it’s will be a new experience.

Once we start broaden our knowledge, it will shatter our ego and will realize how less we know in the ocean of knowledge.

I was like a boy playing on the sea-shore, and diverting myself now and then finding a smoother pebble or a prettier shell than ordinary, whilst the great ocean of truth lay all undiscovered before me. – Isaac Newton

Share what you learn

It will help others if you share what you have learned. If you don’t have a blog start one. A blog is not just for others, it will also help you if you want to look back and find how you solved a scenario before. I consider my blog as a log of solutions, where I can read it when ever a similar situation arise.

 

The post is just a repetition of all other great minds said. I just portrayed through my experience.

 

Happy coding…

Written by Sony Arouje

October 2, 2011 at 10:38 pm

Posted in Misc

Tagged with ,

Running Scala in IntelliJ IDEA 10

with 16 comments

Last couple of days I was playing with Intellij to run Scala. As I am from .NET world Intellij IDEA was a new piece of tool for me. After installing Intellij, I was stumbled what to do next. I started googling and I came to know that Intellij, Netbeans, etc are using plugin models, that means to run Scala I should install plugin for Scala. Great, now how will I instruct Intellij to install Scala plugin for me. It’s very easy to find out, just open Intellij IDEA and you will see the screen as shown below.

Quick note: Intellij Community edition is free and you can download if from Jetbrains site.

image

Have a look at the right top portion of IDEA, you can see a Open Plugin Manager link button. Click the button and will open a window as shown below.

image

Go to the Available tab. The plugin manager will search and show all the available plugin for us. You can iterate through each plugin one by one or Type scala at the search box on the top. Once you find scala in the plugin list. Select it and right click and Say download and install it. That’s it, now we are ready to run scala.

Note: I assume you have already downloaded the Scala complier and new Java JDK and set environment variables properly. if not I will explain later in the post.

Creating our First Scala project

Let us start with famous HelloWorld project Smile. Click File –> New Project. Intellij will show below dialog box.

image

You can see the project name is HelloWorld, also I given the Project file location.

Click Next to continue. If you run for the first time, the IDEA will ask to point to the JAVA JDK installed folder. Just point the installed folder to him. In this scenario I already did that. So now I get a screen as follows

image

Just give the source folder name if you want it. Here I leave it to the default src. Click next button to select the desired technologies we are going to use. In our scenario its Scala.

image

I selected Scala from the list. We are done with creating the project. Just click Finish and complete our wizard.

Write Our First Scala Code

Right click the src folder and select New Package as shown below. I typed MyFirst here. Package is same as the namespace in our .Net world.

image

 

Now right click on the Package MyFirst and say New –> Scala File. I select object from Kind dropdown, I hope you all know what Object in scala means. It will show a dialog as shown below

image

 

I clicked Ok and IDEA shows the code editor, let’s type our first code as shown below

package MyFirst

object FirstApp{
  def main (args:Array[String]){
    println ("hello world")
  }
}

So we done our first Hello World sample.

How to Run our Scala code

Every time I click the run button in IDEA, it will show up the Scala console. And I should run my scala code just like we run it from command prompt. What I wanted was, when I click run, the main function should execute without my intervention. Just like I do in Visual Studio. After some search and playing around in Intellij IDEA, I figured out the way to do it.

Click the small arrow next to the Run button as shown below and click on Edit Configuration.

image

Edit configuration will popup a dialog as shown below.

image

Click the + button in tool bar and select Application from the list. Enter the Fully qualified name in Main Class text box as shown below

image

We are done, now you can see the FirstApp in the dropdown just before the Run button in the Intellij tool bar. Click the Run button or Shift + F10 to execute the code. Below is the screen shot after running the code.

image

 

Configuring Scala Compiler and JDK

Download the latest Scala compiler from Scala Site. Also download the latest JDK.

I copied the Scala compiler in C drive. Next step is add the compiler folder to Path environment variable. Also add the JDK (till bin) to the Path variable. Install JDK if not exist in you machine.

I created a SCALA_HOME and JAVA_HOME environment variable

SCALA_HOME=C:\scala-2.8.1.final

JAVA_HOME=C:\Program Files\Java\jdk1.6.0_21

Append the Path variable with the newly created env variable as shown below.

PATH=$SCALA_HOME%\bin;%JAVA_HOME$\bin; + Path

 

Summary

You can also run Scala in NetBeans and Eclipse as well. You can see more details from Scala site. Initially I configured NetBeans for learning Scala.

Happy coding in Scalaaaaaaaaaaaaaaa.

Written by Sony Arouje

March 18, 2011 at 9:02 am

Posted in Misc

Tagged with , , ,

<span>%d</span> bloggers like this: