Ashik’s IT Thoughts

June 4, 2015

1 Day Delivery from Amazon Prime – Java 8 In Action by Manning Publications

Filed under: Uncategorized — ashikuzzaman @ 9:44 pm

I got 1 day delivery by amazon prime today of the below book.

Java 8 in Action: Lambdas, Streams, and functional-style programming
by Raoul-Gabriel Urma et al.

java8inaction

Link: http://amzn.com/1617291994

Youtube Video: https://www.youtube.com/watch?v=Rd-sqHjmfB0&feature=youtu.be

Manning Page: http://www.manning.com/urma/

Source Code from Github: https://github.com/java8/Java8InAction/

Spring with Maven using Spring Boot

Filed under: Uncategorized — ashikuzzaman @ 5:20 pm

I started playing around Spring after a long time. I needed to quickly get ramped up and hence used Spring Boot module to get spring,maven, embedded tomcat up and running. The sample files in this example I have committed to my public github repository here – https://github.com/ashikuzzaman/springchecks

You can use the below steps so hat you can use too to get started –

1. make sure you have java installed and path, java home mentioned in bashrc file
1a) verify “java -version” or better yet “java -XX:+PrintCommandLineFlags -version”

2. sudo apt-get install maven
2a) verify maven installation by “mvn -v

3. create a directory for your project and create an emlty pom.xml file there to be used with maven.

4. Update pom.xml file with the content similar to what is in /home/auzzaman/dev/coding/java/maven/pom.xml

5. Once pom.xml is created, open up a terminal and go to that same folder where the file is. Lets say this is your project home or maven home. Now run the command “mvn package” from here.

6. Now run “mvn:dependency:tree“. It should download dependency files

7. Now update pom.xml to add a few more dependencies. For example add it –

org.springframework.boot
spring-boot-starter-web
8. Now create directory structure under maven home as src/main/java. For example, my directory structure is /home/auzzaman/dev/coding/java/maven/src/main/java

9. Create a new java source file AshikHelloWorldExample.java in that folder with the below content –

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;

@RestController
@EnableAutoConfiguration
public class AshikHelloWorldExample {

@RequestMapping(“/”)
String home() {
return “Hello World!”;
}

public static void main(String[] args) throws Exception {
SpringApplication.run(AshikHelloWorldExample.class, args);
}

}

10. Run the command “mvn spring-boot:run” to compile the program, download tomcat and other dependent jar files and bring tomcat up and running with the webapp created that uses your java file to show output in the browser.

11. Open your browser and hit http://localhost:8080/ to see the response from the webapp as “Hello World!”. To access the app from a different machine in your network, use the following URL – http://auzzaman-wsl3:8080/

12. To gracefully exit the application hit “ctrl-c“.

13. Now lets make some changes to the application. For example, add a package to the class and change the text to display in the webapp a bit like below –

package com.github.ashikuzzaman.javaapichecks.spring;

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;

@RestController
@EnableAutoConfiguration
public class AshikHelloWorldExample {

@RequestMapping(“/”)
String home() {
return “Hello World from Ashik using Spring and Maven in an executable jar!”;
}

public static void main(String[] args) throws Exception {
SpringApplication.run(com.github.ashikuzzaman.javaapichecks.spring.AshikHelloWorldExample.class, args);
}

}

14. To create an executable jar first we need to add a maven plugin for spring boot. Add the below elements under dependenceies scetion in pom.xml –
   <dependencies>
        <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

15. Add an etnry if you want to change the JDK major version that you want to use. For example, if you want to specify that you want to use Java 7, here is an entry you can add just after the previous build element that you added –

    <properties>
        <java.version>1.7</java.version>
    </properties>

16. Save pom.xml and run “mvn package

17. If you look in maven’s target directory you should see myproject-0.0.1-SNAPSHOT.jar file. You can print verbose what’s in it by “jar tvf target/myproject-0.0.1-SNAPSHOT.jar”

18. To run the application from command line, use the following command “java -jar target/myproject-0.0.1-SNAPSHOT.jar

19. Again you have to open the browser and access http://localhost:8080/

June 1, 2015

JugBD Meetup 4 – Meet the guests – Mojahedul (Masum Bhai)

Filed under: Uncategorized — ashikuzzaman @ 3:55 am

May 11, 2015

My First Java Code Commit to GitHub

Filed under: IT, Java — ashikuzzaman @ 11:46 am

My First Java Code Commit to GitHub. For now I have started with a simple class and will keep adding more classes as I get time –  ListPerformanceTestSimple.java

https://github.com/ashikuzzaman/javaapichecks

I had to do some trial and error before finally all the setups worked in my Ubuntu box. You can save the trial and error time if you follow the steps below that I performed –

1. Register a github account – https://github.com/

2. create a repository – look at top right + sign after you log in.

3. setup authentication from github to git. You can read through this article if you need some help or simply execute the commands that I typed below in sequence – https://help.github.com/articles/set-up-git/#next-steps-authenticating-with-github-from-git or http://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository
3a. $ git config –global user.name “ashikuzzaman”
3b. $ git config –global user.email “ashikuzzaman@gmail.com
3c. $ git config –global core.editor gedit
3d. $ git config –list
3e. $ git log

4. Clone your repository in your local workspace –  $ git clone https://github.com/ashikuzzaman/javaapichecks.git

5. Add a new .java file, locally compile and run. For example, javac -d . ListPerformanceTestSimple.java

6. $ git add ListPerformanceTestSimple.java

7. $ git status

8. $ git commit -m “my first commit from command line to github”

9. $ git push origin master

April 18, 2015

Project Delight Go Live Party Held in San Francisco

Filed under: Uncategorized — ashikuzzaman @ 10:18 am

Last month Salesforce Global Sales and Revenue Operations held a party for Salesforce Business, IT, Vendors, Partners to celebrate Project Delight Go Live (March 9th was the go live date). Being one of the lead developers of that project, I was fortunate to be part of this celebration party. I am running towards my 8th year in Salesforce and hence have seen it grow from small to big. This party was a selected crowd from all across key participants from Sales Operations, IT, Accenture, Deloitte, Apttus executives and engineers. By key participants, I mean all the important members who have been working in this project for last 1 to 3 years to make it happen. It was held at Jones @620 Jones Street, San Francisco, CA on April 17th.

The core of the project was to replace our legacy CPQ tool Comergent with the native and fashionable Apttus CPQ. I was the lead developer for the legacy Comergent based quoting engine which is third party Java/JEE application stack deployed in Tomcat clusters within Apache. On the other hand Apttus is the Force.com application suite, the center of which is the quoting tool. But replacing a quoting tool was not the only target of this project, along with came streamlining the upstream and downstream systems and handling a large volume of desperate unstructured data accrued after years of operations. I will leave it there and get into the party part of it.

I can’t think of any other party which was more enjoyable than this. Part of the reason is the host business people are very fun loving and after working years together in this project we really got the scope to know each other very closely. There were plenty of foods of all kinds, photo taking and album creation instantly with the teams, video interviews, local musical band party of San Francisco, karaoke, a bag full of gifts (iPod Nano, Bose Bluetooth headset, iPhone charger etc were just one of the few things in that bag). You will get some idea of how much fun we had if you watch the above video of William and John dancing in the stage.

At the start of the event, anonymous peer votes were taken for 3 awards within the participants for the people who worked in this project. William Jager won the award for challenging the status quo of the project at different times, Michelle Zaus got the award for cheer leading the teams all along and yours truly got the Project Delight Nike Award for working hard and delivering quality work on time. This was very satisfying as it came from the votes of the peers. A grand project, the largest in my 15 years career, ending in a grand style.

ashik-delight-nike-award

During the party, our consultant friends who worked in this project were appreciating the party saying that no other clients’ party is like Salesforce party! Very true. I will go one step ahead and say, no other party in Salesforce was like Project Delight Party!!

April 9, 2015

Java Programmer’s Life In Music – We code hard in these cubicles

Filed under: Uncategorized — ashikuzzaman @ 8:22 am

December 22, 2014

JUGBD Webinar: Salesforce booming from a startup to the highly used cloud development platform

Filed under: Uncategorized — ashikuzzaman @ 9:05 am

A few days back one of my ex-Colleague from Bangladesh Nazrul contacted me to have a meetup session with Java User Group Bangladesh to share some of my experience with Bangladeshi Programmers and Technologists. I was very happy to see that as I started the first Java Users Group in Bangladesh in 2002 and was very actively involved there until I came back to USA in 2005. So yesterday I presented my topic through GoToWebinar. The full session was recorded and today was uploaded in YouTube. Here is the one. I plan to engage few of my fellow technologists here in Sillicon Valley for sessions on different topics in similar style in future.

October 7, 2014

Please Let Us Get Some Work Done In Office

Filed under: Uncategorized — ashikuzzaman @ 8:30 am

What I have been talking about for so many years has now come out as a TED talk! This is why I work twice a week late in the office till midnight when there is no one around just to actually get some work done. Please pay special attention to the 3 recommendations that Jason Fried made to remedy. I am happy that the first one is already partially implemented in my office as – No Meeting Thursday!

September 18, 2014

Emerging Technologies

Filed under: Uncategorized — ashikuzzaman @ 11:12 pm

emerging-technologies

January 21, 2014

Trying Out Gliffy as Online Diagramming Tool

Filed under: IT — ashikuzzaman @ 12:51 pm

I like free online tools as I use Mac, Ubunutu, Windows, iPhone and iPad at different times from different locations for same or different purposes, both office work or chess or other interests.

I use http://www.onlinehtmleditor.net/ as Online HTML Editor.

I use http://www.jsoneditoronline.org/ as online JSON Editor.

Now I wanted to come out of Visio or MS Paint or Dia for diagramming as those are offline or installed applications.

Today I tried to use Gliffy after searching and testing several other tools online. I see that it gives me close to the functionality of MS Visio although its free and online based.

Gliffy Online Diagramming Tool

Older Posts »

The Silver is the New Black Theme. Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.