Please fix this annoyingly slow forum
Re: Please fix this annoyingly slow forum
Good thing the earth is a disk. Then you can restart the server at 2 o'clock at night when everyone is asleep 
My Projects EventDesigner V3 / ThreadToGUI / OOP-BaseClass / Windows: Module ActiveScript
PB v3.30 / v5.75 - OS Mac Mini - VM Window Pro / Linux Ubuntu
Downloads on my OneDrive
PB v3.30 / v5.75 - OS Mac Mini - VM Window Pro / Linux Ubuntu
Downloads on my OneDrive
Re: Please fix this annoyingly slow forum
I have no ads when "uBlock Origin" is enabled, as well as when disabled.Olli wrote: Sun Mar 01, 2026 9:48 am And please stop those ads which are very null... Look this link below, behind the photography of Brigitte Macron and a put-a-click slogan. How can I helped, and how can I help if I must also click "I do not consent" thausend times.... Near one hour lost just for one line, one link to give to KCC in the coding question...
I would like to suggest it, but is it really possible?skywalk wrote: Tue Mar 03, 2026 5:29 am Or spinup a mirror site just for bots and redirect all non-human accounts there.
Re: Please fix this annoyingly slow forum
@Olli, very nice code. I didn't expect that. Great!! PBbros. LOLOlli wrote: Fri Mar 06, 2026 4:17 pm The forum was in such a mode that I was bored. I coded anything stupid. Happily, Fred has decided a limit to 600 lines, that interrupted me !
So in the end, the earth is not flat?
If translation=Error: reply="Sorry, Im Spanish": Endif
Re: Please fix this annoyingly slow forum
Yes, anything is possible. Rent a cloud VPS or make your own with raspberryPI and a UPS. Then redirect bots to the mirror.
Also easy to disable guest accounts.
Force a captcha for all new users.
Use bot profiles for bots!
The nice thing about standards is there are so many to choose from. ~ Andrew Tanenbaum
Re: Please fix this annoyingly slow forum
I wasn't expecting thatOlli wrote: Fri Mar 06, 2026 4:17 pm The forum was in such a mode that I was bored. I coded anything stupid. Happily, Fred has decided a limit to 600 lines, that interrupted me !Code: Select all
Global sw, sh, countDown = 300, life = 3, score = 0, coinQty = 0, trial = 1 Global Dim key.i(255) Procedure keyb(i.i) Protected r, ks = KeyboardPushed(i) If ks And Not key(i) r = 1 EndIf key(i) = ks ProcedureReturn r EndProcedure Procedure c31(r, g, b) ProcedureReturn RGB(r * 255, g * 255, b * 255) EndProcedure Procedure c41(a, r, g, b) ProcedureReturn RGBA(r * 255, g * 255, b * 255, a * 255) EndProcedure InitSprite() InitKeyboard() ExamineDesktops() sw = DesktopWidth(0) sh = DesktopHeight(0) OpenScreen(sw, sh, 32, "", #PB_Screen_SmartSynchronization, DesktopFrequency(0) ) CreateSprite(0, 256, 128) TransformSprite(0, 0, 0, sw, 0, sw, sh, 0, sh) Global Dim p.L(3, 3) ; 4 palettes * 4 attributs * 32 bits = 1Kbits = 128-bytes palette (4 palettes) Global Dim s.u(63, 7) ; 256 * 8 * 16 bits = 32Kbits = 1-kilobytes sprite (256 sprites) Global Dim sp(255) ; 2 KB Global Dim c.a(31, 15) ; 32 columns * 16 rows * 8 bits = 4Kbits text = 512-bytes text For palette = 0 To 3 p(palette, 0) = RGBA(0, 0, 0, 0) For color = 1 To 3 p(palette, color) = RGBA(Random(255), Random(255), Random(255), 255) Next Next For char = 0 To 63 For charLine = 0 To 7 s(char, charLine) = Random($FFFF) Next Next ;- start p(0, 0) = RGBA(%00000000, %00000000, %00000000, %11111111) ; décor arrière (opaque) 4 niveaux de bleus p(0, 1) = RGBA(%00000000, %00000000, %01010101, %11111111) p(0, 2) = RGBA(%00000000, %00000000, %10101010, %11111111) p(0, 3) = RGBA(%00000000, %01010101, %11111111, %11111111) p(1, 0) = RGBA(%00000000, %00000000, %00000000, %00000000) ; allié (semi opaque) transparent p(1, 1) = RGBA(%00000000, %00000000, %01010101, %11111111) ; bleu p(1, 2) = RGBA(%11111111, %00000000, %00000000, %11111111) ; rouge p(1, 3) = RGBA(%11111111, %10101010, %01010101, %11111111) ; chair p(2, 0) = RGBA(%00000000, %00000000, %00000000, %00000000) ; décor avant transp p(2, 1) = RGBA(%00000000, %01010101, %00000000, %11111111) ; noir p(2, 2) = RGBA(%00000000, %11111111, %00000000, %11111111) ; vert p(2, 3) = RGBA(%11111111, %11111111, %11111111, %11111111) ; blanc p(3, 0) = RGBA(%00000000, %00000000, %00000000, %00000000) ; ennemi transparent p(3, 1) = RGBA(%01010101, %00000000, %00000000, %11111111) ; rouge sombre p(3, 2) = RGBA(%11111111, %01010101, %00000000, %11111111) ; orange p(3, 3) = RGBA(%11111111, %11111111, %00000000, %11111111) ; jaune For i = 0 To 7 s(0, i) = 0 Next s(1, 0) = %0011111111111100 s(1, 1) = %1000111111110010 s(1, 2) = %1010001111001010 s(1, 3) = %1010100000101010 s(1, 4) = %1010100000101010 s(1, 5) = %1010000101001010 s(1, 6) = %1000010101010010 s(1, 7) = %0001010101010100 s(2, 0) = %0101010100000000 s(2, 1) = %1111111101010101 s(2, 2) = %1110101011111111 s(2, 3) = %1110101010101010 s(2, 4) = %1010101010101010 s(2, 5) = %1010101010101010 s(2, 6) = %1010101001010101 s(2, 7) = %0101010100000000 s(3, 0) = %0000000000000000 s(3, 1) = %0101010101010101 s(3, 2) = %1111111111111111 s(3, 3) = %1010101010101010 s(3, 4) = %1010101010101010 s(3, 5) = %1010101010101010 s(3, 6) = %0101010101010101 s(3, 7) = %0000000000000000 s(4, 0) = %0000000101010100 s(4, 1) = %0101011111111101 s(4, 2) = %1111111010101011 s(4, 3) = %1010101010101010 s(4, 4) = %1010101010101010 s(4, 5) = %1010101010101010 s(4, 6) = %0101011010101001 s(4, 7) = %0000000101010100 s(5, 0) = %0000000001010101 s(5, 1) = %0101010111111111 s(5, 2) = %1111111110101010 s(5, 3) = %1010101010101010 s(5, 4) = %1010101010101001 s(5, 5) = %1010101010101001 s(5, 6) = %0101010110101001 s(5, 7) = %0000000001010101 s(6, 0) = %0011111111110000 s(6, 1) = %1111000000111100 s(6, 2) = %1111000000111100 s(6, 3) = %0011000000110000 s(6, 4) = %1111000000111100 s(6, 5) = %1111000000111100 s(6, 6) = %0011111111110000 s(6, 7) = %0000000000000000 s(7, 0) = %0000000000110000 s(7, 1) = %0000000000111100 s(7, 2) = %0000000000111100 s(7, 3) = %0000000000110000 s(7, 4) = %0000000000111100 s(7, 5) = %0000000000111100 s(7, 6) = %0000000000110000 s(7, 7) = %0000000000000000 s(8, 0) = %0011111111110000 s(8, 1) = %0000000000111100 s(8, 2) = %0000000000111100 s(8, 3) = %0011111111110000 s(8, 4) = %1111000000000000 s(8, 5) = %1111000000000000 s(8, 6) = %0011111111110000 s(8, 7) = %0000000000000000 s(9, 0) = %0011111111110000 s(9, 1) = %0000000000111100 s(9, 2) = %0000000000111100 s(9, 3) = %0011111111110000 s(9, 4) = %0000000000111100 s(9, 5) = %0000000000111100 s(9, 6) = %0011111111110000 s(9, 7) = %0000000000000000 s(10, 0) = %0011000000110000 s(10, 1) = %1111000000111100 s(10, 2) = %1111000000111100 s(10, 3) = %0011111111110000 s(10, 4) = %0000000000111100 s(10, 5) = %0000000000111100 s(10, 6) = %0000000000110000 s(10, 7) = %0000000000000000 s(11, 0) = %0011111111110000 s(11, 1) = %1111000000000000 s(11, 2) = %1111000000000000 s(11, 3) = %0011111111110000 s(11, 4) = %0000000000111100 s(11, 5) = %0000000000111100 s(11, 6) = %0011111111110000 s(11, 7) = %0000000000000000 s(12, 0) = %0011111111110000 s(12, 1) = %1111000000000000 s(12, 2) = %1111000000000000 s(12, 3) = %0011111111110000 s(12, 4) = %1111000000111100 s(12, 5) = %1111000000111100 s(12, 6) = %0011111111110000 s(12, 7) = %0000000000000000 s(13, 0) = %0011111111110000 s(13, 1) = %0000000000111100 s(13, 2) = %0000000000111100 s(13, 3) = %0000000000110000 s(13, 4) = %0000000000111100 s(13, 5) = %0000000000111100 s(13, 6) = %0000000000110000 s(13, 7) = %0000000000000000 s(14, 0) = %0011111111110000 s(14, 1) = %1111000000111100 s(14, 2) = %1111000000111100 s(14, 3) = %0011111111110000 s(14, 4) = %1111000000111100 s(14, 5) = %1111000000111100 s(14, 6) = %0011111111110000 s(14, 7) = %0000000000000000 s(15, 0) = %0011111111110000 s(15, 1) = %1111000000111100 s(15, 2) = %1111000000111100 s(15, 3) = %0011111111110000 s(15, 4) = %0000000000111100 s(15, 5) = %0000000000111100 s(15, 6) = %0011111111110000 s(15, 7) = %0000000000000000 s(16, 0) = %0000101010000000 s(16, 1) = %0010101010101000 s(16, 2) = %0011111101111100 s(16, 3) = %0000111111110000 s(16, 4) = %0000101010101011 s(16, 5) = %0011101010100010 s(16, 6) = %0000010101010110 s(16, 7) = %0000101000000000 s(17, 0) = %0000101010000000 s(17, 1) = %0010101010101000 s(17, 2) = %0011111101111100 s(17, 3) = %0000111111110000 s(17, 4) = %0000101010100000 s(17, 5) = %0000101011100000 s(17, 6) = %0000010101000000 s(17, 7) = %0000001010000000 s(18, 0) = %0000001010100000 s(18, 1) = %0010101010101000 s(18, 2) = %0011110111111100 s(18, 3) = %0000111111110000 s(18, 4) = %1110101010100000 s(18, 5) = %1000101010100000 s(18, 6) = %1001010101010000 s(18, 7) = %0000000010100000 s(19, 0) = %0000001010100000 s(19, 1) = %0010101010101000 s(19, 2) = %0011110111111100 s(19, 3) = %0000111111110000 s(19, 4) = %0000101010100000 s(19, 5) = %0000101110100000 s(19, 6) = %0000000101010000 s(19, 7) = %0000001010000000 s(20, 0) = %0000000101010000 s(20, 1) = %0001111111100100 s(20, 2) = %0011101010101000 s(20, 3) = %0111101111011101 s(20, 4) = %0111101110011101 s(20, 5) = %0111100101111000 s(20, 6) = %0001101111100100 s(20, 7) = %0000000101000000 s(21, 0) = %0000000000000000 s(21, 1) = %0000011111010000 s(21, 2) = %0000111010110000 s(21, 3) = %0000111111110000 s(21, 4) = %0000111110110000 s(21, 5) = %0000110101110000 s(21, 6) = %0000011111010000 s(21, 7) = %0000000101000000 s(22, 0) = %0000000000000000 s(22, 1) = %0000001010000000 s(22, 2) = %0000001111000000 s(22, 3) = %0000001111000000 s(22, 4) = %0000001111000000 s(22, 5) = %0000001111000000 s(22, 6) = %0000001010000000 s(22, 7) = %0000000000000000 s(23, 0) = %0000000000000000 s(23, 1) = %0000011111010000 s(23, 2) = %0000111010110000 s(23, 3) = %0000111010110000 s(23, 4) = %0000111010110000 s(23, 5) = %0000111001110000 s(23, 6) = %0000011111010000 s(23, 7) = %0000000101000000 s(24, 0) = %1010101010101010 s(24, 1) = %1000101111100010 s(24, 2) = %1010111010111010 s(24, 3) = %1010101010111010 s(24, 4) = %1010101111101010 s(24, 5) = %1010101010101010 s(24, 6) = %1000101111100010 s(24, 7) = %1010101010101010 s(25, 0) = %1010101010101010 s(25, 1) = %1000101010100010 s(25, 2) = %1010101010101010 s(25, 3) = %1010101010101010 s(25, 4) = %1010101010101010 s(25, 5) = %1010101010101010 s(25, 6) = %1000101010100010 s(25, 7) = %1010101010101010 s(26, 0) = %0111111110101001 s(26, 1) = %0111101010101001 s(26, 2) = %0111101010101001 s(26, 3) = %0111101010101001 s(26, 4) = %0001111010100100 s(26, 5) = %0001111010100100 s(26, 6) = %0001111010100100 s(26, 7) = %0001111010100100 s(27, 0) = %0001111010100100 s(27, 1) = %0001111010100100 s(27, 2) = %0001111010100100 s(27, 3) = %0001111010100100 s(27, 4) = %0001111010100100 s(27, 5) = %0001111010100100 s(27, 6) = %0001111010100100 s(27, 7) = %0001111010100100 s(28, 0) = %0001111010100100 s(28, 1) = %0001111010100100 s(28, 2) = %0001111010100100 s(28, 3) = %0111101010101001 s(28, 4) = %0111101010101001 s(28, 5) = %0111101010101001 s(28, 6) = %0111101010101001 s(28, 7) = %0001111010100100 s(29, 0) = %0001111010100100 s(29, 1) = %0001111010100100 s(29, 2) = %0001111010100100 s(29, 3) = %0001111010100100 s(29, 4) = %0011110101010100 s(29, 5) = %0111101010101001 s(29, 6) = %0111101010101001 s(29, 7) = %0111101001010101 S(30, 0) = %0011111011110000 S(30, 1) = %1101010101011100 S(30, 2) = %1101010100011100 S(30, 3) = %1001010001011000 S(30, 4) = %1101010001011100 S(30, 5) = %1101010001011100 S(30, 6) = %0011111011110000 S(30, 7) = %0000000000000000 S(31, 0) = %0000000000000000 S(31, 1) = %0011000000110000 S(31, 2) = %0000110111000000 S(31, 3) = %0000011101000000 S(31, 4) = %0000110111000000 S(31, 5) = %0011000000110000 S(31, 6) = %0000000000000000 S(31, 7) = %0000000000000000 S(30, 0) = %0000000000000000 S(30, 1) = %0000000000000000 S(30, 2) = %0010110000000000 S(30, 3) = %1011011011101000 S(30, 4) = %1000101111111010 S(30, 5) = %0000101010101001 S(30, 6) = %0000010101010100 S(30, 7) = %0011000100010011 S(31, 0) = %0000000000000000 S(31, 1) = %0000000000000000 S(31, 2) = %0010110000000000 S(31, 3) = %1011011011101000 S(31, 4) = %1000101111111010 S(31, 5) = %0000101010101001 S(31, 6) = %0000010101010100 S(31, 7) = %0000110000001100 For spp = 0 To 3 For spi = 0 To 63 i = spp << 6 | spi sp(i) = CreateSprite(#PB_Any, 8, 8, #PB_Sprite_AlphaBlending) If 1 StartDrawing(SpriteOutput(sp(i) ) ) DrawingMode(#PB_2DDrawing_AllChannels) For y = 0 To 7 For x = 0 To 7 c = p(spp, (s(spi, y) >> (2 * x) ) & 3) Box(y, x, 1, 1, c) Next Next StopDrawing() EndIf xA = 0 yA = 0 xB = sw / 32 yB = sh / 16 TransformSprite(sp(i), xB, yA, xB, yB, xA, yB, xA, yA) Next Next Procedure prnb(x, y, n, ln, pal) ; (pr)int (n)um(b)er (prnb) a$ = Right(ReplaceString(Space(ln), " ", "0") + Str(Abs(n) ), ln) For i = 1 To Len(a$) a = Asc(Mid(a$, i, 1) ) - '0' + 6 + pal << 6 c(x + i - 1, y) = a Next EndProcedure Procedure backMode1() For x = 0 To 31 For y = 0 To 15 c(x, y) = 0 Next c(x, 1) = 1 If Abs(x - 16) > 4 c(x, 4) = 1 EndIf c(1, 2) = 5 + 128 ; green pipes c(1, 3) = 5 + 128 c(1, 7) = 5 + 128 c(1, 11) = 5 + 128 c(0, 14) = 5 + 128 c(31, 2) = 2 + 128 c(31, 3) = 2 + 128 c(31, 7) = 2 + 128 c(31, 11) = 2 + 128 c(31, 14) = 2 + 128 If Abs(x - 16) > 6 c(x, 8) = 1 EndIf If Abs(x - 16) > 3 c(x, 12) = 1 Else c(x, 7) = 129 - 64 EndIf c(x, 15) = 1 Next c(0, 0) = 81 c(1, 0) = 95 prnb(5, 0, 00, 2, 3) c(0, 1) = 154 - 128 For y = 2 To 11 c(0, y) = 155 - 128 Next c(0, 12) = 157 - 128 EndProcedure torSpeedX = 1 marX = 0 marY = 670 period = 1000 / 30 Repeat Repeat clock = ElapsedMilliseconds() Delay(period - 1) Until clock > alarm alarm = clock + period ExamineKeyboard() ClearScreen(0) If keyb(#PB_Key_Tab) Or trial trial = 0 mode + 1 mode & 1 If mode = 1 backMode1() EndIf EndIf If mode = 1 ; anims prnb(1, 0, life, 2, 1) coinCycle + 1 coinCycle & 3 If coinCycle = 0 coin + 1 coin & 3 c(4, 0) = 212 + coin EndIf If clock > timeAlarm timeAlarm + 1000 countDown - 1 prnb(8, 0, countDown, 3, 2) EndIf hour = Val(FormatDate("%HH", Date() ) ) minu = Val(FormatDate("%ii", Date() ) ) prnb(12, 0, hour, 2, 0) prnb(14, 0, minu, 2, 0) prnb(17, 0, marY, 3, 2) prnb(24, 0, score, 8, 0) EndIf If Keyb(#PB_Key_F12) Blur ! 1 EndIf SpriteQuality(Blur) For ty = 0 To 15 For tx = 0 To 31 If mode = 0 c(tx, ty) = tx & $F | ty << 4 EndIf DisplayTransparentSprite(sp(c(tx, ty) ), tx * xB, ty * yB) Next Next If mode = 1 DisplaySprite(sp(156 - 128), 0, (y + 8) * yB / 8) If vy < 4 vy + 1 EndIf y + vy If y > 88 y = 0 vy = 0 life - 1 EndIf torY = 24 torY = 14*8 torTime ! 1 torX - torSpeedX If torX < 0 torX = sw * 8 / xB EndIf jmpX = 0 - 1 - Sin(clock * clock) jmpY = 0 - 1 - Cos(clock * clock) DisplayTransparentSprite(sp(30 + torTime + 128), (torX) * xB / 8, (torY) * yB / 8) If marVX < 0 marFlow = 2 Else If marVX > 0 marFlow = 0 EndIf EndIf DisplayTransparentSprite(sp(16 + marTime + 64 + marFlow), marX, marY) marMoving = 1 If KeyboardPushed(#PB_Key_Right) If marVX < 24 marVX + 1 EndIf Else If marVX > 0 marVX - 1 EndIf If KeyboardPushed(#PB_Key_Left) If marVX > 0 - 24 marVX - 1 EndIf Else marMoving = 0 If marVX < 0 marVX + 1 EndIf EndIf EndIf If marY < 670 marVY - 4 EndIf If marY > 670 marY = 670 marVY = 0 EndIf marY - marVY If KeyboardPushed(#PB_Key_Up) marVY = 16 EndIf If marVX marTime ! marMoving marX + marVX If marX > DesktopWidth(0) marX - DesktopWidth(0) Else If marX < 0 marX + DesktopWidth(0) EndIf EndIf EndIf EndIf FlipBuffers() Until KeyboardPushed(#PB_Key_Escape) Or keyb(#PB_Key_Tab)
Re: Please fix this annoyingly slow forum
This picture is leaving out the elephants and the turtle.
Good morning, that's a nice tnetennba!
PureBasic 6.30/Windows 11 x64/Ryzen 7900X/32GB RAM/3TB SSD
Synology DS1821+/2*DX517, 164TB+82TB+28TB+2TB SSD
Raspi 400/500
PureBasic 6.30/Windows 11 x64/Ryzen 7900X/32GB RAM/3TB SSD
Synology DS1821+/2*DX517, 164TB+82TB+28TB+2TB SSD
Raspi 400/500
-
threedslider
- Enthusiast

- Posts: 616
- Joined: Sat Feb 12, 2022 7:15 pm
- NicTheQuick
- Addict

- Posts: 1585
- Joined: Sun Jun 22, 2003 7:43 pm
- Location: Germany, Saarbrücken
- Contact:
Re: Please fix this annoyingly slow forum
Yes, please. Stop posting unrelated codes, memes or other pictures that don't have anything to do with this topic or the thread really gets closed. Create your own topic for that stuff. Thank you!
The english grammar is freeware, you can use it freely - But it's not Open Source, i.e. you can not change it or publish it in altered way.
Re: Please fix this annoyingly slow forum
Well. Technically
Step 1 : a current ad system provided by Google Ad
Step 2 : this ad system has, as usually, been infested by a fake news ad (link already reported above)
Step 3 : since any month, authorities published they will answer by the same infesting technics to stop the fakes
Good luck with Google Ad...
Step 1 : a current ad system provided by Google Ad
Step 2 : this ad system has, as usually, been infested by a fake news ad (link already reported above)
Step 3 : since any month, authorities published they will answer by the same infesting technics to stop the fakes
Good luck with Google Ad...


