/** * Observe how the user enters content into the comment form in order to determine whether it's a bot or not. * * Note that no actual input is being saved here, only counts and timings between events. */ ( function() { // Passive event listeners are guaranteed to never call e.preventDefault(), // but they're not supported in all browsers. Use this feature detection // to determine whether they're available for use. var supportsPassive = false; try { var opts = Object.defineProperty( {}, 'passive', { get : function() { supportsPassive = true; } } ); window.addEventListener( 'testPassive', null, opts ); window.removeEventListener( 'testPassive', null, opts ); } catch ( e ) {} function init() { var input_begin = ''; var keydowns = {}; var lastKeyup = null; var lastKeydown = null; var keypresses = []; var modifierKeys = []; var correctionKeys = []; var lastMouseup = null; var lastMousedown = null; var mouseclicks = []; var mousemoveTimer = null; var lastMousemoveX = null; var lastMousemoveY = null; var mousemoveStart = null; var mousemoves = []; var touchmoveCountTimer = null; var touchmoveCount = 0; var lastTouchEnd = null; var lastTouchStart = null; var touchEvents = []; var scrollCountTimer = null; var scrollCount = 0; var correctionKeyCodes = [ 'Backspace', 'Delete', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Home', 'End', 'PageUp', 'PageDown' ]; var modifierKeyCodes = [ 'Shift', 'CapsLock' ]; var forms = document.querySelectorAll( 'form[method=post]' ); for ( var i = 0; i < forms.length; i++ ) { var form = forms[i]; var formAction = form.getAttribute( 'action' ); // Ignore forms that POST directly to other domains; these could be things like payment forms. if ( formAction ) { // Check that the form is posting to an external URL, not a path. if ( formAction.indexOf( 'http://' ) == 0 || formAction.indexOf( 'https://' ) == 0 ) { if ( formAction.indexOf( 'http://' + window.location.hostname + '/' ) != 0 && formAction.indexOf( 'https://' + window.location.hostname + '/' ) != 0 ) { continue; } } } form.addEventListener( 'submit', function () { var ak_bkp = prepare_timestamp_array_for_request( keypresses ); var ak_bmc = prepare_timestamp_array_for_request( mouseclicks ); var ak_bte = prepare_timestamp_array_for_request( touchEvents ); var ak_bmm = prepare_timestamp_array_for_request( mousemoves ); var input_fields = { // When did the user begin entering any input? 'bib': input_begin, // When was the form submitted? 'bfs': Date.now(), // How many keypresses did they make? 'bkpc': keypresses.length, // How quickly did they press a sample of keys, and how long between them? 'bkp': ak_bkp, // How quickly did they click the mouse, and how long between clicks? 'bmc': ak_bmc, // How many mouseclicks did they make? 'bmcc': mouseclicks.length, // When did they press modifier keys (like Shift or Capslock)? 'bmk': modifierKeys.join( ';' ), // When did they correct themselves? e.g., press Backspace, or use the arrow keys to move the cursor back 'bck': correctionKeys.join( ';' ), // How many times did they move the mouse? 'bmmc': mousemoves.length, // How many times did they move around using a touchscreen? 'btmc': touchmoveCount, // How many times did they scroll? 'bsc': scrollCount, // How quickly did they perform touch events, and how long between them? 'bte': ak_bte, // How many touch events were there? 'btec' : touchEvents.length, // How quickly did they move the mouse, and how long between moves? 'bmm' : ak_bmm }; var akismet_field_prefix = 'ak_'; if ( this.getElementsByClassName ) { // Check to see if we've used an alternate field name prefix. We store this as an attribute of the container around some of the Akismet fields. var possible_akismet_containers = this.getElementsByClassName( 'akismet-fields-container' ); for ( var containerIndex = 0; containerIndex < possible_akismet_containers.length; containerIndex++ ) { var container = possible_akismet_containers.item( containerIndex ); if ( container.getAttribute( 'data-prefix' ) ) { akismet_field_prefix = container.getAttribute( 'data-prefix' ); break; } } } for ( var field_name in input_fields ) { var field = document.createElement( 'input' ); field.setAttribute( 'type', 'hidden' ); field.setAttribute( 'name', akismet_field_prefix + field_name ); field.setAttribute( 'value', input_fields[ field_name ] ); this.appendChild( field ); } }, supportsPassive ? { passive: true } : false ); form.addEventListener( 'keydown', function ( e ) { // If you hold a key down, some browsers send multiple keydown events in a row. // Ignore any keydown events for a key that hasn't come back up yet. if ( e.key in keydowns ) { return; } var keydownTime = ( new Date() ).getTime(); keydowns[ e.key ] = [ keydownTime ]; if ( ! input_begin ) { input_begin = keydownTime; } // In some situations, we don't want to record an interval since the last keypress -- for example, // on the first keypress, or on a keypress after focus has changed to another element. Normally, // we want to record the time between the last keyup and this keydown. But if they press a // key while already pressing a key, we want to record the time between the two keydowns. var lastKeyEvent = Math.max( lastKeydown, lastKeyup ); if ( lastKeyEvent ) { keydowns[ e.key ].push( keydownTime - lastKeyEvent ); } lastKeydown = keydownTime; }, supportsPassive ? { passive: true } : false ); form.addEventListener( 'keyup', function ( e ) { if ( ! ( e.key in keydowns ) ) { // This key was pressed before this script was loaded, or a mouseclick happened during the keypress, or... return; } var keyupTime = ( new Date() ).getTime(); if ( 'TEXTAREA' === e.target.nodeName || 'INPUT' === e.target.nodeName ) { if ( -1 !== modifierKeyCodes.indexOf( e.key ) ) { modifierKeys.push( keypresses.length - 1 ); } else if ( -1 !== correctionKeyCodes.indexOf( e.key ) ) { correctionKeys.push( keypresses.length - 1 ); } else { // ^ Don't record timings for keys like Shift or backspace, since they // typically get held down for longer than regular typing. var keydownTime = keydowns[ e.key ][0]; var keypress = []; // Keypress duration. keypress.push( keyupTime - keydownTime ); // Amount of time between this keypress and the previous keypress. if ( keydowns[ e.key ].length > 1 ) { keypress.push( keydowns[ e.key ][1] ); } keypresses.push( keypress ); } } delete keydowns[ e.key ]; lastKeyup = keyupTime; }, supportsPassive ? { passive: true } : false ); form.addEventListener( "focusin", function ( e ) { lastKeydown = null; lastKeyup = null; keydowns = {}; }, supportsPassive ? { passive: true } : false ); form.addEventListener( "focusout", function ( e ) { lastKeydown = null; lastKeyup = null; keydowns = {}; }, supportsPassive ? { passive: true } : false ); } document.addEventListener( 'mousedown', function ( e ) { lastMousedown = ( new Date() ).getTime(); }, supportsPassive ? { passive: true } : false ); document.addEventListener( 'mouseup', function ( e ) { if ( ! lastMousedown ) { // If the mousedown happened before this script was loaded, but the mouseup happened after... return; } var now = ( new Date() ).getTime(); var mouseclick = []; mouseclick.push( now - lastMousedown ); if ( lastMouseup ) { mouseclick.push( lastMousedown - lastMouseup ); } mouseclicks.push( mouseclick ); lastMouseup = now; // If the mouse has been clicked, don't record this time as an interval between keypresses. lastKeydown = null; lastKeyup = null; keydowns = {}; }, supportsPassive ? { passive: true } : false ); document.addEventListener( 'mousemove', function ( e ) { if ( mousemoveTimer ) { clearTimeout( mousemoveTimer ); mousemoveTimer = null; } else { mousemoveStart = ( new Date() ).getTime(); lastMousemoveX = e.offsetX; lastMousemoveY = e.offsetY; } mousemoveTimer = setTimeout( function ( theEvent, originalMousemoveStart ) { var now = ( new Date() ).getTime() - 500; // To account for the timer delay. var mousemove = []; mousemove.push( now - originalMousemoveStart ); mousemove.push( Math.round( Math.sqrt( Math.pow( theEvent.offsetX - lastMousemoveX, 2 ) + Math.pow( theEvent.offsetY - lastMousemoveY, 2 ) ) ) ); if ( mousemove[1] > 0 ) { // If there was no measurable distance, then it wasn't really a move. mousemoves.push( mousemove ); } mousemoveStart = null; mousemoveTimer = null; }, 500, e, mousemoveStart ); }, supportsPassive ? { passive: true } : false ); document.addEventListener( 'touchmove', function ( e ) { if ( touchmoveCountTimer ) { clearTimeout( touchmoveCountTimer ); } touchmoveCountTimer = setTimeout( function () { touchmoveCount++; }, 500 ); }, supportsPassive ? { passive: true } : false ); document.addEventListener( 'touchstart', function ( e ) { lastTouchStart = ( new Date() ).getTime(); }, supportsPassive ? { passive: true } : false ); document.addEventListener( 'touchend', function ( e ) { if ( ! lastTouchStart ) { // If the touchstart happened before this script was loaded, but the touchend happened after... return; } var now = ( new Date() ).getTime(); var touchEvent = []; touchEvent.push( now - lastTouchStart ); if ( lastTouchEnd ) { touchEvent.push( lastTouchStart - lastTouchEnd ); } touchEvents.push( touchEvent ); lastTouchEnd = now; // Don't record this time as an interval between keypresses. lastKeydown = null; lastKeyup = null; keydowns = {}; }, supportsPassive ? { passive: true } : false ); document.addEventListener( 'scroll', function ( e ) { if ( scrollCountTimer ) { clearTimeout( scrollCountTimer ); } scrollCountTimer = setTimeout( function () { scrollCount++; }, 500 ); }, supportsPassive ? { passive: true } : false ); } /** * For the timestamp data that is collected, don't send more than `limit` data points in the request. * Choose a random slice and send those. */ function prepare_timestamp_array_for_request( a, limit ) { if ( ! limit ) { limit = 100; } var rv = ''; if ( a.length > 0 ) { var random_starting_point = Math.max( 0, Math.floor( Math.random() * a.length - limit ) ); for ( var i = 0; i < limit && i < a.length; i++ ) { rv += a[ random_starting_point + i ][0]; if ( a[ random_starting_point + i ].length >= 2 ) { rv += "," + a[ random_starting_point + i ][1]; } rv += ";"; } } return rv; } if ( document.readyState !== 'loading' ) { init(); } else { document.addEventListener( 'DOMContentLoaded', init ); } })(); Lời Phật dạy về chữ tâm - có tâm ắt hưởng phúc lành 2024

Lời Phật dạy về chữ tâm – có tâm ắt hưởng phúc lành 2024

Trong cuộc sống có rất nhiều điều quý giá nhưng quan trọng nhất là tâm. Tâm khởi phát cho mọi khổ đau và hạnh phúc, cùng lắng nghe lời Phật dạy về chữ tâm để có thêm những suy nghĩ đúng đắn cho con đường mình đi.

Nhiều người thích tiền tài, danh vọng, vật chất, điều này không sai, đó là nhu cầu thiết thực và đáng trân trọng. Nếu làm theo tâm mình thì những thứ kia sẽ giúp cuộc sống trở nên xa hoa, tốt đẹp, thoải mái hơn. Nhưng ngược lại, làm trái tâm thì có bao nhiêu cũng chỉ khiến cuộc sống bế tắc, bất hạnh hơn mà thôi.

Lời Phật dạy về chữ tâm được ghi trong kinh sách sẽ bày tỏ đôi điều về vấn đề tưởng đơn giản mà lại rất rộng lớn này.

Nội dung bài viết

1. Lời phật dạy Nhất thiết duy tâm tạo

Lời phật dạy về chữ tâm
Lời phật dạy về chữ tâm
Trong kinh Hoa Nghiêm có viết: nhất thiết duy tâm tạo, tức là mọi việc đều do tâm sinh ra. Tâm là thứ điều khiển và nảy sinh ra mọi lẽ thiện ác, mọi công đức nghiệp báo của một đời người, quyết định con người ấy sẽ sống đời lương thiện hay đời xấu xa, sẽ trở nên hạnh phúc hay đau khổ.
Tâm tốt tạo ra thiện hạnh, nghiệp lành, hướng con người tới những việc giản đơn, tốt đẹp. Tâm xấu thúc đẩy tham, sân, si, tất cả những tội lỗi sai lầm mà chúng ta gây ra đều xuất phát từ tâm không trong sáng. Từ trong tâm sẽ dẫn dắt hành động, từ hành động mà tạo ra nhân quả.
Lời Phật dạy về chứ tâm nhấn mạnh tới sự tự chủ của mỗi người, không phải hoàn cảnh, không phải xã hội, không phải cuộc đời đẩy chúng ta tới chân tường, khiến chúng ta rơi vào vòng xoáy oan nghiệt mà chính tâm mới quyết định tất cả. Thế nên trong Phật giáo mới có những bài kinh sám hối.
Sám hối là nhìn lại tâm của mình, chủ động thừa nhận những sai lầm khởi phát từ trong tâm và cố gắng thay đổi, cải biến để lương tâm trong sáng, xóa sạch nhưng mờ tục trong tâm. Tâm sinh tính và tâm sinh tướng, tâm tốt thì mọi thứ đều vẹn tròn..

2. Tùy tâm biểu hiện

Trong kinh Thủ Lăng Nghiêm có viết: tùy tâm biểu hiện, tức là mọi sự thiện ác lành dữ đều do tâm biểu hiện ra. Người hành động không tốt, có tính bạo lực, thù địch, dối trá tức là tâm không sáng; người dịu dàng, nho nhã, thanh lịch, thật thà là biểu hiện của tấm lòng tốt đẹp.
Không có chuyện tâm tốt mà biểu hiện ra xấu cũng không có trường hợp tâm xấu mà hành động lại tốt đẹp trừ khi là giả tạo mà cái gì giả thì sớm muộn cũng bị vạch trần. Tâm và biểu hiện rất nhất quán, có sự tương đồng, tương thông. Vì thế thông qua hành động của một người có thể thấy tâm tính của người đó.

3. Tam giới tận tâm, tức thị niết bàn

Lời Phật dạy về chữ tâm ghi trong kinh A Hàm có ý nghĩa là chỉ khi nào tâm sạch ba cõi, không còn tham, sân, si thì mới thấy được Niết Bàn – cõi cực lạc tiên cảnh.
Lòng tham nổi lên, con người sẽ chìm đắm trong dục giới, lúc nào cũng chỉ muốn thỏa mãn lòng tham, sẵn sàng làm tất cả những chuyện xấu xa đồi bại nhất để đạt được mục đích. Mà lòng tham thì vô đáy, không có điểm dừng, đạt được cái này rồi lại muốn cái kia nên con người lúc nào cũng vất vả, bôn ba vì những thứ chưa chắc đã thực sự có ý nghĩa. Phật dạy về chữ tham, lòng tham và nỗi khổ vì tham nhất định phải nhớ.
Khi lòng sân hận nổi lên, con người sẽ chìm trong sắc giới, sinh sự bất mãn, tự mình làm khổ mình, dù không tham nhưng có sân thì không thể hết khổ, không thể hết buồn, dễ đố kị, ghen tị mà làm việc ác.
Khi lòng si nổi lên, ngu dốt u mê tăm tối, không thấy đúng sai, không màng phải trái, không có tâm dẫn đường, dễ mê lầm.

4. Nhất niệm sân tâm khởi, bách vạn chướng môn khai

Một khi tâm niệm tức giận, sân hận khởi lên mà chúng ta không tự kiềm chế, không tự khắc phục, thì trăm ngàn vạn chuyện khó khăn, đau khổ, chướng ngại tiếp nối theo sau đó. Tâm dẫn đường hành động, tâm sinh tính cách, tâm làm nên tướng người nên tâm xấu ắt hẳn bao chuyện thiếu tử tế sẽ diễn ra.
Lời Phật dạy về chữ tâm thực ra chung quy lại chỉ có một trọng điểm: chữ tâm tạo nên cuộc đời. Sống ở đời có thể không có tiền, không có tài nhưng nhất định phải có tâm. Người không tiền sống nghèo sống khổ, người không tài sống vô dụng và nhỏ bé nhưng người không tâm thì không có cuộc sống.

Dịch vụ chúng tôi cung cấp:

MR PHƯƠNG 0965.435.666