Реклама

Настроить

!false · IT · emo


Соленая клавиатура

Свежие записи · Архив · Друзья · Личная информация

* * *
Не удивлюсь, если герой сегодняшнего башорга - отъявленный эмо-кодер:
arturius: кто нибудь в курсе, есть ли вообще штатные средства, что бы в кроне запустить задачу в рандомное время?
(с)
* * *
Вот что бывает, когда пишешь на C++, не зная, зачем нужны виртуальные деструкторы...

классы CRPProp_0n - производные от общего базового класса. Вроде задумка неплохая, можно работать с их массивом, удобно. Но видимо, что-то не заладилось, почему-то их методы не вызывались (про виртуальные функции разработчик не знал)... И тут на выручку эмо-кодеру пришло приведение типов! Правда, про работу с массивом в цикле пришлось забыть...

CBroadcastPropPP::CBroadcastPropPP()
{
m_bAdminMode = FALSE;

m_aProps.Add(new CRPProp_01);
m_aProps.Add(new CRPProp_02);
m_aProps.Add(new CRPProp_021);
m_aProps.Add(new CRPProp_022);
m_aProps.Add(new CRPProp_03);
m_aProps.Add(new CRPProp_05);
m_aProps.Add(new CRPProp_06);
m_aProps.Add(new CRPProp_07);
}

#define PPPos_Dir 0
#define PPPos_Recursive 1
#define PPPos_Masks 2
#define PPPos_MaxSize 3
#define PPPos_Archive 4
#define PPPos_Subject 5
#define PPPos_Types 6
#define PPPos_MaxRcpt 7
#define PPPos_BCC 8

void CBroadcastPropPP::Initialize(IRegistrator* pRegistrator)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState( ));
m_pRegistrator=pRegistrator;

((CRPProp_01*)(m_aProps[PPPos_Dir]))->_Initialize(m_pRegistrator->m_sStartupPath, m_pRegistrator);
((CRPProp_02*)(m_aProps[PPPos_Recursive]))->_Initialize(m_pRegistrator->m_sStartupPath, m_pRegistrator);
((CRPProp_021*)(m_aProps[PPPos_Masks]))->_Initialize(m_pRegistrator->m_sStartupPath, m_pRegistrator);
((CRPProp_022*)(m_aProps[PPPos_MaxSize]))->_Initialize(m_pRegistrator->m_sStartupPath, m_pRegistrator);
((CRPProp_03*)(m_aProps[PPPos_Archive]))->_Initialize(m_pRegistrator->m_sStartupPath, m_pRegistrator);
((CRPProp_05*)(m_aProps[PPPos_Types]))->_Initialize(&m_pRegistrator->m_DB,m_pRegistrator->m_sStartupPath);
((CRPProp_06*)(m_aProps[PPPos_MaxRcpt]))->_Initialize(m_pRegistrator->m_sStartupPath, m_pRegistrator );
((CRPProp_07*)(m_aProps[PPPos_BCC]))->_Initialize(m_pRegistrator->m_sStartupPath, m_pRegistrator );
}

CBroadcastPropPP::~CBroadcastPropPP()
{
delete (CRPProp_01*)m_aProps[PPPos_Dir];
delete (CRPProp_02*)m_aProps[PPPos_Recursive];
delete (CRPProp_021*)m_aProps[PPPos_Masks];
delete (CRPProp_022*)m_aProps[PPPos_MaxSize];
delete (CRPProp_03*)m_aProps[PPPos_Archive];
delete (CRPProp_05*)m_aProps[PPPos_Types];
delete (CRPProp_06*)m_aProps[PPPos_MaxRcpt];
delete (CRPProp_07*)m_aProps[PPPos_BCC];
}

* * *
print (($taxonomy)?'| ':'').((strlen($my_date['mday']==1)?'0'.$my_date['mday']:$my_date['mday']).'/'.((strlen($my_date['mon'])==1)?'0'.$my_date['mon']:$my_date['mon']).'/'.$my_date['year'].' | '.((strlen($my_date['hours'])==1)?'0'.$my_date['hours']:$my_date['hours']).':'.((strlen($my_date['minutes'])==1)?'0'.$my_date['minutes']:$my_date['minutes']);

имеет ли ЭТО - право на жизнь?

* * *


Недавно, убираясь в своей лавке (лето ведь скоро!) нашла кучу вот таких вот славных значков;)
правда милые))).. 





...  И так много их ...что, честное слово, не знаю что и выбрать))

А ты как думаешь?

А ведь еще всякие бусики, браслетики, сережки.... Ух!
 




* * *
Довелось править код некоего сайта.

Все, наверное, видели так называемые breadcrumbs - это когда на сайте указывается путь до текущего раздела. Ну там

Главный Раздел / Подраздел / Подподраздел

и так далее.

Реализовывать такое можно по-разному. Но вот такого механизма я ещё не видел...


mysql> select path from Sections where id=185;


<A href="index.php3">Начало</A>&nbsp;/&nbsp;<A href="Strany_i_puteshestviya.php3">Страны и путешествия</A>&nbsp;/&nbsp;<A href="Turizm_otdyx.php3">Туризм, отдых</A>&nbsp;/&nbsp;Турагенства, визы, билеты



Комментарии, мне кажется, излишни...

UPD. Не, не излишни. Поскольку, как показывает практика, не-эмо-кодерам такое не всегда даже в голову приходит, поясняю: это таким образом генерятся breadcrumbs. На каждый подраздел в БД лежит кусок HTML-кода с блэкджеком и шлюхами полным путём и ссылками.

* * *
Предлагаю на соболезнования уважаемой публики свой свеженький эмо-код.
* * *
* * *
Есть сумма денег, "56000", надо сделать красиво: "56 000".

#########
#'56000' => '56 000'
$param = 56000;
$res = array();
while (strlen($param)>0)
{
	$res[] = substr($param, -3);
	$param = substr($param, 0, -3);
}
$res = implode(' ', array_reverse($res));
#########

* * *
Console.WriteLie(myInt);

:'(

* * *

За глотком свежих эмоций полез в википедию почитать о протоколе XMPP и вот что обнаружил там:



Message delivery process

Suppose juliet@capulet.com wants to chat with romeo@montague.net. Juliet and Romeo each respectively have accounts on the capulet.com and montague.net servers. When Juliet types in and sends her message, a sequence of events is set in motion:

1. Juliet's client sends her message to the capulet.com server
-- If montague.net is blocked on capulet.com, the message is dropped.
2. The capulet.com server opens a connection to the montague.net server.
-- If capulet.com is blocked on montague.net, the message is dropped.
-- If Romeo is not currently connected, the message is stored for later delivery.
3. The montague.net server delivers the message to Romeo.

Juliet → capulet.com → montague.net → Romeo



^_^
* * *
 

В этой книге описывается новая методология
под названием Эмоциональное Программирование
..

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

Эмо Программист -- тот, кто всеми силами стремится
создавать наиболее дружественные, доступные и
вдохновляющие программы.

Теперь уже недостаточно, чтобы наши программы
работали хорошо -- они должны вносить новый смысл
в жизнь пользователей.

http://lj.rossia.org/users/nit/278636.html

* * *
$sql = "SELECT a.*, GROUP_CONCAT(DISTINCT CONCAT(epl.lang_id,'|',epl.name)) as lang_names, etl.name as type_name,
GROUP_CONCAT(DISTINCT CONCAT(efl.edu_type_id,'|',efl.name)) as form_names, GROUP_CONCAT(DISTINCT CONCAT(esl.edu_type_id,'|',esl.name)) as spec_names,
(SELECT rl.name FROM regions_langs AS rl WHERE rl.region_id=a.city_id AND rl.version_id=".DEFAULT_LANG.") as city_name,
(SELECT rl.name FROM regions_langs AS rl WHERE rl.region_id=a.region_id AND rl.version_id=".DEFAULT_LANG.") as region_name,
(SELECT rl.name FROM regions_langs AS rl WHERE rl.region_id=a.country_id AND rl.version_id=".DEFAULT_LANG.") as country_name
FROM education_places AS a
LEFT JOIN education_places_langs AS epl ON a.edu_id=epl.edu_id
LEFT JOIN education_types_langs AS etl ON a.type_id=etl.type_id AND etl.lang_id=".DEFAULT_LANG."
LEFT JOIN education_forms_relations AS efr ON a.edu_id=efr.edu_id
LEFT JOIN education_forms_types_langs AS efl ON efl.edu_type_id=efr.edu_form_id AND efl.lang_id=".DEFAULT_LANG."
LEFT JOIN education_specialities_relations AS esr ON a.edu_id=esr.edu_id
LEFT JOIN education_specialities_types_langs AS esl ON esr.edu_type_id=esl.edu_type_id AND esl.lang_id=".DEFAULT_LANG."
WHERE a.edu_id=" .(int)$edu_id. "
GROUP BY a.edu_id

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

* * *
Этот код на башорг мог прислать только !!!false эмо-кодер.
//if($ear==1){$earP="год";}elseif($ear>=2 && $ear<=4){$earP="года";}elseif($ear>=5){$earP="лет";};
// не, для такого сайта это слишком оптимистично
if($ear==1){$earP="год";}else{$earP="года";};
депра::
bitchy bitchy
* * *
* * *
/**
* Always returns true.
*/
public boolean isAvailable() {
   return false;
}

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

* * *

// подсчет количества листов в районе
lstcnt := mapGetListCount(GMAP);

// подсчет общего количества объектов
if lstcnt <> 0 then
   for i := 1 to mapGetListCount(GMAP) do
      objcnt := objcnt + mapGetObjectCount(GMAP,i);

Кусок кода из примера к подключаемым задачам одной российской ГИС.

Понятно, что в реальных условиях количество слоев карты редко превышает десяток, но сам принцип вызова внешней функции из подключенной библиотеки в условии цикла (значит n+1 раз) сражает мой мозг наповал. Это ведь при том, что значение уже получено и лежит в отдельной переменной. И вот так повсюду, от ручек для молотка до ракет с ядерными боеголовками.

звук в ушах:
Sadist - Above The Light
* * *
Я плакалъ jdbc odbc jdbc odbc jdbc odbc..... какой умник эмокодер придумал такой код?

// Compiled from JdbcOdbcDriver.java (version 1.5 : 49.0, super bit)
public class sun.jdbc.odbc.JdbcOdbcDriver extends sun.jdbc.odbc.JdbcOdbcObject implements sun.jdbc.odbc.JdbcOdbcDriverInterface {

// Field descriptor #213 Lsun/jdbc/odbc/JdbcOdbc;
protected static sun.jdbc.odbc.JdbcOdbc OdbcApi;

* * *
* * *

Previous

Реклама

Настроить