For some of you I have this very useful command line for getting Android Debug Key which can be used for signing Android applications.
Alias name: androiddebugkey
Creation date: 2014-12-18
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 32435620
Valid from: Thu Dec 18 21:04:11 CET 2014 until: Sat Dec 10 21:04:11 CET 2044
Certificate fingerprints:
MD5: XXX
SHA1: XXX
SHA256: XXX
Signature algorithm name: SHA256withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 20 B4 60 1E 46 B5 AD B0 45 49 93 48 C2 D6 0C BF .`.F...EI.H....
0010: 9C CD 8D 02 ....
]
]
Information under SHA1 can be used to signing Android apps. More information about signing Android apps you can find under this link Developer.android.com - App Signing.
When you get this message - "ADB not responding. You can wait more or kill adb ..." just use this command :
Recently in October, Orange with local authorities of towns such as Warsaw, Gdansk and Poznan, start new competition called BIHAPI (Business Intelligence Hackathon API) [1] which aims to stimulate creation of innovative applications, system and services built using API (Application Developer Interfaces). For every participant there is available about 81 API (including data cites of Warsaw, Gdansk, Poznan and Orange Telco API). More information about competition you can find under website [1].
Reference :
[1] BIHAPI
I would like to present you very quick cheat sheet about how implement RMI (Remote Method Invocation) [3] which performs the object-oriented equivalent of RPC in Spring using RmiServiceExporter [1] (used to expose RMI interface) and RmiProxyFactoryBean [2] (used to consume RMI interface).
First of all, you must create some interface which will be used to expose your methods [4]
public interface IUser {
UserDTO retrieveUserById(Long userId);
UserDTO register(UserDTO user) throws RegisterException;
}
Next provide some implementation for interface IUser in the form of class [5]
public class UserManager implements IUser {
private IUserDao userDao;
@Transactional(propagation = Propagation.REQUIRED, readOnly = true, rollbackFor = Exception.class)
public UserDTO retrieveUserById(Long userId) {
return userDao.retrieveUserById(userId);
}
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = Exception.class)
public UserDTO register(final UserDTO user) throws AVValidationException {
if (user == null) {
throw new IllegalArgumentException("Wrong params. user cannot be NULL");
}
return userDao.register(user);
}
public IUserDao getUserDao() {
return userDao;
}
public void setUserDao(final IUserDao userDao) {
this.userDao = userDao;
}
}
And of course you must provide XML Bean definition [6].Next in your XML with Beans you should export RMI using RmiServiceExporter [7].
Now you can use this RMI exposed under service name called JSUserManager after providing definition in XML Bean [8].
Please do not forget about initialization your RMI like below [9].
private void run() {
logger.info("creating ctx...");
final AbstractApplicationContext ctx;
try {
ctx = new ClassPathXmlApplicationContext(
"/garciapl-service-rmi-ctx.xml"
);
logger.info("ctx created; registering shutdown hook");
ctx.registerShutdownHook();
logger.info("Starting up the application. Stand by... ;)");
logger.info("Creating MP service...");
ctx.getBean("userManagerRMI");
} catch (Throwable e) {
logger.fatal("exception caught during initialization: ", e);
System.exit(-1);
}
logger.info("app is up and running");
synchronized (this) {
try {
wait();
} catch (InterruptedException e) {
logger.error("wait interrupted", e);
}
}
logger.info("Exiting...");
System.exit(0);
}
Reference : [1] Spring Docs - RmiServiceExporter [2] Spring Docs - RmiProxyFactoryBean [3] Oracle Docs - RMI [4] Pastebin - RMI Interface [5] Pastebin - Interface implementation [6] Pastebin - Interface implementation XML Bean [7] Pastebin - RmiServiceExporter [8] Pastebin - RmiProxyFactoryBean [9] Pastebin - Register RMI
Some of you have faced the problem when SQL Developer on Ubuntu which just freeze after some idle time. More information about this issue and solution can be found under [1]. I must to admit that this solution is quite complex, so I decided to prepare some very simple tool called SQLDeveloper Killer. Below I paste some source code in Java which aims to list all processes which are alive in system and find particular process which corresponds to SQL Developer process (contains "sqldeveloper.conf" in CMD description).
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package killsqldeveloper;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/**
*
* @author lciesluk
*/
public class KillSQLDeveloper {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try {
Process exec = Runtime.getRuntime().exec(new String[]{"ps", "-ef"});
exec.waitFor();
BufferedReader reader
= new BufferedReader(new InputStreamReader(exec.getInputStream()));
String line = "";
while ((line = reader.readLine()) != null) {
if (line.contains("sqldeveloper.conf")) {
System.out.println(line);
String[] split = line.split(" ");
if (split.length > 2) {
System.out.println(split[1]);
if (!split[1].equals("")) {
Process execKill = Runtime.getRuntime().exec(new String[]{"kill", "-9", split[1]});
execKill.waitFor();
} else {
Process execKill = Runtime.getRuntime().exec(new String[]{"kill", "-9", split[2]});
execKill.waitFor();
}
}
break;
}
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
After you paste this code to your IDE, you can install very useful tool called alacarte to create Unity launcher on Ubuntu.
![]() |
| SQL Developer Killer |
Reference : [1] Alexeymoseyev.wordpress.com - Oracle SQL Developer hangs on Linux [2] Pastebin.com - Source Code [3] Alacarte - Ubuntu menu editor
When I am starting to search something using of course Google, from my point of view it is quite annoying that when you would like to exclude some search results in search bar, in way as you can see below, you can only exclude probably about 20 sites.
So, to get the most hidden results from Google, I decided to create small tool which uses Google Custom Search API.
Before you can start your journey with this very interesting API you should (see [2] in Reference) :
1) Create search engine and get it's ID 2) Generate API key for Custom Search API
After you successfully received all the necessary data from above steps, you can simply download small Java program developed by me ([3]), which can be used by you to go deeper and deeper with your searching of web!
public class WarsawDeveloperJava {
public static void main(String[] args) throws Exception {
String searchText = "Warsaw java developer";
String key = "CUSTOM_SEARCH_API_KEY";
String cx = "SEARCH_ENGINE_ID";
JsonFactory jsonFactory = new JacksonFactory();
HttpRequestInitializer httpRequestInitializer = new HttpRequestInitializer() {
@Override
public void initialize(HttpRequest request) throws IOException {
}
};
Customsearch customsearch = new Customsearch(new NetHttpTransport(), jsonFactory, httpRequestInitializer);
Customsearch.Cse.List list = customsearch.cse().list(searchText);
list.setCx(cx);
list.setCr("countryPL"); //country origin of search result
list.setDateRestrict("m2"); //results should be no older than 2 months
list.setKey(key);
Search results = list.execute();
List listResult = (List) results.getItems();
Iterator iterator = listResult.iterator();
while(iterator.hasNext()) {
Result next = (Result)iterator.next();
System.out.println(next.getLink());
}
}
}
Reference :
[1] Developers.google.com - Custom Search API
[2] Weblog4j.com - Having Fun with Google Custom Search API and Java
[3] Pastebin.com Source Code

