No Fap 90 days.

  • Người tạo chủ đề Người tạo chủ đề son_cu_do
  • Ngày bắt đầu Ngày bắt đầu
Đã tự chống nạng đi tè đc rồi fen, thank fen nhé. Fen dạo này vững phết đấy nhỉ
Tưởng chưa đi được lại nhờ gái giúp tè tại chỗ
XE8gxo0.png


Tôi thì thấy là mình hết cần lăn tăn về no fap + khủng hoảng hiện sinh rồi. Đã có thể dồn toàn lực cho những việc khác
A3xjWZc.gif
 
Cũng hơn 1 tuần quay lại đây, vẫn giữ đc phong độ
Ngày thứ 43.

Lâu lâu lướt qua mấy hình kích thích quá, thằng em vẫn ngóc lên, nma không còn hứng thứ qwerty như trước nữa, chức năng vẫn nhạy mà não có vẻ là kiềm chế đc.

Mà tính ra cũng lạ, cũng lâu trc đây cũng tham gia no FAP, mà đợt đó lâu lâu bị mộng t*nh, cơ mà đợt này k bị các bác ạ. Có lần gần đây mơ đang tới Z rồi, cái tự nhiên nghĩ gì mà lại dừng lại, nên thoát khỏi mộng t*nh luôn.

Đợt này có dùng tpcn, kb nó có bổ trợ gì k nhưng e nghĩ chắc nó cũng ảnh hưởng ít nhiều.
E đang uống omeg3, Zinc, Mage, có tập thể dục luôn.

Mặt mũi có vẻ sáng sủa hơn, nma sao đợt này mụn viêm nổi nhiều trên 2 vùng thái dương quá, toàn mụn viêm k các bác ah, nhìn hơi chán, ai gặp cũng nói.
Kb là thay đổi lối sống, k qwerty nữa nó thay đổi sinh lý nên nó mọc mụn k.

Cơ mà hqua mới đá bóng lại trật đầu gối lại, mịe nó nay đi cà nhắc cà nhắc, nặng nề quá.
Lâu r chưa điểm danh, vào voz thấy thớt nổi lên thì mới nhớ vào...
Ngày thứ 54,....
 
Lâu r chưa điểm danh, vào voz thấy thớt nổi lên thì mới nhớ vào...
Ngày thứ 54,....
Ngày thứ 55,...

Nghỉ đá bóng 2 tuần nay vì chấn thương đầu gối, ngứa ngáy chân tay quá.


Lướt lướt fb thấy ông nào share cái link phim hongkong 18+ thời 9x, ngựa ngựa bay vào xem.

May lúc đó đang workout tại nhà, vừa xem vừa workout xung vđ, thằng em thì ngỏng lên xem, còn thằng anh thì hít đất nâng tạ, vẫn là nofap :sweat:
 
/* VOZ — in-thread ad spread, client-side. * * Lives in the Siropu Ads Manager unit on `thread_view_below_messages` (the ad below the * last post), pasted after that unit's own and display() call. This file is the * source of truth; the ACP copy is a paste of it. Ads Manager's user/device/geo criteria * on that unit gate the whole thing. * * What it does: inserts up to `max` ad slots between posts, spaced by screen height rather * than post count. Anchors are post 1 and the first unread post (XF marks it `is-unread`; * it wins over post 1 when the two are closer than a gap) — each only if at least one gap * above the ad below the last post. Every stretch between anchors, and down to that bottom * ad, then gets as many slots as fit at the gap, spread evenly, each on the nearest post * boundary that keeps the gap, up to the cap — stretches below the unread post take their * share first (the reader scrolls down from there). Slot ids, gap, reserved size and backup * are per breakpoint (desktop / mobile). Slots are inserted as empty reserved boxes * (`voz-adSlot`, see extra.less) before PubPower fills them, so nothing shifts when an ad * arrives; the same markup gives them the backup, the hide-on-load and the fit rules. * * Re-runnable: window.vozThreadSpread() removes what it inserted and recomputes. */ (function () { var CONFIG = { max: 3, mobileMaxWidth: 650, label: 'Quảng cáo', // Per breakpoint: PubPower slot ids, one per placement in page order (kept per // device so each device's placements report under their own ids); the minimum // distance between ads (and from the last one to the bottom ad) as viewport heights, // or a string like '1200px'; the reserved size (voz-adSlot--… in extra.less); and the // backup shown until an ad has loaded. The backup keeps class voz-adSlot-backup // (hide-on-load, click-through when unfilled); --raw drops the style's own box so the // markup inside shows as written. desktop: { slots: ['pw_44325', 'pw_44329', 'pw_44331'], gap: 2, sizeClass: 'voz-adSlot--leaderboard', backupHtml: '' + '
AD · 970×90
' + '
' }, mobile: { slots: ['pw_44325', 'pw_44329', 'pw_44331'], gap: 3, sizeClass: 'voz-adSlot--rectangleLarge', backupHtml: '' + '
AD · 336×280
' + '
' } }; var MARK = 'data-voz-spread'; var script = document.currentScript; function pageTop(el) { return el.getBoundingClientRect().top + window.pageYOffset; } function pageBottom(el) { return el.getBoundingClientRect().bottom + window.pageYOffset; } function breakpoint() { return window.matchMedia('(max-width: ' + CONFIG.mobileMaxWidth + 'px)').matches ? CONFIG.mobile : CONFIG.desktop; } function gapPx() { var g = breakpoint().gap; return typeof g === 'string' ? parseFloat(g) : g * window.innerHeight; } function bottomAd() { var el = script; while (el && !(el.classList && el.classList.contains('voz-adSlot'))) el = el.previousElementSibling; return el; } function unit(slotId) { var bp = breakpoint(); var wrap = document.createElement('div'); wrap.className = 'voz-adUnit'; wrap.setAttribute(MARK, ''); wrap.innerHTML = (CONFIG.label ? '
' + CONFIG.label + '
' : '') + '
' + bp.backupHtml + '' + '
'; return wrap; } function run() { var old = document.querySelectorAll('[' + MARK + ']'); for (var k = 0; k < old.length; k++) old[k].parentNode.removeChild(old[k]); var posts = Array.prototype.slice.call(document.querySelectorAll('.block--messages article.message--post')); if (posts.length < 2) return []; var gap = gapPx(); var bottom = bottomAd(); var bottomY = bottom ? pageTop(bottom) : pageBottom(posts[posts.length - 1]); var chosen = []; function fits(y) { if (bottomY - y < gap) return false; for (var i = 0; i < chosen.length; i++) if (Math.abs(chosen[i].y - y) < gap) return false; return true; } function take(post) { var y = pageBottom(post); if (!fits(y)) return false; chosen.push({ post: post, y: y }); return true; } var unread = -1; for (var i = 0; i < posts.length; i++) if (posts[i].classList.contains('is-unread')) { unread = i; break; } // Anchors: the unread post (if a gap above the bottom ad), then post 1 (if a gap // from both). Every stretch between consecutive anchors and the bottom ad then gets // as many slots as fit at the gap, spread evenly, each on the nearest post boundary. if (unread >= 0) take(posts[unread]); take(posts[0]); chosen.sort(function (a, b) { return a.y - b.y; }); var uy = unread >= 0 ? pageBottom(posts[unread]) : -1; var bounds = chosen.map(function (c) { return c.y; }).concat([bottomY]); var segments = []; for (var s = 0; s + 1 < bounds.length; s++) segments.push({ a: bounds[s], b: bounds[s + 1] }); // Stretches below the unread post take their share of the cap first (the reader // scrolls down from there), then the ones above it, top-down. segments.sort(function (x, y) { return (x.a >= uy ? 0 : 1) - (y.a >= uy ? 0 : 1) || x.a - y.a; }); for (var t = 0; t < segments.length; t++) { var a = segments[t].a, b = segments[t].b; var n = Math.min(Math.floor((b - a) / gap) - 1, CONFIG.max - chosen.length); for (var j = 1; j <= n; j++) { var target = a + j * (b - a) / (n + 1), best = null, bestD = Infinity; for (var q = 0; q < posts.length; q++) { var yq = pageBottom(posts[q]); if (yq <= a || yq >= b || !fits(yq)) continue; var d = Math.abs(yq - target); if (d < bestD) { bestD = d; best = posts[q]; } } if (best) take(best); } } chosen.sort(function (a, b) { return a.y - b.y; }); window.powerTag = window.powerTag || {}; var placed = []; var slots = breakpoint().slots; for (var p = 0; p < chosen.length; p++) { var id = slots[p % slots.length]; chosen[p].post.insertAdjacentElement('afterend', unit(id)); placed.push({ afterPost: posts.indexOf(chosen[p].post) + 1, slot: id }); (function (slotId) { (window.powerTag.Init = window.powerTag.Init || []).push(function () { window.powerAPITag.display(slotId); }); })(id); } return placed; } window.vozThreadSpread = run; run(); })();

Thống kê chủ đề

Ngày tạo
son_cu_do,
Người trả lời cuối
Gdwpgw53,
Trả lời
18.512
Lượt xem
1.955.522
Quay lại
Lên đầu trang