by dofrance | May 21, 2015 | Education
Ngay từ thuở còn cắp sách đến trường tôi chứng kiến không biết bao nhiêu bạn bè của mình bị đuổi học vì những lý do như đánh nhau, quay cóp, uống bia rượu, đua xe… nói chung là những lý do mà người ta quy cho là phạm tội hay lỗi trầm trọng mà qua đó sẽ dẫn đến việc cho thôi học có thời hạn hay vô thời hạn. Mà việc đuổi học này không phải chỉ riêng ở Việt Nam mà nước Tây nước Tàu nào cũng có. Tôi còn chứng kiến trước khi cho thôi học nhà trường còn bắt cả phụ huynh lên làm bản kiểm điểm đọc trước toàn trường, thật không thể nào tưởng tượng nổi.
Người ta có rất nhiều lý do để giải thích cho việc đuổi học. Nhưng quan điểm của tôi là dựa trên chức năng của nhà trường là giáo dục học sinh, trường không dạy nổi, không quản lý nổi có nghĩa là không thực hiện nổi chức năng của mình như vậy người ra quyết định đuổi học nên thôi giữ chức vụ hay đóng cửa trường vì không có khả năng dạy dỗ nổi học sinh do mình nhận vào.
Những lý do như làm ảnh hưởng đến học sinh khác là hoàn toàn không chấp nhận, nếu sợ ảnh hưởng đến học sinh khác thì tại sao nhận học sinh vào học, nhận học sinh vào học nghĩa là anh phải chịu trách nhiệm quản lý dạy dỗ và giáo dục người ta, nếu lỡ người ta vi phạm anh phải xem đó là lỗi của mình và có cách khắc phục hậu quả không đằng này lại đuổi học như vậy là từ chối trách nhiệm của mình. Nếu nói là làm ảnh hưởng đến học sinh khác thì chẳng khác nào coi người bị đuổi như một phần tử bệnh dịch nguy hiểm cần được loại trừ? Bạn phạm một lỗi và bạn trở thành một loại dịch bệnh nguy hiểm.
Có lí do đuổi học nào là muốn tốt cho học sinh bị đuổi học không? Tôi thấy đa phần là do dự luận và do ảnh hưởng đến tên tuổi của trường hay của ông/bà nào đó cho nên phải đuổi? Choáng!
Nhà trường có thể có cả tỷ lý do để chứng tỏ quyền uy đuổi học của mình nhưng nếu giáo dục thật sự xuất phát từ tình thương thì không có lý do nào có thể chấp nhận được và nó cũng đã sai chức năng và mục đích giáo dục. Nhưng việc đuổi học vẫn cứ xảy ra, nhiều người vẫn cứ hả hê … thế thì người bị đuổi học họ sẽ cảm thấy thế nào? Họ sẽ trở thành người như thế nào? Những người khác sẽ cư xử với họ ra sao? Liệu có nơi nào để họ có thể tiếp tục được học hay ko? Học sao mà xa xỉ quá vậy.
Tôi chứng kiến bạn bè của mình thuở học chung học rất giỏi nhưng họ phạm sai lầm và bị đuổi học ở lứa tuổi thành niên và thế là sau 10-15 năm gặp lại tôi nhìn thấy họ mà rưng nước mắt, họ cũng mặc cảm ko thèm nói chuyện với mình. Có ai không phạm sai lầm, thế sao họ lại bị vứt ra khỏi xã hội như vậy, trẻ con hay người lớn ai cũng có thiện tâm trong lòng mình ai cũng có phút lầm đường lạc lối và hoàn toàn có thể quay trở lại con đường tốt của mình. Thế mà nền giáo dục này, xã hội này lại vứt bỏ họ và chà đạp họ.
Nếu người bị đuổi học là con cái của mình thì mình sẽ thế nào? Vì nó làm mất mặt cả dòng họ nên đuổi nó ra khỏi nhà chăng làm như vậy gia đình cũng chẳng khác gì nhà trường cũng phủi bỏ trách nhiệm giáo dục của mình chỉ khác ở chỗ là lý do, xây thì khó phá bỏ thì dễ lắm. Trường với gia đình đổ lỗi cho nhau rồi đổ lên đầu đứa nhỏ. Nơi nương tựa của người Việt mình là gia đình thế nên phải tìm cách giúp con em mình vượt qua được lỗi lầm, không đi học nghĩa là một cơ hội tốt vì có thêm thời gian để rèn luyện chấn chỉnh bản thân của mình thành một con người tốt bằng một cách thức khác chứ không phải cứ đi tới trường là con đường duy nhất. Trường đời rộng và dài lắm ai ơi, mỗi người lại mỗi ngã đâu như trường Việt thì học 16 năm trời cũng chữ thầy trả thầy chưa chắc đã bằng một người chuyên tâm học hành say mê làm việc yêu thích trong vòng vài năm là cũng đạt được thành tựu. Những người tu hành hay khổ luyện họ cũng có chỗ của họ đâu đó chứ đâu nhất thiết phải ở trường.
Vì vậy đừng đuổi học nữa! Trường học đừng chứng tỏ sự yếu kém và bất lực của mình nữa.
by dofrance | May 21, 2015 | Education
Câu hỏi đơn giản nhưng mà để trả lời có khi mất cả mấy thế hệ? Tôi sẽ bắt đầu viết những câu chuyện về giáo dục mà tôi từng chứng kiến và cảm nhận được.
by dofrance | May 21, 2015 | Information Technology
Here’s my setup: Client -> Varnish cache -> 2 x Worpdress -> Memcached -> 2 x MariaDB
I need to sync WordPress folder on both Machine, just have a look on NFS, CEPH, GlusterFS and I go with GlusterFS
sudo apt-get -y install glusterfs-server
If you don’t have a on premise DNS server, we can add the server name in to hosts files
192.20.1.1 srvr-phpnode1.mydomain.vn srvr-phpnode1
192.20.1.2 srvr-phpnode2.mydomain.vn srvr-phpnode2
Create a directory for Gluster Volume on both hosts
mkdir /gluster-volume
Check for other peer status
sudo gluster peer probe srvr-phpnode2
peer probe: success
sudo gluster peer status
Number of Peers: 1
Hostname: srvr-phpnode2
Port: 24007
Uuid: 225698cb-a84f-4b5b-8537-27732d752aba
State: Peer in Cluster (Connected)
Glusterfs distributed vs Replica mode (GlusterFS docs):
Distributed mean data distributes across the available bricks in a volume: write 100 files, on average, 50 on one server, and 50 on another. This is faster than a “replicated” volume, but isn’t as popular since it doesn’t give you two of the most sought after features of Gluster — multiple copies of the data, and automatic failover if something goes wrong
Create wwwVol volume on host srvr-phpnode1
sudo gluster volume create wwwVol replica 2 transport tcp srvr-phpnode1:/gluster-volume srvr-phpnode2:/gluster-volume force
(GlusterFS docs): we tell it to make the volume a replica volume, and to keep a copy of the data on at least 2 bricks at any given time. Since we only have two bricks total, this means each server will house a copy of the data. Lastly, we specify which nodes to use, and which bricks on those nodes. The order here is important when you have more bricks
sudo gluster volume start wwwVol
sudo gluster volume info
Volume Name: wwwVol
Type: Replicate
Volume ID: 8c1430d4-8b25-4967-9a46-39287cdedbb2
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: srvr-phpnode1:/gluster-volume
Brick2: srvr-phpnode2:/gluster-volume
We need /var/www will be on GlusterFS so we will mount wwwVol to /var/www on both hosts
On both hosts
mkdir /var/www
On phpnode1
vi /etc/fstab
srvr-phpnode1:/wwwVol /var/www glusterfs defaults,_netdev 0 0
mount -a
On phpnode2
vi /etc/fstab
srvr-phpnode2:/wwwVol /var/www glusterfs defaults,_netdev 0 0
mount -a
Other GlusterFS command
gluster volume stop VOLNAME
gluster volume delete VOLNAME
gluster volume remove-brick VOLNAME wnode1:/www
http://www.gluster.org/community/documentation/index.php/Gluster_3.1:_Deleting_Volumes
http://www.gluster.org/community/documentation/index.php/Basic_Gluster_Troubleshooting
by dofrance | May 21, 2015 | Information Technology
First thing first: memcache vs memcached
According to http://blackbe.lt/php-memcache-vs-memcached/
PHP has two separate module implementations wrapping the memcached (as in memcache daemon) server.
The memcache module utilizes this daemon directly, whereas the memcached module wraps the libMemcached client library and contains some added bonuses.
Memcached module will be faster than memcache module => I’ll go with Memcached module
Install Memcached daemon on my dedicate Memcached host
sudo apt-get install memcached libmemcached-tools
My memcache server listen all of its address. So edit /etc/memcached.conf
-m 20000 #amount of RAM in MB
-p 11211 #listen port 11211
-l 0.0.0.0 #listen on all interfaces
Install memcached client
In other WordPress PHP server we need to install memcahed client and server (optional):
sudo apt-get install php5-memcached memcached libmemcached-tools php-pear
sudo mkdir /etc/php5/conf.d
ln -s /etc/php5/mods-available/memcached.ini /etc/php5/conf.d/memcached.ini
I need to store Php sessions in Memcached because store in memory will be faster than disk
Default is session.save_handler = files
Add to /etc/php5/conf.d/memcached.ini
[Session]
session.save_handler = memcached
session.save_path = “tcp://localhost:11211”
WordPress and Memcached
Finally edit WordPress wp-config file to add list of Memcached server for WordPress Total cache plugin
global $memcached_servers;
$memcached_servers = array(‘default’ => array(‘192.1.3.30:11211′,’192.1.1.11:11211′,’192.1.1.12:11211’));
Now your WordPress can Memcached it.
by dofrance | Apr 27, 2015 | Daily Sysadmin, Information Technology
Recently switch my Mom machine from Windows 7 to Ubuntu Gnome 14.04 which’s my favorite one. So I need to share Canon E500 (USB) printing and scanning for my other devices over Network.
I set this host with static IP: 192.168.1.10
Install Canon E500 driver
sudo add-apt-repository ppa:inameiname/stable
sudo apt-get update -y
sudo apt-get install -y cnijfilter-e500series scangearmp-e500series
Now I can add the printer from Printer Config
For Scanner: I use ScanGear instead of Simple Scan
Sharing Printer
This step is share printing service over network
Cups printing running on port 631 localhost -> go to CUPS admin at
http://localhost:631/admin
In the Server part setting: Check these options
- Share printers connected to this system
- Allow printing from the Internet
- Allow remote administration
- Allow users to cancel any job (not just their own) //this is my home purpose
=> Change Settings -> wait for Cup restarting
Manage E500 printer via CUPS. Now we need to access CUPS by its IP address, I also leave the printer name as E500-series
From here you can print any test pages, maintenance, etc…I don’t need to set any allowed user. Just me and my mom
Sharing Scanner
On the server (E500 connect directly via USB) tell sane to run as server
sudo vi /etc/default/saned
Run=no -> Run=yes
Allow user from my subnet
sudo vi /etc/sane.d/saned.conf
## Access list
192.168.1.0/24
service saned restart
On the client
sudo vi /etc/sane.d/net.conf
## saned hosts
connect_timeout = 60
Open Xsane and wait for Scanner discovery