People Net и Mac

April 17th, 2009 vira Posted in internet, mac | No Comments »

По причине отсутствия интернете в моем родном городе Комсмольске решилась я таки купить какое-нибудь 3G решение. Выбор пал на People Net, в большей степени из-за раскрученности и в меньшей после сравнения с конкурентами :)

Выбора модемов в отделении Приват-банка (где также можно подключиться) особого не было и “пришлось” брать Huawei EC 226. Не совсем пальцем в небо конечно - он поддерживает маки и вроде бы неплохой по отзывам.

На сайте people net-a в разделе этого модема есть драйвера под мак и инструкция, но! Сразу у меня ничего естественно не получилось. При подключении выдавало “No carrier detected…” Как оказалось, необходимо просто отключить проверку PIN-кода под Windows из программы Mobile Partner, которая поставляется с модемом. Жаль этого не описано в официальной инструкции.

И еще один момент, драйвера написаны довольно таки криво и забивают syslog всякой гадостью. Вроде бы связано с тем, что модем заявляет себя как cd-rom, но примаунтить его не выходит. Попытки постоянно повторяются и в результате получаем никому не нужную нагрузку на систему. Надо будет разбираться, более детально тут.

P.S. Скорость довольно таки нормальная, порой лучше киевской Воли кабель :)


XCode tips

March 31st, 2009 vira Posted in Computer science, mac | No Comments »

Here will be short list of the XCode hotkeys most used by me. I’ll try to update it periodically.

  • Switch to header/source file - Opt+Cmd+Up
  • Show Console - Shift+Cmd+R
  • Move to the next argument in Code Completion - Control+slash
  • Jump to definition - Cmd+doubleClick
  • Code Completion - Esc
  • Open Quickly - Shift+Cmd+D

Cool shortcut’s list for XCode


+1 мак девел - подарок Стиву Джобсу на 54-летие )

February 25th, 2009 vira Posted in trash | 2 Comments »

Чаще всего не верю в совпадения… но приходится порой :) 24-го февраля окончательно кинула все старое и перешла в мак девелоперы, а вечером узнала что в этот же день у Стива ДР… Хороший знак надеюсь :)


Eclipse tips: quick code assist

January 16th, 2009 vira Posted in Soft | No Comments »

Just a small tip I’ve discovered today:

Usually I use code assist in such way e.g.  to get System.out.print() press the following “S”+Ctrl+Space+Enter+dot+”o”+Enter+dot+”p”+Enter+”(”. But it can be done  faster - just enter “S”+Ctrl+Space+dot+”o”+dot+”p”+”(”. So Enter key can be omitted. Minus three keypressing -  cool :)

P.S. BTW, for such a commonl thing as System.out.println() code template “sysout” can be used.


Back your Mac to life

December 26th, 2008 vira Posted in mac | 1 Comment »

Перезапускаю свой ноут я обычно в случаях крайней необходимости - апдейты поставить или просто что-то перестало/стало медленно работать.

Так и случилось на днях, пришлось перезапустить после апйдетов Safari и iTunes… Но после перезапуска загрузка доходила только для логин скрина… В этом посте я попытаюсь вкратце передать свой опыт воскрешения макос-а.

Read the rest of this entry »


Magic of svn:keywords

December 11th, 2008 vira Posted in Computer science | No Comments »

Сегодняшний день не прошел без мини откровений  - узнала о возможности динамически изменять ревизию/дату изменения в исходниках при коммите. Для этого просто необходимо установить свойство svn:keywords (svn propset svn:keywords “Date Author” source.c) с необходимыми ключевыми словами (напр. Revision, Author и т.д.), а в исходнике добавить что-то вроде “$Revision$”. И при коммите вместо ключевого слова будет вставлен номер ревизии с которой он произведен -$Revision: 666$”

Одно из применений этого метода для Java - добавить в каждый класс статический блок

static{ System.out.println(”$Revision$ $Source$ $Date$”);}

При загрузке классов будет выводиться указанная информация, которая может быть крайне полезна при отладке - напр. один из классов устаревший.

Детали в svnbook


Ваш МакБук уже не очень белый - тогда ацетон идет к Вам :)

November 10th, 2008 vira Posted in mac | 2 Comments »

Как известно, со временем корпус белого МакБука желтеет и не доставляет былого эстетического удовольствия. В моем случае, визуальный дефект еще больше усилился после установки нового аккумулятора - его белая поверхность делала корпус еще желтее.

 Результат от средств, которые советовали на всяческих форумах/блогах и т.п. (а это были средства для чистки дисков и зубной порошок),  меня не удовлетворил… и я решила подойти к вопросу радикально - снять верхний слой пластмассы (благо он довольно толстый)  с помощью растворителя. Эдинственное что было под рукой - жидкость для снятия лака для ногтей - отлично справилось со своей задачей. Корпус стал как новый и аккумулятор его не позорит теперь :-) Эдинственное замечание - надо быть осторожными с  текстом/значками на корпусе… ато у меня уже аудио выход не подписан….

Возможно это не самый щадящий метод очистки, но довольно дешевый, доступный, эффективный и мне помог :) 


WWDC 2008!

June 9th, 2008 vira Posted in mac | No Comments »

Уже началось! Одна из текстовых/фото трансляций на инглише MacRumorsLive. Приятного прочитывания )


True MacCat

June 5th, 2008 vira Posted in All, mac | 6 Comments »

Фотосессия моей кошки Ассы - истинной фанатки “теплой” продукции Apple. Правда рассматривает MacBook  она исключительно как место для сна :-) Отношения Ассы с ноутбуком были исследованы и задокументированы. Фото под катом. Read the rest of this entry »


Using Google Search API from Java

April 25th, 2008 vira Posted in Computer science | 11 Comments »

Recently I’ve discovered ability to search in Google from Java program in a way different from brute “crawling”.And I’ve found out two options:

Google SOAP API

With this API you can issue search requests to Google’s index of billions of web pages and receive results as structured data, access information in the Google cache, and check the spelling of words. Google SOAP Search API is implemented as a web service and all you need is just get WSDL and call remote methods through SOAP protocol. Usage of this service is limited to 1000 requests per day.

But as you can read on SOAP API site

As of December 5, 2006, we are no longer issuing new API keys for the SOAP Search API. Developers with existing SOAP Search API keys will not be affected.

So you aren’t able to get API key (I found the old one in Internet). And Google encourages you to use the AJAX Search API, which is described below.

Example of code that perform search request and show obtained results.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import com.google.soap.search.*;
import java.io.*;
public class SimpleGoogleDemo {
	public static void main(String[] args) {
		// Create a Google Search object, set our authorization key
		GoogleSearch s = new GoogleSearch();
		String clientKey="xxxxxxxxxxxxxxxxxxxxxxxxxxxx";
		s.setKey(clientKey);
		s.setQueryString("vera.org.ua");
		GoogleSearchResult result = null;
		// Depending on user input, do search or cache query, then print out result
		try {
			result = s.doSearch();
		}
		catch (GoogleSearchFault f) {
			System.out.println("The call to the Google Web APIs failed:");
			System.out.println(f.toString());
		}    // if we made it here, the search went through
		System.out.println("Google Search Results:");
		System.out.println("======================");
		if (result!= null)
			System.out.println(result.toString());
	}
}

To run this code you need to have googleapi.jar in your classpath. This jar file contains very useful and easy-to-use class com.google.soap.search.GoogleSearch, which does all search work.

Google AJAX API

Usage of this unlimited and you can make as many request as you want. Despite the fact that Google in this API FAQ say “The Google AJAX Search API is currently available only for websites.” ability to use it exists :-)

Example of code that perform search request and show obtained results.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import java.io.*;
import java.net.*;
 
public class GoogleAJAXSearchAPI {    
 
	private static String endpointURL = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=vera";
 
	public static void main(String[] args) throws Exception {
		URLConnection uc = new URL(endpointURL).openConnection();
		HttpURLConnection connection = (HttpURLConnection) uc;
		connection.setDoOutput(true);
		connection.setRequestMethod("GET");
		connection.connect();
		String line;
		InputStream inputStream = null;
		try {
			inputStream = connection.getInputStream();
		} catch (IOException e) {
			inputStream = connection.getErrorStream();
		}
		BufferedReader rd = new BufferedReader(new InputStreamReader(inputStream));
		while ((line = rd.readLine()) != null) {
			System.out.println(line);
		}
	}
}

To run this code you need to can get API key here.

So, have fun :)

PS Look at this too - Java OO wrapper for Google AJAX API