вівторок, 12 лютого 2013 р.

Апгрейд процесора в ноутбуці

В HP Compaq 6720s (RM388UT) стояв Intel Celeron M 550 -- реальне гальмо, з яким нічого не можливо було робити, навіть звичайне відео на весь екран заїдало. Пошук в мережі дав надію, що можна поставити щось потужніше.
Вихідні дані:
Чіпсет: GL960.
Роз'єм: Socket P.
Процесор:  Intel Celeron M 550

Натрапив на дуже практичне обговорення стосовно саме цього чіпсета: http://forum.notebookreview.com/hardware-components-aftermarket-upgrades/212097-gl960-chipset-processor-upgradability-9.html#post6578101

На даному сайті знайшов список сумісних процесорів: http://www.sparepartswarehouse.com/HP-Compaq,6720s,RM388UT,Laptop,Processors-CPU.aspx

Як видно з цього сайту, серед підтримуваних є досить потужні http://www.notebookcheck.net/Mobile-Processors-Benchmarklist.2436.0.html

Ось зведена табличка в порядку спадання продуктивності:


На місцевій "барахолці" знайшов і придбав Intel Core 2 Duo T5450 за ~$20. На ebay був більший вибір, але хотілося мати можливість швидко повернути в разі невдачі.

Після того, як я поставив новий проц, комп преобразився, став дуже швидким! Але як і писалося в  обговоренні по посиланню вище, комп'ютер після виходу з режиму очікування зависав з артефактами на екрані. Також завантажитися можна було лише з другої спроби, зайшовши перед тим в BIOS.

Постало питання заміни однієї з планок пам'яті на DDR2 PC-4200, аби понизити частоту шини пам'яті відносно, якої встановлювалася частота графічного процесора і яка з новим процесором стала вище номінальної, так що він працював в розігнаному режимі і тому глючив.

На щастя я знайшов простіший вихід. Скачав SPDTool і перешив один з модулів пам'яті встановивши в прошивці найвишу її частоту в 267 МГц. Після перезавантаження, все стало на місця, при цьому процесор залишився працювати з FSB 667МГц. Табличка частот і множників, як я їх зрозумів, наведена в табличці вище.





Правильне сортування прізвищ в таблиці SQLite

Пам'ятка
При розробці бази імен з використанням SQLite3 вилізла одна маленька, але неприємна річ -- при сортуванні за іменами/прізвищами порядок виявився досить диким: на початку списку йшли люди з прізвищами на "Є", "І", "Ї". Потім йшли на "А" і далі, як і повинно бути, а в самому кінці, після "Я" тулилася нещасна літера "Ґ".

Спочатку я намагався вирішити цю проблему шляхом:
SELECT icu_load_collation('uk_UA', 'UKRAINIAN');
але проблема виявилася в тому, що це вимагало додаткової мороки з нестандартною збіркою sqlite3.dll/sqlite3.so.Також вилазили інші глюки.

Спочатку я залишив це як є, але оце вирішив все-таки побороти цю проблему.

Рішення (aka "милиця" aka "костиль").
SELECT name, CASE
WHEN SUBSTR(name,1,1) LIKE '%Ґ%' OR  SUBSTR(name,1,1)   LIKE '%ґ%'  THEN 'Гя' || SUBSTR (name, 2) 
WHEN SUBSTR(name,1,1) LIKE '%Є%' OR  SUBSTR(name,1,1) LIKE '%є%'  THEN 'Ея' || SUBSTR (name, 2)
WHEN SUBSTR(name,1,1) LIKE '%І%' OR  SUBSTR(name,1,1) LIKE '%і%'  THEN 'Ию' || SUBSTR (name, 2) 
WHEN SUBSTR(name,1,1) LIKE '%Ї%' OR  SUBSTR(name,1,1) LIKE '%ї%'  THEN 'Ия' || SUBSTR (name, 2) 
ELSE name END AS SortField 
FROM grace_people_c ORDER BY SortField ASC
Виглядає незвично, але працює як годинник! Мені достатньо було правильного сортування по першим буквам. Інакше можна аналогічно застосувати SQLite-функцію REPLACE

От що значить пару годин порухати мізками і вдумливо покурити мануали!