Showing posts with label Thủ thuật. Show all posts
Showing posts with label Thủ thuật. Show all posts

May 2, 2014

Kinh nghiệm khi đi mua laptop

Hầu như một tân sinh viên khi bước vào ngưỡng cửa đại học thì chuyện ưu tiên đó là mua một cái laptop. Bất kể là dân kỹ thuật, kinh tế, ... Mình nhớ ngày xưa khi tìm hiểu các model máy móc, toàn là tự chọn và lựa cái nào ngon nhất trong tầm giác có thể. Sau 3 năm sử dụng máy và thỉnh thoảng có giúp bạn bè mua máy, mình rút ra một số kinh nghiệm như sau. Không được cụ thể lắm nhưng có thể giúp ích đôi điều với các bạn mua máy. Đặc biệt trong trường hợp bạn là dân tỉnh và chưa có kinh nghiệm với việc mua các thiết bị công nghệ
  • Những đứa học khối kỹ thuật, công nghệ thông tin ... chưa hẳn là những đứa tư vấn giỏi. Đó là điều hiển nhiên :)). Nhưng mình hay thấy các bạn ngành khác hay hỏi tụi CNTT về mua máy. Thực ra hiếm có đứa nào chuyên về mua bán máy, ... Nên tụi nó chỉ có ích khi giải thích các định nghĩa khó hiểu về phần cứng mà thôi. Còn nhờ tụi nó mua máy thì không nên :)).
  • Chuyện đầu tiên cần xác định đó là khoảng tiền mà mình định mua nó và fix nó, đừng cố gắng thay đổi. Đôi lúc ta sẽ có cảm giác ham hố một số model mới mà mua máy xịn. Vừa tốn tiền mà đôi lúc lại không hay cho lắm. Vì dù có mua máy xịn thêm một chút, thì cũng ngày giờ đó năm sau, máy của bạn cũng đã thành hàng lạc hậu với sự phát triển của công nghệ hiện giờ.
  • Nhu cầu của bản thân hơn là độ "gấu" của máy. Đây là điều sai lầm của mình. Mình đã mua một cái máy khá xịn thời đó, có cả card rời, HDD cao ... khá tốn kém. Nhưng sau đó phát hiện ra, nhu cầu chơi game của mình không lớn lắm. Onboard là quá đủ, card rời đôi lúc lại rất nóng máy (mình đang xài DELL). Mua HDD dung lượng lớn thì 2 năm sau lại mua thêm ổ cứng rồi. Và rồi phát hiện ra, chỉ cần mua 1 cái HDD tầm tầm thôi, đủ chứ OS và các chương trình. Còn tài liệu, hình ảnh, nhạc film các kiểm ta có thể tìm ổ cứng rời. Vừa portable vừa gọn nhẹ, lại có dung lượng lớn, mà lại ngày càng rẻ nữa.
  • Không nhất thiết phải tới các siêu thị, trung tâm điện máy lớn để mua, dù được khuyến mãi các kiểu nhưng thực ra vẫn bị hố một tí. Mình nghĩ có thể mua hàng xách tay, hoặc các shop nhỏ lẻ uy tín. Có thể tham khảo trên vozforums.com, tinhte, webtretho ...
  • Chọn hãng mà mình thích, chứ không phải là hãng mà thằng bạn mình thích. Lời khuyên của tụi bạn chỉ có giá trị tham khảo.
  • Không nên quá ham hố những tính năng phụ kiểu như backlit keyboard (bàn phím phát sáng), khóa vân tay. Những tính năng mà với người dùng phổ thông cũng chả cần dùng nhiều làm gì. Bỏ qua các tính năng thừa này và đầu tư vào phần khác thỉ ổn hơn.
  • Độ mát của máy là ưu tiên ... khá là cao. Mặc dù máy nóng tí thì chả chết ai, nhưng dùng mà có cảm giác nóng dưới tay thì rất là bất an. Ít ra thì nó cũng khiến mình bất an gần 2 năm nay. Có cảm giác Asus mát hơn DELL.

Sep 21, 2013

Bật chế độ God Mode trong Windows 7/8

Đây là một trong những tính năng ẩn của Windows. Sau 1 ngày vật vã để sửa lại driver Windows 8, mình tình cờ phát hiện ra em này.

Chức năng: Liệt kê tất cả các chức năng cho phép và hợp pháp để chỉnh sửa, cấu hình trong Windows 7/8.
Thực hiện:
  1. Ra ngoài Desktop và tạo 1 thư mục
  2. Đối với Windows 7. Nhập tên thư mục như sau:
    GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}
    Đối với Windows 8:
    GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}
    Gõ xong phát hiện 2 cái này giống nhau :)). Kết quả sau đó ta được một thư mục liệt kê như sau:

Sep 19, 2013

Driver Wifi trên Windows 8

Vụ này không share không được, kể từ khi cài Windows 8 lên trên em Dell dòng Inspiron thì có hiện tượng mạng cực kỳ chậm và dễ gây ức chế kinh khủng. Đã vậy còn chập chờn.

Giải pháp là đây: Link download . Trong hàng tá cách, thì đây là cách đơn giản nhất, và là giải pháp hữu hiệu nhất. Xóa Driver cũ của Windows đi và cài cái mới này.
Chi tiết từng bước:
  1. Vào Control Panel - > Device Manager. Ta Click chuột phải vào Broadcom 802.11n rồi chọn Disable
  2. Sau đó chọn tiếp Uninstall
  3. sau khi xóa xong, Windows sẽ cố gắng tìm driver trong hệ thống để cài lại, và nếu nó cài thành công thì mọi chuyện vẫn hoàn cũ. Lúc này nhanh chóng cài driver mới tải kia về. Vậy là mọi chuyện được ổn thỏa.
  4. Trường hợp không tắt được dịch vụ tự tìm driver: ta click vào Properties của driver đó, chọn thẻ Driver chọn button Driver Details Trong đó liệt kê tất cả các file liên quan đến driver. Ta chỉ cần vào từng file rồi xóa. Sau đó cài lại driver mới.

May 18, 2013

Tùy chỉnh giao diện Dynamic View của Blogspot

Bài viết đang được hoàn thiện

Dynamic View được Blogspot hỗ trợ rất là lâu. Tuy nhiên, sau một thời gian dài không đụng đến em ý. Giờ đây, mình lại thấy sự tiện dụng và linh hoạt của giao diện này. Dưới đây là một số tùy chỉnh hay ho mà mình góp nhặt được. Nó có thể giúp blog trở nên lung linh lấp lánh ánh sao mai

Tất cả các thao tác trên được thực hiện ở phần Mẫu - Tùy Chỉnh - Nâng cao - Thêm CSS

  1. Tùy biến thanh tìm kiếm: Danh sách các kết quả sự hiện trước tiếp, như một combobox ở khung tìm kiếm

    #header input#search {
      -moz-transition: all 0.3s ease-in-out;
      -ms-transition: all 0.3s ease-in-out;
      -o-transition: all 0.3s ease-in-out;
      -webkit-transition: all 0.3s ease-in-out;
      transition: all 0.3s ease-in-out;
    }
    
    #header input#search:focus {
      width: 450px;
    }
    
  2. Xóa hiệu ứng viền, đổ bóng của các ảnh được chèn trên phần nội dung bài blog
    .entry-content img{
    box-shadow: none !important;
    padding: 0px !important;
    border: 0px !important;
    }
    
  3. Tuy biến thanh sidebar bên trái

    #sidebar:hover 
    { 
       width: 350px; 
    } 
    #sidebar 
    { 
      -webkit-transition: width 500ms ease-in; 
      z-index: 99; 
    }
    
  4. Hiện thông tin ngày giờ đăng bài trong phần nội dung

    .sidebar .article .article-header .date, .ss 
    {
      display: block !important;
    }
    
  5. Thêm phần "Read more" vào chế độ hiển thị magazine.
    .magazine .summary:after, .ss{
    content: "Đọc thêm ..." !important;
    color: red !important;
    }
    

Apr 28, 2013

Phụ thuộc vòng

Bài viết đang được hoàn thiện

Phụ thuộc vòng - một cách dịch đầy thô thiển. Tên chính xác của nó "Circular Dependency". Nghe khá rờm rà. Từ giờ trở đi gọi là CDepend cho gọn. Wiki có hẳn 1 bài về nó: link đây. Đại để có thể hiểu theo ngôn ngữ C++ như sau: File header A dùng để khai báo lớp A, file header B dùng để khai báo lớp B. Trong lớp A có 1 attribute (thuộc tính) là thể hiện của B, và trong lớp B có một thuộc tính là thể hiện của A. Và như vậy, theo lẽ thông thường, Trong file header A sẽ có dòng #include"B.h" và trong file header B có dòng #include"A.h". Mọi sự rắc rối rồi.

Hậu quả:

  • Phát sinh những vấn đề không mong muốn trong quá trình thiết kế lớp. Như ví dụ nêu trên chắc chắn là sẽ chẳng thể cài đặt với thiết kế và giải pháp đó
  • Gây rò rỉ vùng nhớ (memory leak). Vì sao ư? Đối với các ngôn ngữ không có hỗ trợ việc tự dọn rác (automatic memory management), việc tự thiết kế các phương thức hủy (destructor) hay giải phóng vùng nhớ đối với các lớp phụ thuộc lẫn nhau như thế này rất khó chịu. Nếu "lỡ tay" giải phóng hết các thuộc tính trong A, tức là giải phóng luôn có bé thể hiện B trong đó. Mà bé ý vẫn còn đang sống nhăn răng, vẫn chưa muốn bị hủy thì coi như tách. Cài đặt fail và số quá nhọ. Dĩ nhiên, điều "may mắn" là compiler không bao giờ coi đó là syntax error để thông báo ngay từ đầu cả.
  • Gây hiệu ứng domino: một tác động nhỏ lên lớp này ảnh hưởng đến toàn bộ các lớp khác. Theo nguyên tắc thiết kế, các lớp phải độc lập khi sửa chữa. Tức thay đổi của lớp này không ảnh hưởng đến lớp kia.

Một số điểm thuận lợi:

Không phải cái gì xấu, hại thì xấu hoàn toàn. Cái gì nó cũng có 2 mặt của 1 vấn đề. CDepend cũng có một số điểm tích cực

  1. Có những thiết kế bắt buộc phải dính tới CDepend. Và như vậy buộc ta phải cài đặt nó. Ví dụ: danh sách liên kết, đồ thị ...

Giải quyết

  • Có những tool chuyên trị cái này: JDepend (cho Java), Code Analysis Plugin (cho Java).
  • Sử dụng mẫu thiết kế Observer, Visitor, Factory... blah blah

Một số vấn đề trong C++

Phần này sẽ nêu 1 số ví dụ thường gặp, thường dính khi lập trình trên C++

Tài liệu tham khảo:

Hầu hết những gì chém gió phía trên đều được trích lược và tran sờ lai (translate) sang Tiếng Việt. Những nguồn này khá bổ ích

  1. Avoiding Circular Dependencies of header files
  2. Wikipedia
  3. Một bài viết hữu ích trên stackoverflow
  4. Một bài tập nho nhỏ
  5. Có hẳn 1 mục trong stackoverflow

Dec 19, 2012

Sự khác biệt về hàm main của C và C++

Thoạt đầu tưởng chừng như không có sự khác biệt giữa 2 ngôn ngữ với hàm 'main': hàm đặc biệt quan trọng trong chương trình. Nhưng thưc tế lại khác xíu.
Cho 2 đoạn mã sau.
Đoạn 1: Viết bằng c:
#include <stdio.h>
float main(int a, int b, int c)
{
    printf("Chao cac ban\n");
}
Đoạn 2: Viết bằng cpp:
#include <iostream>
using namespace std;
int main( int n, char x, float t) 
{
    cout << "Chao cac ban" <<endl;
    return 0;
}
Cả 2 đoạn mã điều chạy được, tuy nhiên nếu compile đoạn mã cpp sẽ dính 2 cái Warning. Còn đối với c thì không có gì. Điều thú vị hơn là nếu trong đoạn mã cpp ta thay đổi kiểu trả về của 'main' từ 'int' sang 'float' thì lại dính error.
Đây là lí do:
  • Trong C, nó chỉ yêu cầu tồn tại một hàm tên 'main', vậy là đủ, nó không quan tâm đến chuyện tham số đầu vào hay kết quả trả về.
  • Trong C++, nó khuyến cáo sử dụng 2 mẫu:
    int main(int argc, char** argv); // hoặc
    int main() //
Nếu không rơi vào 2 trường hợp này: thay đổi số lượng tham số sẽ gây warning, còn thay đổi kiểu trả về gây ra error.

Dec 18, 2012

Giải quyết vấn đề laptop nóng và hao pin khi dùng Linux

Một trong những vấn đề khá đau đầu khi sử dụng Linux trên laptop đó là hiện tượng nóng máy và pin xài không lâu. Qua một năm ngồi mày mò, chinh chiến, làm đủ thứ trò đồi bại với cái máy, cuối cùng mình cũng tìm ra được một số giải pháp xử lý vấn đề này.
Bài viết này tập hợp các thủ thuật, phương pháp nhằm giải quyết các vấn đề sau trên linux
  1. Laptop quá nóng khi sử dụng trên Linux.
  2. Thời lượng dùng pin trên Linux quá ngắn.
  3. Chế độ tiết kiệm pin của Linux không ổn định.

1. Sử dụng các tools:
  1. PowerTOP:Một ứng dụng được viết của Intel giúp giải quyết các vấn đề về sử dụng tài nguyên trên Linux. Khá hay dành cho máy nào dành kiến trức Intel.
  2. cpufrequtils:Quản lí tài nguyên CPU.
  3. pm-utils: Xem hướng dẫn chi tiết ở đây: Pm-utils ArchWiki
  4. lm_sensors: Cách dùng khá đơn giản. Chỉ việc tải về và chạy lệnh "sensors-detect" rồi nhấn 'y' mỗi khi chương trình thông báo là xong.
  5. laptop-mode-tools: Hướng dẫn sử dụng https://wiki.archlinux.org/index.php/Laptop_Mode_Tools. Đây là chương trình khá hiệu quả và có các tùy chỉnh rất phong phú.
  6. powersave: Tổng hợp các script để mở rộng khả năng dùng pin của Linux. Trong trang git của tác giả đã có hướng dẫn khá chi tiết và cụ thể.
2. Tắt card rời đối với card Radeon. Mở file /etc/fstab và gõ đoạn sau:
debugfs /sys/kernel/debug debugfs 0 0
Dùng một trình soạn thảo bất kì để mở file /etc/modprobe.d/blacklist.conf thêm vào cuối file dòng sau:
blacklist radeon
Sau đó mở file /etc/rc.local ở cuối file thêm vào dòng sau:
modprobe radeon
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
exit 0

Đây là một giải pháp cực kì hiệu quả, giải quyết được vấn đề nóng máy, tốn pin, chạy không ổn định bên Linux. Và nếu không cần đến quá nhiều tài nguyên bên card đồ họa rời, thì đây là 1 thủ thuật rất nên sử dụng. Phương pháp chuyển đổi giữa 2 chế độ card đồ họa được gọi là "Hybrid graphics". Đây là 1 tài liệu rất hay về chủ đề này: link đây. Trong đó có cả cách tắt card ATI và NVIDIA.

3.Các biện pháp khác. - Giảm nguồn sáng của laptop.
- Để làm mát laptop có thể dùng quạt tản nhiệt. Loại từ 100k đến vài triệu tùy vào hầu bao.
- Dùng một trình soạn thảo bất kì mở file /etc/default/grub tìm đến dòng GRUB_CMDLINE_LINUX_DEFAULT và sửa thành:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force i915.i915_enable_rc6=1 i915.i915_enable_fbc=1"
Sau đó ta gõ lệnh sau để tùy chỉnh lại grub:

sudo grub-mkconfig -o /boot/grub/grub.cfg

- Đối với các sản phẩm của Dell. Vào Ubuntu Software Centre hoặc các package manager đối với các bản Linux khác và search keyword là dell, trong phần technical item cài đăt các gõi hỗ trợ laptop của hãng này. Điển hình có gói i8kutils, aircraft-manager...

- Tắt bluetooth: Mở /etc/rc.local và thêm dòng sau:
rfkill block bluetooth
- Cập nhật thường xuyên các driver của hệ thống. Nâng cấp các phiên bản linux mới để fix các bugs cũng như cải thiện tốc độ.
4. Nguồn tham khảo:

Jul 16, 2012

Hướng dẫn cài đặt Qt library trên Visual Studio 2010.

Lưu ý: Cài đặt hoặc nâng cấp Visual Studio 2010 lên Service Pack

Download và giải nén source code của Qt: Link download. Đối với các bản trên 4.8 cần cài đặt Perl.

Giả sử giải nén và chép sang thư mục: C:\QtFw

Cài đặt biến môi trường. Dùng cmd:

QTDIR = C:\QtFw
QMAKESPEC = win32-msvc2010
Code cmd:
Setx QTDIR C:\QtFw
Setx  QMAKESPEC  win32-msvc2010

Thêm C:\QtFw\bin vào biến PATH (Trong System Properties--Advanced--Enviroment Variables ).

Để sử cài đặt Qt cho x86 ( ngay cả khi dùng win 64bit nhưng tạo ứng dụng x86 thì vẫn phải xài bản này): Mở Visual Studio Command Prompt. Đối với 64bit Qt library - để xây dựng các ứng dụng 64bit: Mở Visual Studio x64 Win64 Command Prompt.

Gõ lệnh sau

Cd C:\QtFw
Configure -platform win32-msvc2010 -debug-and-release -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools -no-multimedia -no-qt3support -fast
Nmake.

Ngồi đợi …

Download và cài đặt Qt Visual Studio Add-in.

Trong menu Qt trong VS2010. Qt < Qt Options < Qt Versions < Add.

Sau đó có thể create 1 project Qt trong VS2010 giống như tạo một project thông thường.

Cách này chỉ hiệu quả cho bản thương mại của VS2010, còn bản Express không cài Qt Visual Studio Add-in được nên có cách khác. Sẽ được post sau.

Feb 27, 2012

Tự tạo giao diện cho trình duyệt Chrome theo phong cách riêng.

Bạn không muốn sử dụng theme cố định của Google Chrome, và cũng không thích dùng theme của người khác, cũng như muốn tự tạo ra theme cho riêng mình. Điều đó hoàn toàn có thể với tutorial sau.