Показаны сообщения с ярлыком компьютеры. Показать все сообщения
Показаны сообщения с ярлыком компьютеры. Показать все сообщения

среда, 31 августа 2016 г.

Отключение дискового кеша в Firefox

  1. Открыть about:config
  2. Параметр browser.cache.disk.enable установить в false.
  3. Параметр browser.cache.memory.enable установить в true.
  4. Создать новую настройку browser.cache.memory.capacity (тип Целое) и задать ей значение -1 для автоматической настройки объёма кеша в зависимости от объёма ОЗУ. 

понедельник, 14 апреля 2014 г.

Adobe Flash Player full offline installer

Flash Player offline installer скачать бесплатно без SMS
http://www.adobe.com/ru/products/flashplayer/distribution3.html

На странице представлены ссылки на актуальные версии полных установочных пакетов Adobe Flash Player под все поддерживаемые операционные системы.

суббота, 12 апреля 2014 г.

Перенос строк и другие настройки текстового редактора nano

Внести изменения в /etc/nanorc
#Разрешить перенос длинных строк для отображения их без прокрутки
set softwrap

#Разрешить установку курсора на позицию в тексте с помощью щелчка мышки
set mouse

#Выводить позицию курсора (строка, столбец, символ) в статусе. Без этого выводится только по CTRL+C
set const

#Уменьшим вдвое "размер тубуляции"
set tabsize 4

пятница, 11 апреля 2014 г.

Тестирование скорости доступа в Интернет из командной строки

Записка склеротика.

Используем wget для загрузки файла. Сам скаченный файл отправляем в /dev/null.

Пример работы ниже. Хорошая скорость на VPS, нравится.
 wget -O /dev/null http://speedtest.wdc01.softlayer.com/downloads/test500.zip
--2014-04-11 15:08:47--  http://speedtest.wdc01.softlayer.com/downloads/test500.zip
Resolving speedtest.wdc01.softlayer.com (speedtest.wdc01.softlayer.com)... 208.43.102.250
Connecting to speedtest.wdc01.softlayer.com (speedtest.wdc01.softlayer.com)|208.43.102.250|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 524288000 (500M) [application/zip]
Saving to: `/dev/null'

100%[=====================================================================================================>] 524,288,000 98.1M/s   in 5.3s   

2014-04-11 15:08:52 (94.5 MB/s) - `/dev/null' saved [524288000/524288000]
Список тестов разного размера:
wget -O /dev/null http://speedtest.wdc01.softlayer.com/downloads/test10.zip
wget -O /dev/null http://download.thinkbroadband.com/10MB.zip

wget -O /dev/null http://speedtest.wdc01.softlayer.com/downloads/test100.zip
wget -O /dev/null http://download.thinkbroadband.com/100MB.zip

wget -O /dev/null http://speedtest.wdc01.softlayer.com/downloads/test500.zip
wget -O /dev/null http://download.thinkbroadband.com/500MB.zip

wget -O /dev/null http://ipv4.download.thinkbroadband.com/1GB.zip

С поддержкой ipv6:
wget -O /dev/null http://ipv6.download.thinkbroadband.com/10MB.zip

wget -O /dev/null http://ipv6.download.thinkbroadband.com/100MB.zip

wget -O /dev/null http://ipv6.download.thinkbroadband.com/512MB.zip

wget -O /dev/null http://ipv6.download.thinkbroadband.com/1GB.zip

понедельник, 18 июля 2011 г.

Ошибка с XPSEPSC при установке Microsoft .NET Framework 3.0 и 3.5SP1

Недавно столкнулся с ошибкой при установке .NET Framework версий 3.0 и 3.5:
[04/06/11,17:31:32] XPSEPSC Installer: [2] Error code 1603 for this component means "В процессе установки произошла неисправимая ошибка."
[04/06/11,17:31:32] XPSEPSC Installer: [2] Setup Failed on component XPSEPSC Installer
[04/06/11,17:31:56] WapUI: [2] DepCheck indicates XPSEPSC Installer is not installed.
При этом более старые ветки встали без вопросов.

Гугл выдал страницы с обсуждением подобной проблемы, однако, действующего решения на них не было.

Рекомендации по устранению проблемы:
  1. Полностью удалить всё .NET Framework.
  2. Начать установку с версий 1.1 и 2.0
  3. Скачать и установить отдельно XPSEPSC http://go.microsoft.com/fwlink/?LinkId=96332
  4. Установить .NET Framework версий 3.5
На пункте три подробнее. Программа установки сразу выдавала ошибку и закрывалась.

В логе установки XpsEPSC.log обнаружил следующее и решил плясать от этого:
1.625: Failed to copy spupdsvc.exe to system32
1.625: XpsEPSC Setup canceled.
2.766: Message displayed to the user: XpsEPSC Setup canceled.
Переименовал c:\windows\system32\spupdsvc.exe в c:\windows\system32\spupdsvc.old, после чего XPSEPSC установился.

В итоге установка .NET Framework 3.5SP1 прошла без вопросов.

воскресенье, 17 октября 2010 г.

Борьба за чистоту. Или удаление лишних пунктов в меню xfce после установки wine

После неудачной установки какого-то китайского проигрывателя в wine (а именно 酷狗 «Клёвая собака», даже не спрашивайте зачем оно мне) в меню Xfce появился пункт "Прочие" с кучей непонятного хлама. Ещё хуже то, что некоторые мультимедиа файлы стали ассоциированы с этой программой.

К сожалению запускаться и работать программа-собака отказалась. Удалить тоже не вышло.

Вообще, wine раздражает своим присутствием в меню "Открыть с помощью", конечно, кроме .exe файлов. После установки он пытается открывать jpg, png, gif, html, xml, rft, txt, ini и даже swf. Объявляю ему войну.

Недолго думая, я уничтожил весь каталог с настройками wine rm ~/.wine/, наивно полагая, что решу проблему одним махом. Но не тут-то было.

В /usr/share/applications упоминаний не было найдено, а значит настройки хранятся в домашнем каталоге пользователя.


Смело удаляем лишние файлы и каталоги в .local/share/applications и наслаждаемся чистыми меню в xfce.

суббота, 11 сентября 2010 г.

Linux, Firefox. Щелчок средней кнопки мыши в браузере

В Linux есть замечательный способ копирования информации: выделяешь нужный фрагмент и вставляешь его щелчком средней кнопкой (колесом) мыши в любимый редактор.

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


Чтобы избавиться от подобного навящего сервиса потребуется выполнить следующие действия:
  1. В адресной строке браузера ввести about:config для отображения всех настроек Firefox.
  2. Подтвердить свою вменяемость, нажав "Я обещаю, что буду осторожен".
  3. Найти настройку middlemouse.contentLoadURL (можно написать часть названия в "Фильтр") и перевевти её в значение false двойным щелчком мыши.


Простое решение надоевшей проблемы.

воскресенье, 11 января 2009 г.

Ещё раз про Mac OS

- Кто-нибудь здесь на маке сидит?
- Я против наркотиков!

Небольшой отчёт о найденном решении для
KALYWAY 10.5.2 Leopard.
Напомню, что в предыдущий раз споткнулся на зацикливании установщика при создании учётных записей.
Решение оказалось не слишком сложным:
  1. Загрузился с установочного DVD.
  2. В служебных программах вызвал утилиту для смены пароля и установил новый пароль для root.
  3. Вызвал терминал и выполнил следующие команды (для проверки диска и установки флага загрузки раздела ОС):
/sbin/fsck_hfs -fy /dev/rdisk0s1
fdisk -e /dev/rdisk0s1
update
f 1
w
q
reboot
После перезагрузки я увидел приглашение для ввода пароля и залогинился под рутом. Немного покопался в настройках системы. Поставил драйвера на принтер и звуковую карту, причём официальные на последнюю не подошли, заработали какие-то открытые...

Фактически целью было установить на обычном PC хакинтош и увидеть рабочий стол в живую. Не более.

Возможно Mac OS и пришлась мне по душе, но я уже освоил Linux, да и отвечает он моим требованиям куда больше, чем ОС от Apple. Да и нет в ней того духа свободы...

В общем моё мнение отображено в эпиграфе к этой публикации.

воскресенье, 21 декабря 2008 г.

Эксперименты с Mac OS

Попытался поставить на свой PC Mac OS X.

1. Leo4All v3 (Mac OS X 10.5.2 Intel & AMD SSE2/SSE3)

Установка прошла, но компьютер зависал при запуске. Графическая оболочка так и не появилась.

2. KALYWAY 10.5.2 Leopard

Установка вновь без проблем. Но при запуске система зацикливается на стадии настройки профиля (Окно Do you already own a Mac?). Найти решение пока не смог.

пятница, 12 декабря 2008 г.

Теория и практика объектно-ориентированного программирования в Delphi

Сессия приближается как всегда стремительно. Решил заняться программированием на Delphi. Поскольку раньше объектно-ориентированным программированием (ООП) в Pascal не занимался, пришлось немного напрягать мозги.

Итак, цель была поставлена следующая:
Разработать диалоговую программу как Windows-приложение для работы с объектами заданного типа. Программа должна содержать меню и выполнять следующие операции: создание объектов двух заданных классов и сохранение их в списке TList, просмотр и редактирование объектов, сохранение объектов в потоке TList и загрузка их из потока.

Ниже приведён кратенький рассказик о сохранении и чтении информации в этой программе.

1. Основная форма приложения Form1. На ней были размещены компонент TMainMenu, два списка TListBox для просмотра объектов (для каждого типа объектов свой список), две кнопки TButton сортировки списка TList по разным критериям, а также компоненты стандартных диалогов TOpenDialog и TSaveDialog.
2. Создан модуль Unit2, содержащий код двух пользовательских классов и один абстрактный класс.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Contnrs;
type
TOrganization = class(TComponent)
Private
Name: String;
Year_founded: Integer;
Capital: Real;
Protected
Public
Constructor Create(Collection: TComponent); override;
Procedure Show(); virtual; abstract;
Published
Property MyName: String read Name write Name;
Property MyYear_founded: Integer read Year_founded write Year_founded;
Property MyCapital: Real read Capital write Capital;
end;

TInsurance = class(TOrganization)
Private
Clients: Integer;
Protected
Public
Constructor Create(nname: string; ncapital: real; nyear: integer; nclients: Integer);
Procedure Show(); override;
Published
Property MyClients: Integer read Clients write Clients;
end;

TShipbuilding = class(TOrganization)
Private
Vessel: Integer;
Protected
Public
Constructor Create(nname: string; ncapital: real; nyear: integer; nvessel: Integer);
Procedure Show(); override;
Published
Property MyVessel: Integer read Vessel write Vessel;
end;

implementation
uses Unit5, Unit6, Unit7;

Constructor TOrganization.Create;
begin
end;

Constructor TInsurance.Create(nname: string; ncapital: Real; nyear: integer; nclients: Integer);
begin
Name:=nname;
Year_founded:=nyear;
Capital:=ncapital;
Clients:=nclients;
end;

Constructor TShipbuilding.Create(nname: string; ncapital: Real; nyear: integer; nvessel: Integer);
begin
Name:=nname;
Year_founded:=nyear;
Capital:=ncapital;
Vessel:=nvessel;
end;

Procedure TInsurance.Show();
begin
Form5.Edit1.Text:=Name;
Form5.Edit2.Text:=inttostr(round(Capital));
Form5.Edit3.Text:=inttostr(Year_founded);
Form5.Edit4.Text:=inttostr(Clients);
Form7.Visible:=True;
Form5.Visible:=True;
end;

Procedure TShipbuilding.Show();
begin
Form6.Edit1.Text:=Name;
Form6.Edit2.Text:=inttostr(round(Capital));
Form6.Edit3.Text:=inttostr(Year_founded);
Form6.Edit4.Text:=inttostr(Vessel);
Form7.Visible:=True;
Form6.Visible:=True;
end;

initialization
RegisterClasses([TComponent, TOrganization, TInsurance, TShipbuilding]);
end.
Важно не упустить следующие вещи:
  1. Абстрактный класс должен быть наследником TComponent.
  2. Все свойства (Property) класса, которые будет необходимо сохранить в файл, нужно объявлять в Published части.
  3. Все классы нужно зарегистрировать с помощью RegisterClasses.
3. Формы для ввода новых элементов. Form3 и Form4 создаются аналогично друг другу, различие только в пользовательском классе.
Код для кнопок выглядит следующим образом:
procedure TForm3.Button1Click(Sender: TObject);
Var
NewInsurance: TInsurance;
begin
if Edit4.Text='' then Edit4.SetFocus;
if Edit3.Text='' then Edit3.SetFocus;
if Edit2.Text='' then Edit2.SetFocus;
if Edit1.Text='' then Edit1.SetFocus;

if ((Edit1.Text<>'') and(Edit2.Text<>'') and (Edit3.Text<>'') and (Edit4.Text<>'')) then
Begin
NewInsurance:=TInsurance.Create(Edit1.Text,strtofloat(Edit2.Text), strtoint(Edit3.Text), strtoint(Edit4.Text));
MyArray.Add(NewInsurance);
Form1.ListBox1.Items.Add(NewInsurance.MyName);
Modified:=true;
ModalResult:= mrOK;
End;
end;

procedure TForm3.Button2Click(Sender: TObject);
begin
Form3.Close;
end;
4. Итак, самое интересное. Функция записи в файл реализована на TStream с использованием функции WriteComponent. Вызывается из соответствующего пункта меню на Form1.
procedure TForm1.N2Click(Sender: TObject);
var
FileStream: TStream;
I: Integer;
MySave: TOrganization;
begin
if not Modified then exit;
SaveDialog1:=TSaveDialog.Create(self);
SaveDialog1.Filter:='dat';
SaveDialog1.DefaultExt:='dat';
if SaveDialog1.Execute then
Begin
FileStream:=TFileStream.Create(SaveDialog1.FileName, fmCreate);
for I:=0 to MyArray.Count-1 do
Begin
MySave:=TOrganization(MyArray.Items[I]);
FileStream.WriteComponent(MySave as TOrganization);
End;
FileStream.Free;
end;
Modified:=false;
End;
5. Функция Чтения из файла. Здесь на нас трудится функция ReadComponent.
procedure TForm1.N3Click(Sender: TObject);
var
FileStream: TStream;
Temp: TComponent;
MyLoad: TOrganization;
begin
OpenDialog1:=TOpenDialog.Create(self);
OpenDialog1.Filter:='dat';
OpenDialog1.DefaultExt:='dat';
if OpenDialog1.Execute then
Begin
//Очистка
MyArray.Clear;
ListBox1.Clear;
ListBox2.Clear;
//Сама загрузка
FileStream:=TFileStream.Create(OpenDialog1.FileName, fmOpenRead);
while FileStream.Position
begin
MyLoad:=TOrganization.create(self);
MyLoad:=TOrganization(FileStream.ReadComponent(nil));
MyArray.Add(MyLoad);
if MyLoad is TInsurance then ListBox1.Items.add(MyLoad.MyName);
if MyLoad is TShipbuilding then ListBox2.Items.Add(MyLoad.MyName);
end;
Modified:=false;
FileStream.Free;
End;
end;
Прошу прощения, что код программы не полон и отсутствуют толковые комментарии. Возможно подобная инструкция кому-нибудь пригодится :)

среда, 3 декабря 2008 г.

"Домашний" сервер и локальная сеть

В начале этого месяца вновь сменил интернет провайдера и подключил мегабитный анлим.

В своей маленькой домашней сети раздаю интернет с помощью отдельного компьютера, который специально собирал для этого. Состоит "домашний" сервер из следующих компонентов:
  • Материнская плата Intel на 945 чипсете,
  • Процессор Intel Celeron 420 с частотой 1.60ГГц,
  • 1ГБ оперативной памяти,
  • 500ГБ жёсткий диск от Samsung (стрекочет довольно-таки громко),
  • Дополнительная сетевая карта от D-Link (для подключения модема провайдера),
  • Симпатичный чёрного корпуса.
Кто-то может начать возмущаться и спрашивать почему я не использую компьютер уровня Pentium I или II, ведь его ресурсов должно хватить. Но помимо функций NAT и защиты локальной сети firewall'ом, на этот компьютер установлена программа для закачки и раздачи torrent файлов. Я использую для этой цели Torrentflux, программа меня устраивает и ни разу не подводила. Из минусов могу назвать только высокие требования к ресурсам и низкую скорость проверки файлов.

На сервере недавно установил Archlinux вместо Debian, причём случайно поставил 64 битную версию. Настроил так, что при старте подымается pppoe соединение, устанавливаются правила iptables, запускается web сервер (использую lighttp вместе с FASTCgi), сервер баз данных mysql, samba для обеспечения доступа к скаченным файлам с других компьютеров, а также sshd, чтобы иметь возможность управлять компьютером с домашнего компьютера или с работы.

Особых проблем с установкой и настройкой сервера не возникло, тем более на wiki.archlinux.org можно найти инструкции по установке и настройке этих программ.

воскресенье, 16 ноября 2008 г.

Костыль для xorg-server

После очередного обновления Archlinux в иксах перестали работать мышь и клавиатура. Оказалось что проблема возникла при переходе на xorg-server-1.5. В нём был внедрён механизм для определения подключенных устройств ввода через hal.

Что было проделано для восстановления работы:
  1. Установка пакета xf86-input-evdev.
  2. Настройка hal. Модифицировал файл /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi слудующим образом:

    <?xml version=”1.0″ encoding=”ISO-8859-1″?> <!– -*- SGML -*- –>
    <deviceinfo version=”0.2″>
    <device>
    <match key=”info.capabilities” contains=”input.keymap”>
    <append key=”info.callouts.add” type=”strlist”>hal-setup-keymap</append>
    </match>
    <match key=”info.capabilities” contains=”input.keys”>
    <merge key=”input.xkb.rules” type=”string”>base</merge>
    <!– If we’re using Linux, we use evdev by default (falling back to
    keyboard otherwise). –>
    <match key=”info.capabilities” contains=”input.keyboard”>
    <merge key=”input.x11_driver” type=”string”>kbd</merge>
    <merge key=”input.xkb.model” type=”string”>kbd</merge>
    <merge key=”input.xkb.variant” type=”string”>,winkeys</merge>
    <merge key=”input.xkb.layout” type=”string”>us,ru</merge>
    <merge key=”input.xkb.options” type=”strlist”>grp:ctrl_shift_toggle</merge>
    <append key=”input.xkb.options” type=”strlist”>grp_led:caps</append>
    <append key=”input.xkb.options” type=”strlist”>compose:ralt</append>
    </match>
    </device>
    </deviceinfo>
  3. Вернул старую версию индикатора раскладки в xfce, поскольку не смог пока настроить xfce4-xkb-plugin 0.5.* под свои нужды.
Не идеальное решение, но пока всё устраивает :)

понедельник, 3 ноября 2008 г.

Путь дзен пройден. Путь Arch впереди…

Тем кто не в курсе или не понял сразу сообщу, что речь пойдёт о Linux.

Я заинтересовался Zenwalk в начале 2007 года, когда мне окончательно надоели Mandriva, Fedore и прочие RPM-based дистрибутивы. Свой “путь дзен” я начал с версии 4.2 и закончил версией 5.2. Фактически все эти 22 месяца Zenwalk меня полностью устраивал.

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

Подключение безлимитного интернета (читайте про Латвийскую подставу) укрепило желание сменить дистрибутив и дало возможность сделать это.

В первый же вечер был скачан Debian Etch, который мне давно хотелось попробовать. Я установил его на “домашний сервер”, где он ещё поживёт некоторое время. А вот на моём основном компьютере Debian не прижился, слишком старые версии программ используются. Даже Lenny не оказался для меня подходящим.

После изучения описаний разных дистрибутивов я вспомнил об Arhlinux. Года три назад пытался его установить, но неправильно интерпретировал команду и почистил свой винчестер от всякого хлама :)

Чем же меня привлёк Arhlinux? По пунктам:
  • Близкая мне Философия дистрибутива.
  • Возможность построить систему полностью под мои нужды, сделать её простой и лёгкой.
  • Наличие в репозитариях самых последних стабильных версий программ.
  • Обновление всей системы одной командой pacman -Suy :)
  • Наличие сборки для x86_64.
  • Настройка системы через конфигурационные файлы без использования GUI.
Впервые перешёл на постоянное использование x86_64. Хоть и большинство твердит, что x64 не нужен, меня напрягло лишь отсутствие flash, который уж точно не нужен :) Зато теперь смогу использовать все возможности своего процессора.

суббота, 8 марта 2008 г.

IBM Lotus Symphony

Решил поставить офисный пакет от IBM. Стало интересно, что они смогли улучшить в OpenOffice’е. Вот что из этого вышло.
Первым делом скачал сам дистрибутив программы. Смотрите здесь.
Запускаться сразу он не захотел. Выдал мне следующее:
./IBM_Lotus_Symphony_linux.bin
   IBM Lotus Symphony Beta - starting installation... please wait
mktemp: cannot make temp dir /tmp/symphony.tmp27943: Invalid argument
tar: для опции требуется аргумент -- C
Попробуйте `tar --help' или `tar --usage' для получения дополнительной информации.
./IBM_Lotus_Symphony_linux.bin: line 23: ./setup.bin: Нет такого файла или каталога
Отсюда мы видим, что IBM как-то неверно использует команду mktemp  и в итоге временный каталог не создаётся. Придётся лезть в бинарник и править их скрипт. Из-за большого размера Vim открывал файл слишком долго, редактор MC вообще отказался работать с ним. Поэтому я решил воспользоваться GHex, редактором двоичных файлов. Ниже приведу скрипт распаковки, написанный IBM:
#!/bin/sh
# IBM Lotus Symphony Beta
echo ""
echo "   IBM Lotus Symphony Beta - starting installation... please wait"
echo ""

# create a temp directory to extract to.
RANDOM=$$$(date +%s)
export WRKDIR=`mktemp -d /tmp/symphony.tmp$RANDOM`
SKIP=`awk '/^__ARCHIVE_FOLLOWS__/ { print NR + 1; exit 0; }' $0`
# Take the TGZ portion of this file and pipe it to tar.
tail -n +$SKIP $0 | tar xz -C $WRKDIR

# execute the installation script
PREV=`pwd`
cd $WRKDIR
./setup.bin $*

# delete the temp files
cd $PREV
rm -rf $WRKDIR
exit 0
__ARCHIVE_FOLLOWS__ #Здесь и ниже идёт сам архив. 
Проблемы начинаются с команды:
mktemp -d /tmp/symphony.tmp$RANDOM
Заменим её на следующую и сохраним файл:
mktemp -d
Далее выясняется, что для работы инсталлера нужна программа bc. Устанавливаем её из репозитария.  После чего установка начинается штатно.
Про саму программу отпишу позже.

13 марта 2008 в 17:22

В общем получается так:
1. Дизайн аля Виста.
2. Много Java.
3. А под Java проглядывает старый OpenOffice.
4. Работает и загружается медленно.
5. Совместимость в M$ Office Word чуть лучше, чем у OpenOffice.
6. К внедрению в организации не готова…

пятница, 7 марта 2008 г.

Атака вирусов

Двое суток боролись на работе с вирусом. Кто-то занёс на флешке спаммерский руткит. Symantec, который мы используем, смог только заблокировать рассылку писем. Сам вирус он обнаружить не смог. CoreIt от DrWeb также не справился. Скачали и установили пробную версию Касперского, которым удалось найти несколько руткитов в системе.
Теперь думаем, как жить дальше с нашим Symantec…

Фактически с большей частью проблем справился Касперский.
А затем в качестве контрольной проверки запустил SDFix. Рекомендую!
http://downloads.andymanchesta.com/RemovalTools/SDFix_ReadMe.htm