Creeper MediaCreeper

Drivs av SIG-gruppen

FBnickLoader – Postnedladdare

 

x

Historia

Programmet utvecklades i början av 2013 för att lättare kunna läsa igenom användarnas (alias) poster på Flashback. Orsaken till att läsa igenom posterna är för att snabbare kunna identifiera de som postar anonymt. Söka och läsa poster på Flashback är väldigt svårt, dessutom kan man bara söka fram 1000 senaste posterna. När man söker efter identiteter är det de första (äldsta) posterna som är viktigast (”Hej, detta är min första post. Jag heter Abel och bor i …. osv).
Från början laddade vi bara ner själva texterna i inläggen som gjordes till pdf-dokument. Men det var svårt att följa en diskussion för en person på det viset, bla kunde man inte se var ett citat började och slutade. Vi utvecklade på våren 2013 programmet till att också ladda ner taggar i html-format och läsa inläggen i samma format. I början lades alla inlägg för en postare i en enda lång lodrät rad vilket blev tungt att ladda in. Vi ändrade programmet sensommaren 2013 så att alla poster konverteras till var sin egen html-fil. I början av 2014 lät vi också programmet rensa bort onödiga taggar och lade in egna sådana som mer passade det nya formatet.
Från början laddade programmet ner alla poster formaterade i ett enda långt svep utan hänsyn till borttagna poster, inloggningskrav mm. Vi fick alltså ner allt sådant också:

När en post saknas ser det ut så här.

Programmet fortsatte att ladda ner poster när dessa inte längre fanns, alltså när vi gått förbi slutet på alla poster. Sommaren 2014 utvecklade vi programmet ytterligare för att det själv skulle känna av när det låg något annat där en post borde ligga och hoppa över det. När programmet nått slutet på alla poster skall det stanna där och vänta på att nya inlägg postas och ladda ner det. När vi var klara kunde programmet sköta sig själv och gick sedan i ungefär 3 år utan att stängas av.

Efter att vi beslutat ge bort programmet till alla som vill ha ett exemplar utvecklades det vidare våren 2017 till att också skapa sina egna filer så att användare av programmet slipper allt sådant. Vi införde också en backup-funktion som i realtid backup:ar originalet till en annan hårddisk och en väntslinga som väntar på att det skall komma in nya poster.

Så här fungerar det

När du skriver ett inlägg på Flashback och postar det skapas först en fristående post med ett nummer. Posten väntar sedan på sin tur att få visas i en tråd. En timer startar samtidigt som du väljer att skriva ett inlägg och ser till att du inte postar i för snabb följd. Det är en säkerhetsåtgärd för att ingen programvara på kort tid skall kunna fylla Flashback med miljontals poster. Vi har testat så vi vet. Vårt program läser dock av posten direkt efter användaren tryckt på knappen ”Skicka svar” och genomför nedanstående punkter innan tiden i timern löpt ut. Det betyder att samma post, omformaterad, ligger på vår hårddisk långt innan någon ser posten i tråden den postats i. Ingen moderator hinner alltså att radera posten innan vi har den:

Vi tar tiden, 00:00:00.00 sek, klistrar in en text och klickar direkt på den gröna knappen…

…tiden visar 00:00:02.09 sekunder…

 


…00:00:05.08 sekunder senare. Det tog 2,09 sekunder att öppna och posta ett inlägg men det tog ytterligare ca 3 sekunder innan det dök upp i tråden.

Alias här ovan är en av våra som lurar Flashback genom att spela rasist. Vi har använt den bla till att automatposta ”några gånger”.

Programmet laddar sedan in posten i en indexerad del av minnet från Flashback. Programflödet strömmar igenom indexeringen och läser tecken för tecken och jämför med ett antal matriser. När det lästa stämmer med matrisen går flödet in i en loop och exempelvis byter ut länken för avataren till platsen man laddar ner avataren till. Andra matriser pekar på loopar som helt tar bort kodstycken som adresser till olika scripts och liknande. Totalt finns det 36 matriser och lika många loopar som programflödet skall gå igenom och ändra det som loopen anger. För att lösa uppgiften går flödet runt ca 150.000 gånger som mest för att läsa av tecken för tecken. Det tar programmet ca 0,05 sekunder att göra allt detta. Därefter används alias-matrisen för att leta fram texten för postarens alias. När namnet för alias hittats läses första tecknet. Om första tecknet är en vanlig bokstav skapas en mapp med denna bokstav som namn och alltid med stor bokstav. Om det inte är en bokstav skapas en mapp med ett ”+” som mapp-namn. Under Flashbacks första tid behövde man inte ange något alias alls. De postarna fick namnet ”n/a” likaså finns det postare som angett tecken utanför de 255 tidigare godkända tecknen som exempelvis kinesiska tecken. För dem skapas mappen ”@”. Om dessa mappar redan finns hoppar programflödet över den funktionen.

Så här ser resultatet ut:

Varje alias får en egen mapp att husera i. Här är det bara att plocka det tidigare hittade alias för att namnge och skapa mappar efter det. Om mappen redan finns hoppar flödet över den algoritmen.

Så här ser resultatet ut:

Till detta kommer de fel som kan uppstå. Det är viktigt att programmet kan sköta sig själv år efter år utan att man behöver starta om eller liknande. Om det blir strömavbrott måste man dock starta programmet på nytt. Man behöver i sådana fall inte leta upp var programmet befann sig, platsen sparas kontinuerligt i realtid. De fel som programmet kan hantera är följande:

Vart och ett av dessa fel har en egen algoritm på mellan 100 och 300 rader kod.
Det besvärligaste felet för programmet är ”Nät- eller Flashbackfel” när Flashback har gått ner eller om det är det egna nätverket som inte fungerar. Programmet kan då inte läsa in något för det finns inget att läsa in. Algoritmen för att läsa in uppgifterna kan ibland ta god tid på sig, då går det inte att kontakta programmet. Det är bara till att vänta ut tiden tills meddelandet här nedan dyker upp:

Så fort anslutningen är igång igen fortsätter programmet som om inget hänt.

Väljer man att ladda ner avatarer laddas de först ner till alias-mappen och kopieras därifrån till en speciell avatar-mapp. När alla avatarer är nedladdade är det i skrivande stund strax under 300.000 avatarer i den mappen. Det är gjort så för att vi har ytterligare program som läser av avatarernas EXIF-text, dvs text som ligger inbäddad i bilderna. Vi har hittat ett hundratal alias identiteter den vägen. Vi kanske kommer att ge bort även det programmet men det är en annan historia. Vi har också program som bara laddar ner alla avatarer. 300.000 avatarer tar några timmar att ladda ner.

Programmet har två huvudinställningar:

  1. Mode 1: Ladda ner rakt av
  2. Mode 2: Ladda ner senaste poster med det valfria tillägget ”med väntslinga”

Mode 1 kör på hårt med att ladda ner posterna medan Mode 2 laddar ner och känner efter om posterna är slut genom att ladda in 100 poster fram. Hittar den inget går flödet tillbaka till där senaste posten var och under tiden programmet testat 100 fram brukar det komma in 20-30 nya poster som den laddar ner för att sedan testa 100 fram igen.  Programmet tar mycket bandbredd när det jobbar, speciellt när den nått slutet på alla Flashbacks poster. För att minska åtgången av bandbredd införde vi en väntslinga som räknar 900 poster framåt med en självreglerande for/loop-sats. Programmet mäter tiden det tar att undersöka om det finns fler poster och låter slingan gå i ungefär samma fart. Dvs om programmet klarar 3 tomma inlägg i sekunden kommer slingan också ta samma tid på sig att räkna fram var och ett av 900 simulerade posterna. Tyvärr kan inte posterna laddas ner innan någon ser dem när väntslingan körs. Det är ett nödvändigt avkall för att hålla nere åtgången av bandbredd för de som använder 4G.
Det räcker inte med att ladda ner alla poster efter hand som de dyker upp. Om man gjorde så skulle alla poster man laddat ner få datum ”Idag”.

Hur löser vi detta problem? Efter att vi grubblat lite kom vi fram till den enda möjliga lösningen: Vi laddar ner 3 dagar efter posten postades! Två dagar går inte för då står det ”Igår” på dem. Det måste alltså vara minst tre dagar tillbaka i tiden. Det var bara till att knalla tillbaka till programmeringsdatorn och börja riva sig i håret. Resultatet som var färdigt redan sommaren 2014 gick ut på att efter 100 nedladdade poster hoppa tillbaka 50.000 poster och ladda ner 100 poster därifrån och framåt. De nedladdade posterna skriver över de tidigare nedladdade posterna och får då ett datum istället för ”Idag”.

Hur kan vi ladda ner borttagna poster

Det talas mycket om hur vi kan ladda ner poster som tagits bort av moderatorer, vi får en hel del frågor om det bla påstår en del av dem att vi hackat Flashback för att kunna ladda ner de borttagna posterna.
Tyvärr ligger det ingen hemlighet alls bakom den finessen. Det handlar bara om enkel algoritm och att kunna tänka utanför foliehatten. Det är faktiskt programmet vi beskriver här som gör den halsbrytande manövern att ladda ner borttagna poster. Så här går det till, håll i foliehatten nu:

  • Alla poster detta program laddar ner laddas ner strax efter det postats och får då i stället för ett datum texten ”Idag” där datumet skall stå. För att råda bot på det vänder vi oss 50.000 poster tillbaka och laddar ner de 3 dagarna gamla poster som vid den tiden istället fått ett datum. Så långt var det enkelt men nu kommer saltomortalen:
  • Alla poster som tagits bort har också laddats ner innan de togs bort men de kommer inte att få ett datum eftersom posten med datum inte finns, det är ju borttaget, alltså kommer posten vi laddat ner tidigare fortfarande att ha datumet ”Idag” stämplat på sig.
  • Alltså räcker det med att leta upp alla mer än tre dagar gamla poster som det står ”Idag” på. Det är de borttagna posterna. Svårare än så var det inte….

Vi lurade dock Flashback genom att påstå att vi laddade ner dem ur deras cache. Det är en virtuellt sparad spegel av posten på en minnesplats. Det finns inte någon sådan minnesplats på Flashback men vi fick dem att riva sig i håret en stund. Här är en typisk borttagen post plockad på måfå och några månader gammal men ändå står det ”Idag” som datum, på Flashback finns den inte men vi har den:

Flashback tålde alltså inte kommentaren att det försvinner inlägg men trakasserier, hat, förtal och mycket annat värre är tydligen inga problem.

Installation

Vid installation av programmet installerar det sig själv och skapar alla filer som behövs. Den skapar till och med css-filen och smileys:arna själv.

Statistik

Mer än så här kan vi tyvärr inte avslöja. Mer kommer i manualen här nedan men innan det kan vi nämna lite statistik för programmet:

Kodspråket är: C
Antal kodrader i mainkoden: 3.362 eller lite mer än 40.000 tecken.
Antal kodrader total: Mer än 30.000 statiskt- eller ca 10.000 dynamiskt räknat.
Koden är på: 132 Kb utan Cover-funktionerna och ca 300 Kb med Cover-funktioner.
Tid: Det tar ca 1 sekund att kompilera koden till ett program.
Storlek färdigt program: 252 Kb
Storlek under drift: ca 3,5 Mb varav merparten är tilldelat minne för att klara arbetsuppgiften.

Minneshantering

För att säkra minneshanteringen tilldelas programmet det minne som behövs vid programstart för att utföra uppgiften under flera år utan att stängas av. Programmet lämnar under den tiden inte tillbaka minnet utan det sköts om med tömning och tilldelningar inom programmet självt. Programmet har också en funktion mot minnesläckor för att säkra lång tids drift.

 


Manual


Installation

  1. Ladda ner filen FBnickloader.zip
  2. Packa upp filen
  3. Flytta FBnickLoader.exe till utvald mapp eller hårddisk.
    Det är absolut att föredra en placering i en tom hårddisks root (se Hårddisk för mer om detta)
  4. Högerklicka på FBnickLoader.exe och, i menyn som öppnades, välj ”Kör som administratör”
  5. Alla filer skapas och FBnickLoader.exe öppnas
    Om FBnickLoader.exe inte öppnas välj punkt  4 igen

Hårddisk
Det är absolut att föredra en placering i en tom hårddisks root. Rooten  är det första man kommer till när hårddisken öppnats. Hårddisken bör vara mer än 500Gb, helst 1Tb . Hårddisken bör vara ny och av god kvalité helst skall man välja en SSD-disk. Hårddisken kan inte användas till annat samtidigt som det laddas ner, det saktar ner nedladdningen ordentligt.
Detta program kräver extremt mycket av hårddisken. Med mer än 60 miljoner poster att ladda ner kan det bli upp mot ett par hundra miljoner start-skriva-stopp aktiviteter för hårddisken. Dessa aktiviteter kan vara så nära varandra i tiden (upp till 10 ggr i sekunden) att hårddisken i princip aldrig står stilla. Vid våra tester har vi slitit ut 4 hårddiskar på kort tid. Våra egna ordinarie nedladdningar har drabbats av ett hårddiskhaveri. Det var från början en ny hårddisk som inte ville vara med efter 7 månader och mer än 60 miljoner nedladdade poster med avatarer. Hårddisken den gången var av okänt märke och billig.
Alltså, välj två nya hårddiskar av god kvalitet, en för nedladdningarna och en för kopian!

USB
Vi själva föredrar att ladda ner direkt till en USB-disk och kopiera till en annan USB-disk. Det kan i vissa fall gå lite långsammare men oftast är USB snabbare än nedladdningshastigheten, USB 3 är definitivt snabbare än nedladdningshastigheten. Välj i sådana fall en USB-hårddisk av erkänt god kvalité formaterad i exFAT. Om du ställer i ordning en egen USB-hårddisk skall den helst formateras i exFAT.
Det vanligaste formaterade formatet för Windows-hårddiskar är NTFS. Detta format innehåller bland annat kontroll av hårddiskens ”ägare”. Om du använder en sådan hårddisk i en dator och flyttar den till en annan dator (med ex.vis USB) är det inte helt säkert att den går att öppna därför att NTFS innehåller information om den förra ägaren och ser att det är en ny ägare när den flyttas till annan dator. Ägaren i en dator är det konto du använder i datorn. Om du skapar ett konto med identiskt namn i den andra datorn är det inte alls säker att NTFS ser det som samma ägare. Av denna anledning skapade Microsoft exFAT, det vill säga en utökning av det tidigare FAT-formatet för att klara 64bit som innebär i stort sett obegränsat med filer och mappar på hårddisken och det är ju viktigt för detta program. exFAT (och FAT) har ingen funktion för kontroll av ägare så en sådan hårddisk kan flyttas mellan vilken Windowsdator som helst och öppnas av vilket konto som helst. Det är av viss vikt att kunna flytta hårddisken eftersom de flesta inte kan låta sin ordinarie dator stå och ladda ner poster från Flashback år efter år utan att stängas av. Det är helt enkelt smidigare att använda en separat dator för detta ändamål, gärna en lite bärbar dator, och sedan flytta hårdisken till ordinarie dator om man vill titta på någons poster. Vi kopierar hela mappen först och flyttar tillbaka hårddisken för nedladdning igen, vi vill ju inte missa några ”goa” borttagningar.

Backup
FBnickloader har en funktion för att kopiera nedladdningarna i realtid. Vi införde den funktionen därför att göra en backup av en hårddisk med alla Flashbacks poster inte enkelt låter sig göras. En vanlig kopia rakt av kan ta ett par dygn att kopiera. Man kan INTE använda Windows ”dra och släpp”, den ger upp efter någon dag. Vi har testat en del fria backup-program men det blir aldrig bra och tar mycket lång tid att göra en kopia. Det bästa resultatet får vi med Windows CMD-program ”ROBOCOPY” men också det tar lång tid på sig och kräver mycket av hårddisken. ROBOCOPY går att ställa in så att den bara kopierar skillnaden mellan två hårddiskar, dvs den kopierar bara det som är nytt. Men var beredd på att det tar några timmar att bara kontrollera och jämföra filerna innan själva kopieringen börjar. Vi har dessutom upptäckt att ROBOCOPY kan stänga av sig utan förvarning när den tröttnat vilket kan ske efter något dygn, ibland. Vi upplever alltså ingen kopieringsmöjlighet som säker och till det kommer ett annat problem:

När du tar en backup på vanligt vis kan du inte ladda ner något. Alltså under ett par dygn måste du vänta med att ladda ner poster. Med vår egen backup-funktion behöver du aldrig oroa dig för att det inte tas en backup eller att du måste stänga av nedladdningen ett par dagar varje gång en backup skall göras. Du har dessutom alltid två hårddiskar med samma poster nedladdade hela tiden i realtid. Läs mer om backup-funktionen här nedan.

 

Funktioner

x

x

x

1-  
Laddar ner alla poster i en rak följd utan att stanna.
Laddar ner poster ungefär dubbelt så snabbt som Mode 2 eftersom den inte går tillbaka och laddar ner äldre poster vid varje 100 nedladdade nyare poster.

Valet används om väldigt många poster skall laddas ner före datumet ”Idag” eller ”Igår”.

 

 

2-  
Laddar ner 100 poster åt gången.
Laddar ner 100 nya poster hoppar tillbaka det antal poster som står under ”Gå tillbaka” (förinställt 50000 som är 3-4 dagar) och laddar ner 100 poster därifrån och fram för att gå tillbaka och ladda ner 100 nya poster igen. När det inte längre finns några nya poster letar den efter dessa 100 nummer fram för att börja från början om inget
hittas.
Valet används endast för nya poster, dvs när man nått fram till datumet ”Idag” eller ”Igår”.
Det går inte att stoppa programmet under de 100 poster som skall laddas ner ”Tillbaka”.

 

 

3-  
Laddar ner med väntslinga.
Om nedladdningen kommit så långt fram att det inte längre finns något att ladda ner testar programmet först att ladda ner 100 poster fram. Om det inte finns några poster att ladda ner startar väntslingan.
Väntslingan räknar 900 simulerade poster fram, tar mellan 3 och 5 minuter. Därefter går den tillbaka och försöker ladda ner 100 till.
Fungerar bara i Mode 2.

 

 

4-  
Laddar ner avatarer samtidigt som dessas poster.
Avatarerna laddas ner till samma mappar som posterna och kopieras sedan därifrån till en gemensam avatarmapp. Vi har program som kan läsa avatarerna EXIF-text därför behövs också en särskild mapp för avatarer.

 

 

5-  
Kopierar det nedladdade också till annan plats.
Man klickar på knappen med pilen så öppnas en filhanterare

Välj platsen dit det skall kopieras till och klicka på ”OK”. Om man inte vill välja eller vill ta bort tidigare val, klicka på ”Avbryt”.
Hårddiskvalet är viktigt, det bör vara en ny hårddisk av god kvalité på minst 500 Gb men helst 1 Tb. Man bör inte använda hårddisken till något annat än till att kopiera poster till.
Om hårddisken skulle fallera eller kopplas från reagerar mestadels inte programmet på det. Under vissa omständigheter, speciellt om det blir fel på hårddisken, kan programmet dock sluta fungera och en omstart krävs.

 

 

6-  
Under rubriken ”Start-post” skrivs post-numret in varifrån man väljer att starta. Oftast startar man från nummer 1. Post-numret ändras efter hand som poster laddas ner till det aktuella post-numret. Stänger man programmet och öppnar det igen vid något tillfälle kommer den senaste start-posten att ligga i inmatningsrutan.
Under rubriken ”Stopp-post” skriver man in det post-nummer som det skall laddas ner till. Om man avser ladda ner alla Flashbacks poster sätter man ett post-nummer här som överskrider summan av alla poster på Flashback. Stopp-postnumret ändras inte under körning. Stänger man programmet och öppnar det igen vid något tillfälle kommer den senaste Stopp-posten att ligga i inmatningsrutan.
Knappen ”Kör” startar nedladdningen.

 

 

7-  
Ladda ner en bit tillbaka.
I Mode 2 när man laddar ner nyligen postade poster får de datumet ”Idag” eller ”Igår”. För att få riktiga datum på dem måste man ladda ner minst 3 dagar efter det postats. I Mode 2 laddas 100 poster i framkant efter 100 poster hoppar programmet tillbaka det antal poster som matats in under rubriken ”Gå tillbaka” (förinställt 50000, är ca 3-4 dagar) och laddar ner 100 poster också där. När de 100 posterna laddats ner återgår den till att ladda ner i framkant.
När det pågår nedladdning ”Tillbaka” kommer en röd rektangel att ligga runt rutan ”Gå tillbaka”:

 

 

8-  
Statusfönstret ”Alias”

Under ”Alias” visas det alias som precis laddas ner. Om avatar valts kommer det att visas en röd rektangel runt rutan exakt när avataren för det alias laddas ner:

I detta fönster kommer också diverse meddelande visas när det inte går att ladda ner. I denna version kan dessa meddelanden visas:
*** Server överbelastad *** = Egentligen om man laddar ner snabbare än den tid Flashback ställt in för högsta hastighet.
*** Post saknas *** = Om det inte finns en post på det postnummer som skall laddas ner.
*** Inloggningskrav *** = En del trådar kräver inloggning för att läsa. Programmet kn i denna version inte vara inloggad.
*** Internt fel *** = Okänt fel i programmet eller i datorn där programmet körs.
*** Time out *** = Om det är hög trafik och programmet väntar på sin tur kan tiden för tillåten väntan gå ut.
*** Bad gateway *** = Mottog ett ogiltigt svar från uppströms-servern.
*** Nät- eller Flashbackfel ** = Något fel på nätet från datorn och till Flashback eller Flashback är nere.

OBS
När Flashback är nere eller nätet är nere kan felet börja med att det står ”(Svarar inte)” uppe i huvudlisten. Det är bara att vänta ett tag. ibland några minuter,  så kommer snart ”*** Nät- eller Flashbackfel **” fram.

 

 

9-  
Driftmode eller vad pågår.

Driftmode är en ruta som berättar vad som pågår just nu och var man befinner sig i arbetet. Dessa meddelanden finns:
”Laddar ner!”
”Laddar ner 100 poster framifrån =      xx”
”Laddar ner 100 poster bakifrån =       xx”
”Söker 100 poster fram=        xx”
”Väntslingan simulerar 900 poster=    xxx”
”503-fel, laddar ner för fort!”
”Programmet är inte inloggad!”
”Processen avbruten manuellt!”
”Felorsak 2”
”Felorsak 3”
”Gateway Time-out”
”Bad Gateway”
”Nätverk eller Flashback är nere!”

 

 

10-  
Nedladdningsmätaren antal poster i sekunden.
En visuell mätare som visar nedladdningshastigheten i realtid. Bilden här ovan visar ca 5 poster i sekunden. En liten räkneövning visar att 61 milj poster tar med den farten 141 dagar att ladda ner alla Flashbacks tillgängliga poster eller ca 4,7 månader dygnet runt. Det är alltså ingen småsak att ladda ner allt det. Flashback själv har 32 servrar för att klara forumet.

 

 

11-  
Tid per post i sekunder.
Denna namnlösa ruta meddelar i realtid hur lång tid posten tog att gå in på Flashback, ladda ner, läsa av och jämföra med 36 matriser, formatera om till vårt format, spara och kopiera. I detta fall tog det 0,223 sekunder.

 

 

12-  
Stopp och Stäng.
Det kan tyckas enkelt att stänga ett program. När man laddar ner och spara på hårddiskar kan man inte stänga av hur som helst. Programmet måste göra klar sin session innan den kan stängas av därför MÅSTE programmet stängas i följande ordning (för säkerhets skull går det inte att göra i någon annan ordning):

  1. När ”Stopp”-knappen inte är gråad klickar man på den. Programmet avslutar pågående session och avgråar ”Stäng”-knappen när det är klart.
  2. När man klickat på ”Stäng”-knappen sparas all information om var man befinner sig och vilka rutor som är bockade, programmets grafik som lagras i minnet raderas, arbetsminnet lämnas tillbaka till Windows, programmet stänger meddelandeslingan och till slut stänger av sig själv.

EDIT:
Kopieringsfunktionen är inte helt testat ännu. I övrigt följer vi upp utvecklingen i kommentarsfältet.


VERISIONSHISTORIA

Senast högst upp

v1706280336
– Infört en kontroll att kopieringsdisken finns. Stannar programmet om kopieringsdisken disken kopplas från.

v1706240035
– Första publik-release


 

Vi ger bort detta program!
Här laddas programmet ner DOWNLOAD

 





Lämna dina kommentarer om programmet här nedan. Håll er till topic och använd en trevlig ton. Alla som inte följer detta raderas.
Vi kommenterar också programmets utveckling, fel mm i fetad stil.

9 Comments

Add a Comment
  1. Upptäckte att programmet kan sluta fungera efter en stund om kopieringshårddisken slutar fungera eller tas bort.

  2. En rutin är införd från v1706280336 som stoppar nedladdningen om kopieringshårddisken slutar fungera eller tas bort.

  3. Upptäckte att valet av väntslinga inte alltid startar när bockrutan är i bockad. Förmodligen händer det om man laddat ner ett tag, stoppar nedladdningen, bockar i bockrutan och kör igen. Om man efter att bockrutan är i bockad startar om programmet fungerar det.

    Rutinen för detta skall ändras snart så att det fungerar utan problem.

  4. Toppenprogram, jag har laddat ner några hundra tusen inlägg nu. Den stånkar på som vilken svarv som helst. Kanonbra!!!

    Bra att ni är öppna med problem som finns, det är sällsynt.

  5. Se på koden under ”//Lägg in avatarnamnet”. Det här är ett exempel på det jag skrivit till dig förut, ett mycket klumpigt och amatörmässigt sätt att programmera. Man vill ju ha så få rader kod som möjligt. Här har du kopierat och klistrat in ett helt kapitel med kod ser det ut som.

    Det här är vad du bör lära dig:

    https://www.tutorialspoint.com/cprogramming/c_for_loop.htm

    Skrolla ner till ”Example” så ser du tydligare vad jag menar.

  6. Postlådan
    2 juli, 2017 at 15:00 Edit
    Se på koden under ”//Lägg in avatarnamnet”. Det här är ett exempel på det jag skrivit till dig förut, ett mycket klumpigt och amatörmässigt sätt att programmera. Man vill ju ha så få rader kod som möjligt. Här har du kopierat och klistrat in ett helt kapitel med kod ser det ut som.
    Det här är vad du bör lära dig:
    https://www.tutorialspoint.com/cprogramming/c_for_loop.htm
    Skrolla ner till ”Example” så ser du tydligare vad jag menar.

    Vi har väl aldrig diskuterat kod förut och jag har aldrig visat dig mina koder tidigare? Däremot har jag har blockerat dig i ett par år från att kommentera.
    Jag har inte klistrat in något kapitel av kod! Det du ser är en mycket liten del av en enda for loop-sekvens.

    Jag har varit med länge inom programmeringsdiskussioner både på nätet och i verkligheten. Jag har också läst det mesta som finns att läsa.
    Det finns en mängd olika åsikter om vad som är rätt sätt att programmera. Jag var själv fast i en idé som jag vidhöll länge.
    På senare år måste jag erkänna att det egentligen inte finns något sätt att programmera på som är mer rätt än någon annan metod. Gränsen för vad som är ”rätt” bestäms av kompilatorn mm.

    Någon skrattar åt en viss kod men när det skall debuggas skrattar programmeraren, för det som åstadkoms med tydlig kod är också enkelhet i debuggandet och gör att man snabbt får fram produkter. Till detta kommer att man enkelt kan återvinna kod om man enkelt kan se vad den gör. Det går också mycket fortare att programmera om man gör det enkelt i stället för sevärt för innebörders beundran. Vad jag menar med enkelt och tydligt är att inte förkorta koden för mycket utan man låter koden själv visuellt visa vad den gör.
    Det man dock bör göra i C är att så långt det är möjligt undvika ”pekare” som i exemplet med avatarer här ovan vilket annars är helt nödvändigt. I exemplet med avatarer används indexering som är en form av färdiga pekare som alltid fungerar.

    Kom ihåg: Det finns inget rätt eller fel sätt att programmera, det finns bara bra eller dåliga program.

    Loopen du hänvisar till kör variabler i en loop. I fallet här ovan med avatarer körs strängar i en loop.
    Ser du något ”fel” i loopen du hänvisar till?

    /* for loop execution */
    for( a = 10; a < 20; a = a + 1 ){ printf("value of a: %d\n", a); }

    Fast det jag ser är egentligen inget fel. Kodaren i detta fall har valt att använda en för honom vald metod för han är förmodligen van vid det.
    Sär här räknar han upp en variabel med ett:

    a = a + 1

    Så här räknar jag upp en variabel med ett:

    a++

    Vilket är enklast?
    Vilket är smartast?
    Svar på båda frågorna: Du gör som du känner för, båda är helt rätt!

  7. Jag fattar inte va ni snackar om. detta program gör sitt jobb kanon. skit fan om det är gjort av makaroner och köttfärs så längs det gör sitt jobb å det gör det så är jag nöjd.

  8. Egon
    3 juli, 2017 at 00:02 Edit
    Jag fattar inte va ni snackar om. detta program gör sitt jobb kanon. skit fan om det är gjort av makaroner och köttfärs så längs det gör sitt jobb å det gör det så är jag nöjd.

    Jag håller definitivt med, bara det gör sitt jobb så spelar resten ingen större roll inom rimliga gränser.

    Kan dock säga att koden i programmet är både smart och snyggt uppsatt men ingen kan verifiera det eftersom ingen kommer att få se koden.

  9. ………………………………
    Vi har valt att ta bort en del kommentarer som inte handlar om programmet. Åsikter om hur kod skrivs får vi ta på annan plats i fortsättningen.
    /REDAKTIONEN

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *

Datorintresse © 2017