Inlägg

Inlägg som |:)-|-< har skrivit i forumet
Av |:)-|-<

Tack så mycket för era svar!

Av |:)-|-<
Skrivet av houze:

Och det är ju en jävla tur att man har 4 cpu-kärnor då webläsarna är så bra på trådning.... finns ju fortfarande inte en webläsare som kan utnyttja mer än en CPU-kärna för att rendera upp en websida eller exekvera ett script, är riktigt dåligt med tanke på att webläsare är förmodligen världens mest använda applikationstyp och flera cpu-kärnor har varit standard de senaste 6 åren och börjar även bli standard i mobiltelefoner.

Men det är väl knappast där flaskhalsen brukar sitta, utan snarare i nedladdningen?

Skrivet av qif:

Hur fan man överlåter något så privat som en webbläsare till google förstår jag mig inte på.
Nu när DLD gått igenom ser vår framtid inte särskilt ljus ut för folk som gillar sitt privatliv

Spela roll att Google läser och granskar allt man skriver när FRA, CIA, Mossad, kineserna mm gjort det sedan länge.

Av |:)-|-<

Skrev tenta i grundläggande Java, kritik någon?

Tjenare, imorse skrev jag en tenta i grundläggande Java på distans. Programmeringsuppgiften var följande och man fick 6h på att skicka in en lösning.

Citat:

Du ska skriva ett program som hjälper till med att träna multiplikationstabellen,
1:ans tabell till och med 12:ans tabell.
Tanken är att man ska kunna välja en multiplikationstabell att öva på.
Programmet slumpar fram ett tal (t.ex. 7x9) och användaren skriver in svaret och
får även veta om man svarat rätt eller fel.
Användaren ska fortsätta besvara tal tills man svarat rätt på alla tal i
multiplikationstabellen exakt 3 gånger. Alltså måste programmet kunna hålla reda
på hur många gånger ett visst tal besvarats korrekt. Har ett tal besvarats rätt tre
gånger ska detta tal inte kunna slumpas fram igen under pågående övning.
När man är klar med en multiplikationstabell så ska man få statistik på hur många
gånger man svarat fel på ett visst tal.
Tänkt scenario:
1. Användaren väljer 7:ans multiplikationstabell
2. Programmet slumpar fram 4x7
3. Användaren svarar rätt vilket innebär att 4x7 ska slumpas fram två gånger
till innan användaren är klar med tabellen
4. Programmet slumpar fram 9x7
5. Användaren svarar fel vilket innebär att 9x7 ska slumpas fram tre gånger
till innan användaren är klar med tabellen
6. När användaren svarat rätt tre gånger vardera på talen 1x7, 2x7, 3x7, 4x7,
5x7, 6x7, 7x7, 8x7, 9x7, 10x7, 11x7 och 12x7 eller om användaren
matar in en nolla (0) så är användaren klar med tabellen och kan välja att
öva på en ny tabell eller att avsluta programmet.
Använd metoder för att lösa uppgiften, i övrigt ska följande regler respekteras:
- Beskriv i klassbeskrivningen hur du tolkat uppgiften och eventuella
förenklingar/förändringar du gör i uppgiften.
- Metodbeskrivningar och kommentarer vid kluriga delar i koden är
mycket viktigt. Tänk också på att ha beskrivande namngivning på klasser,
metoder och variabler.
- Tentamen är individuell och även om du får ta hjälp av Internet för att
hämta idéer till möjliga lösningar så är det du som ska lösa uppgiften på
egen hand. Ange alltid källa om du hittar något på Internet som du
använder dig av.
- Inga globala variabler (variabler utanför metoderna) ska användas om
detta inte är väl motiverat och korrekt utfört (motiverar gör du i
kommentarer)

Så här blev min lösning

import java.util.Random; import javax.swing.*; public class Multiplikationstabell { // Av ******* (*****@student.gu.se) // Hur många gånger man får svara på samma fråga. Jag deklarerar konstanten // här så är den lätt att hitta static final int numberOfQuerys = 3; public static void main(String[] args) { // Jag brukar alltid samla alla meddelanden till användaren på ett // ställe så man lätt kan hitta dem String menuQuestion = "Vilken tabell vill du träna på?", menuHeader = "Multiplikationstabell", queryQuestion = "Hur mycket är ", badFormat = "Felaktigt format", messageQuestionsLeft = " frågor kvar att svara rätt på.", statisticHeader = "Statistik över dina svar", messageRight = "Rätt!", messageWrong = "Fel!", statisticTableHeader = "Fråga \t Antal felsvar"; // Lagrar vilken tabell man valt att träna på int tableToTrainOn; // statisticArray[] är en tabell över hur många gånger man besvarat en // fråga fel int[] statisticArray; while (true) { // Låter användaren välja tabell tableToTrainOn = askWhichTable(menuQuestion, menuHeader); // Låter användaren göra provet och sparar felstatistiken i en array statisticArray = Query(tableToTrainOn, queryQuestion, messageQuestionsLeft, badFormat, messageRight, messageWrong); // Visar felstatistiken showStatistics(statisticArray, statisticHeader, statisticTableHeader, tableToTrainOn); } } private static int[] Query(int tableToTrainOn, String question, String header, String badAnswer, String messageRight, String messageWrong) { // answerStatistics är en tabell över hur många gånger man besvarat // en fråga fel int[] answerStatistics = new int[11]; Random r = new Random(); /* * Jag antar att multiplikationstabellen går upp till 10*talet , även om * man i det här fallet kunde tänka sig att det går upp till 12*12. När * alreadyAnsweredCorrectly[int]=numberOfQuerys har man klarat tabellen * för int. */ int[] alreadyAnsweredCorrectly = new int[11]; int answer;// Användarinmatning int factor; // Totalt måste man svara rätt numberOfQuerys*10 gånger innan metoden // avbryts int correctAnswersLeftBeforeExit = numberOfQuerys * 10; // Denna sträng läggs till nästa fråga beroende på om man svarat rätt // eller fel String showRightOrWrong = ""; while (correctAnswersLeftBeforeExit > 1) { while (true) { factor = r.nextInt(10) + 1; if (alreadyAnsweredCorrectly[factor] < numberOfQuerys) { break; } } // Ställer en viss fråga till användaren med en viss rubrik och // lagrar svaret i en variabel answer = getAnswer(showRightOrWrong + question + " " + factor + " * " + tableToTrainOn + "?", correctAnswersLeftBeforeExit + header, badAnswer); if (answer == factor * tableToTrainOn) { // Användaren svarade rätt alreadyAnsweredCorrectly[factor]++; correctAnswersLeftBeforeExit--; // Nästa fråga ska börja med "Rätt!" showRightOrWrong = messageRight + "\n"; } else { // Användaren svarade fel answerStatistics[factor]++; // Nästa fråga ska börja med "Fel!" showRightOrWrong = messageWrong + "\n"; } } return answerStatistics; } private static int askWhichTable(String question, String header) { // Denna metod frågar vilken tabell man vill träna på // Skapar en meny med värden 1 till 12 Object[] menuTable = new Object[12]; for (int x = 1; x < 13; x++) { menuTable[x - 1] = x; } Object s = JOptionPane.showInputDialog(null, question, header, JOptionPane.QUESTION_MESSAGE, null, menuTable, null); if (s == null) { // Avslutar preogrammet om man klickar på Avbryt finish(); } return (Integer) s; } private static void finish() { // Metod för att avsluta programmet System.exit(0); } private static void showStatistics(int[] statisticArray, String header, String tableHeader, int tableToTrainOn) { // Visar statistik String output = tableHeader; for (int x = 1; x < 11; x++) { /* * Nedan försökte jag använda \t, men det fungerade inte hos mig * (Eclipse Indigo, Java 1.7, Lucid Lynx). JOptionPane skrev inte ut * det korrekt */ output = output + "\n" + x + " * " + tableToTrainOn + " " + statisticArray[x]; } JOptionPane.showMessageDialog(null, output, header, JOptionPane.INFORMATION_MESSAGE); } public static int getAnswer(String question, String header, String badFormat) { // Denna metod är samma som jag använde för att fråga efter klockslag i // inläningsuppgift 2, jag ändrade på den lite för att passa bättre i // detta sammanhang int i; while (true) { // Loopar tills tal matats in i rätt format. try { // Försöker läsa in ett svar String input = JOptionPane.showInputDialog(null, question, header, JOptionPane.QUESTION_MESSAGE); // Avslutar om användaren klickar på avbryt if (input == null) finish(); i = Integer.parseInt(input); // Hoppar ur loopen när ett tal i rätt format matats in. break; } catch (Throwable badInput) { // Ett värde i felaktigt format har matats in JOptionPane.showMessageDialog(null, badFormat); } } return i; } }

Tyckte att det gick bra med tanke på att jag alltid haft svårt att hantera tidspress. Men jag är som sagt nybörjare på Java, så jag undrar vad ni som är erfarna programmerare har för kritik? Har programmerat en del i BASIC tidigare och har svårt för det här med objektorinetering, dock ingår det inte i den här kursen.

Av |:)-|-<

Ni som säger att det är bra att hänga ut pedofiler, vad säger ni om detta: "13-årig tjej uthängd som sexförbrytare"?

Av |:)-|-<

Göra bokningar på en karta

Jag är lite småaktiv i en förening som genomför marknader ett par gånger om året. Totalt har lokalen utrymme för ca 40 st stånd.

Förra året var det ett par programmeringsstudenter som skrev ett bokningssystem åt oss i PHP som ett skolarbete. Själv är jag rätt ringrostig när det gäller programmering, men jag tänker att det kunde vara kul att försöka förbättra programmet lite. Hade sett snyggt ut med en karta över marknadsområdet med en kryssruta precis där varje stånd ska stå. Så gör man bara ett kryss på den plats man vill ha i samband med bokning, och upptagna platser syns direkt.

Någon som har några tips och ideer? Jag antar att jag bör göra kartan i SVG så att kryssrutorna hamnar på rätt plats oavsett skalning. Gissar att Adobe Illustrator har någon funktion där man kan positionera ut kryssrutor i bilder?

Av |:)-|-<

Webhotell med Tomcat och Postgresql, gärna SSL också.

Som rubriken lyder, jag letar efter ett webhotell med Tomcat och Postgresql, gärna SSL också. Efter att ha googlat runt har jag fått intrycket att space2u.com verkar vara det bästa budgetalternativet.

Elller ni kanske känner till något bättre ställe? Utanför Sverige eller inte spelar ingen roll för mig.

Av |:)-|-<

Länken till dina bilder fungerar tyvärr inte, den har bilvit avklippt.

Av |:)-|-<
Skrivet av Jyhan:

Visste inte att pressade skivor hade samma teknik. Men det måste gå grymt fort att tillverka en pressad skiva.

Finns en bra artikel om det på Wikipedia:
http://en.wikipedia.org/wiki/CD_manufacturing

Av |:)-|-<

Virtuellt XP på Linux- XP raderar nödvändiga filer för grafikkortet

Jag kör Ubuntu till vardags och XP i Virtualbox (sp2). Skulle gärna vilja få mitt grafikkort (Asus EAH5850) att funka där också. Vad jag läst så skall man starta Windows i felsäkert läge och installera Virtualbox Gästtilllägg, men det blixtrar förbi en ruta som jag inte hinner se. Installationsprogrammet svarar att installationen är klar och att jag skall svara nej om windows frågar om ändrade systemfiler skall återställas (den osynliga rutan gissar jag). När jag startar om datorn är gästtillägget för delade mappar installerat, men inte tillägget för grafiken.

Har testat med denna metod att ändra sfc-os.dll, men xp låter mig inte skriva över filen:
http://pubs.logicalexpressions.com/pub0009/lpmarticle.asp?id=...

Testade att sätta in hårddisken i en annan virtuell maskin och ändra sfc-os.dll, men när jag startar XP så ändrar den tillbaka filen igen.

Någon som har några ideer kring detta?

Av |:)-|-<
Skrivet av Airikr:

Ja, han ska väl inte lägga in alla IP-adresser i en tabell för att sedan säga vem som är ägaren, eller hur? Han ska ju lagra IP-adressen från alla hans besökare, för att få en mer utförlig översikt över hur många det är som besöker hans webbsida.

Absolut, det jag skrev var mest en pik mot det du skrev om att hashet skulle vara "starkt", "oknäckbart" osv. Framdörren må vara säker, men från baksidan är det bara att kliva rätt in.

Finns det en enkel ett-till-ett-koppling mellan IP och hash så är sparade hash i praktiken detsamma som sparade IP-nummer.

Skrivet av Airikr:

Ta gärna bort punkterna i IP-adressen, med hjälp av till exempel str_replace(). På så sätt blir IP-adressen mer svårtillkomlig för hackare.

Att ta bort punkerna ökar inte nämnvärt beräkningarnas komplexitet.

Hackaren vet ju vilket IP han använt för att ansluta till dig eller hur? Och han kommer att experimentera med olika algoritmer för att hitta sitt eget IP i listan för då vet han att algoritmen är korrekt. När han fått fram 1 IP vet han hur han skall få fram resten.

Därför bör man göra algoritmen så svår som möjligt. Ett enkelt sätt är att försvåra är att göra en hashkedja: hash = MD5(MD5(MD5(x)))

Av |:)-|-<
Skrivet av Poison:

Jag personligen kan tycka det är en lite väl saftig summa för att stativ som fortfarande innehåller en fot.

Lite väl saftig? Jag skulle bli förvånad om tillverkningskostnaden uppgick till mer än 5% av priset. Några järnstänger, gångjärn och tvingar liksom...

Av |:)-|-<

Edgren: Läste du iXams inlägg?

En IPv4-adress består av fyra tal mellan 0 och 255. Dvs det finns bara drygt 4 miljarder olika IP-adresser och lika många hashvärden. Inte fler än att man kan få plats med en tabell på en hårddisk.

Men så länge ens besökare tror att de är säkra mot en spelar det ju ingen roll.

Av |:)-|-<

Mycket prat om spelande här, men grafikkort kan ju användas till annat också som att hitta bitcoins och vika proteiner. Hur blir prestandan på den fronten?

Av |:)-|-<
Skrivet av Amöban:

Ok, hm... Skulle man inte kunna lagra värdet i någon slags permanent cookie på servern? Eller tänker jag fel? Vill försöka slippa använda databaser innan jag har lärt mig det ordentligt.

Har du en egen server så är det bara att kolla i loggfilen över vilka IP:n som servern haft kontakt med, som standard lagras det automatiskt. Tror dock inte att alla webhotell tillåter att man läser loggarna, funkade dock på One när jag testade för nåt år sen.

Av |:)-|-<
Skrivet av Engman78:

Jag tror han menar mer användargränssnittet för tex ett program som man gör websidor med.

-Vissa kanske är lite som tex powerpoint där man inte knackar kod utan mer bara jobbar mot ett visst utseende.

-Andra kanske är ren programmering. C++ eller liknande.

Fast i C++ så optimerar ju kompillatorn koden. Så det är inte ren programmering det heller.
Skulle man försöka komma undan detta genom att gå några steg djupare och programmera i maskinspråk så skulle man vara väldigt påverkad av hårdvarans design. Så svaret är väl att det inte går att skilja på programmering och design.

Av |:)-|-<
Skrivet av Leifson:

Ubuntu räknar de virtuella kärnorna som Hyper Threading skapar.

Tack för snabbt svar. Men då är CPU:n i realtiteten 8-kärnig även om den fysiskt sett är fyrkärning?

Skrivet av mudzi:

antar att den clockar ner sig när du inte använder den till 100%

Trodde det bara var bärbara som höll på med sånt?

Av |:)-|-<

Intel Core i7 2600K har 4 snabba kärnor, men Ubuntu säger 8 långsamma?

Som rubriken lyder. Jag köpte några bättre begangnade datordelar på Tradera och satte ihop en dator. Enligt specifikationen skall Intel Core i7 2600K ha 4 kärnor som kör på 3,4 GHz, men när jag går in på Ubuntus systemövervakare står det att jag har 8 st CPU som dock har halva klockfrekvensen.

Någon som kan förklara hur detta går till?

Av |:)-|-<
Skrivet av -8-DEAMON-8-:

FTP:
Hmm, FTP är mest bara ut till internet då kanske?
Inte alls FTP hemma mellan datorer?

Klart att det funkar hemma också, men jag tycker det verkar vara onödigt invecklat.

Själv föredrar jag Dropbox.

Av |:)-|-<

Här är en pedagogisk instruktionsfilm om hur man kör Android i Windows:

Av |:)-|-<

Göra nåt meningsfullt av Telias Thomson-modem? Honeypot?

I våras fick min bostadsrättsförening "Telia Fiber" och jag nappade på erbjudandet. När jag fick bekräftelse på beställningen visade det sig att jag tackat ja till "Telia Smart" trots att jag inte kryssat i rutan för det. Frågade supporten om man kunde välja bort det, men det kunde man inte.

Jag kör med kabel, så nu har jag ett trådlöst modem som ligger och och skräpar. Man kanske skulle göra något meningsfullt av det? Kanske en honeypot?

Just nu satte jag på modemet och startade en okrypterad trådlös åtkomstpunkt. Anslöt mig till den och lyssnar med Wireshark. Men det måste väl gå att ställa in modemet så att all trådlös trafik kopieras och via kabel går till en dator där den loggas? Försökte läsa på om port forwarding men jag vat inte hur man ställer in det.

Någon som har några ideer kring detta?