Skip to main content

Posts

Showing posts from March, 2016

Annoying structure - Nhà cửa lôm côm

Mình có ý tưởng làm 1 game về việc sắp xếp trang trí lại các ngôi nhà, con đường rất đau mắt ở Việt Nam. Game có thể 2D hoặc 3D. 2D thì có phần up ảnh hoặc ảnh từ api về 1 ngôi nhà, con đường, góc phố nào đó rồi vẽ vời, thêm cây cối ... sao cho nhìn tươi hơn. nếu có thể 3D kiểu như nông trại, ko được như autodesk thì gần vậy là được. Mục đích ý tưởng của game là giúp người chơi bay vào thế giới ảo nơi họ có thể dễ dảng thay đổi style view của không gian sống human being. Thoát ra khỏi cái nhức mắt của các kiến trúc lôm côm. Sửa nó thành các kiến trúc mình thích và hợp lí. Cái j cũng có 2 mặt, họ cũng có thể biến 1 kiến trúc đẹp như các thành phố châu Âu trở nên khó coi. :)

Mysql order by sum 2 column

In Mysql SQL language and in some ORM or DM like active record in yii, laravel ... http://www.yiiframework.com/wiki/679/filter-sort-by-summary-data-in-gridview-yii-2-0/ http://www.yiiframework.com/forum/index.php/topic/12799-has-many-relation-with-generating-sum/ http://stackoverflow.com/questions/3059138/mysql-order-by-sum-of-columns update project set regist = regist + FLOOR(RAND() * 401) + 100 where regist = 1458207904; SET autocommit=0; to the beginning of your import file and COMMIT;

Lấy MAC Address iPhone Android để quản lý truy cập Wifi

Hiện nay kết nối mạng hay gặp vấn đề wifi hoặc cả mạng LAN (mạng dây) chậm lag khi có nhiều thiết bị truy cập. Chỉ nhiều hơn 1 chút nhưng cảm giác đường truyền gần như vô dụng khá khó chịu. Chắc là có nhiều nguyên nhân và cách khắc phục. Ở đây mình đưa ra cách dễ hiểu và quen làm nhất vì m ko rành về mạng máy tính. Bài này đầu tiên mình đưa ra một số nguyên nhân mình tìm hiểu được. Từ đó đưa ra giải pháp khắc phục. Quy trình của giải quyết 1 vđ nó là như vậy: tìm (học) nhiều thông tin liên quan, tìm nguyên nhân rồi cách khắc phục, rút kinh nghiệm ... Nguyên nhân thì chủ yếu do nhiều kết nối đến router làm cho nó quá tải nên chúng ta sẽ hạn chế truy cập vào. Hạn chế có thể dùng chia tải ra các thiết bị khác, tạo bộ lọc chỉ cho những thiết bị ABC 1-8 máy được truy cập ... Ngoài ra có thể tối ưu các cài đặt khác ... Đầu tiên là địa chỉ MAC, mỗi máy (iPhone/ Android) có 1 địa chỉ MAC duy nhất gồm 8 byte. Nó như IMEI của SIM card. Máy nào 2-3 khe gắn sim thì có thể có ngần đó IMEI. Wif

Gmail limit 1

http://stackoverflow.com/questions/18361233/gmail-sending-limits Gmail 500 per day 20 emails / hour Google Apps Messages per day 2000 Messages auto-forwarded 10,000 Auto-forward mail filters 20 Recipients per message 2000(500 external) Total recipients per day 10,000 External recipients per day 3000 Unique recipients per day 3000(2000 external) Recipients per message (sent via SMTP by POP or IMAP users) 99 https://support.google.com/a/answer/166852?hl=en https://support.mailpoet.com/knowledgebase/lists-of-hosts-and-their-sending-limits/

Rsync one

http://www.evbackup.com/support-commonly-used-rsync-arguments/ http://www.evbackup.com/support-commonly-used-rsync-arguments/ https://unix.stackexchange.com/questions/67539/how-to-rsync-only-new-files https://unix.stackexchange.com/questions/146282/rsync-to-copy-files-which-has-changed https://stackoverflow.com/questions/13778889/rsync-difference-between-size-only-and-ignore-times There are several ways rsync compares files -- the authoritative source is the rsync algorithm description: https://www.andrew.cmu.edu/course/15-749/READINGS/required/cas/tridgell96.pdf. The wikipedia article on rsync is also very good. For local files, rsync compares metadata and if it looks like it doesn't need to copy the file because size and timestamp match between source and destination it doesn't look further. If they don't match, it cp's the file. However, what if the metadata do match but files aren't actually the same? Then rsync probably didn't do what you intende

Nginx 3

Vhost config ERR_ICANN_NAME_COLLISION when trying to use localhost .dev in Chrome Lỗi liên quan đến tên vhost: 1. /etc/hosts kiểm tra 2. /etc/nginx/sites-available  và /etc/nginx/sites-enabled xem tương ứng và chuẩn chưa. Ko thì unlink rồi tạo lại. Lưu ý khi tạo soft link cần chỉ định absolute path (y thì chưa rõ). sudo ln -s /etc/nginx/....          /etc/nginx/...... Lỗi config server (vhost) hay server block. block chắc đúng cho config / 1 file như CentOS còn Ub (debian) thì tách ra file khác nhau roài. Để ý: servername cần thêm cả www. ở đầu ko thì hay gặp lỗi nhiểu vhost loạn dẫn đến redirect về default vhost. Nó cứ bay về trang đầu tiên cài vhost. Lỗi này thì Apache cũng vậy vì cơ chế set vhost là same. ví dụ cho phpMyAdmin: https://www.digitalocean.com/community/questions/a-working-phpmyadmin-nginx-conf nickfarrow:playbuzz$ cat /etc/nginx/sites-available/padm.local.dev  server {         listen       80;     #ssl on;     #ssl_certificate /e

TP-Link 1

Tự nhiên mạng lag, quay ra thử telnet con modem TP-Link lởm của VNPT. Mọi lần trước telnet vô ko đc, chắc lần này hên. Cũng có thể do cơ chế của con TP-Link này. Danh sách lệnh:  http://www.tp-link.com/resources/document/TL-SG3424_V1_CLI_Reference_Gui.pdf Nhiều lệnh không có trên modem này. Cũng có thể nó "ẩn". Ẩn do ko hiện trên help list, ẩn do setting ... Như trên có nói con modem này lúc access đc lúc ko. Có thể do cơ chế bảo mật hạn chế Wifi client vào admin panel. Tuy nhiên có lúc vô = điên thoại đc. Ngoài ra modem lởm hay có kiểu hạn chế 1 admin login 1 lúc. Hay là mọi modem đều vậy ? vì cơ chế authen là login trên 1 device thì các dv khác out ? Chi tiết modem sẽ cập nhật sau cùng với so sánh với 2 con khác, 1 con xịn chạy cáp quang và 1 con thường ko wifi Zylxel.

Handsontable 2

lookup value:    lookupValue: function (handsontable, columns, srcColumnName, row, value) {         var source = [];         var real = [];         for (var i = 0; i < columns.length; i++) {             var col = columns[i];             if (col.data == srcColumnName) {                 source = col.source;                 real = col.real;             }         }         if (real && real.length == source.length && real.length > 0) {             var idx = source.indexOf(value);             return real[idx];         }     },       NewLookupValue: function (dropDownReal, value) {         var real = dropDownReal;         var selected_code;         $.map(real, function(val, index) {             if(val == value) {                 selected_code = index;                 return false;             }         });         return selected_code;     }, plugin app.js var App = App || {}; App.Util = { ... } Spreadsheet js defaultMenuContextIte