Inlägg

Inlägg som selotodo har skrivit i forumet
Av selotodo

Re: Re: Re: Re: Hjälp mig välja utbildning!

Citat:

Ursprungligen inskrivet av SPENEN
Jag tänkte dels på att man läser Kognitiv psykologi, Människa och datorinteraktion, och Användbara system de första två åren (vilket betyder att det är svårt att få ut sin examen om man inte läst dom), dels på att det finns fler kurser inom ämnet på LiTH än UU medans det finns mer kurser inom teoretisk datavetenskap på UU, och dels för att LiTH forskar mycket mer om MDI än UU.

Men jag menar inte det som en negativ sak, vissa gillar MDI och självklart verkar LiTH som ett bra universitet för det, men det finns ju även andra kurser så om man inte är intresserad av mdi behöver man inte läsa det (mer än dom obligatoriska kurserna).

Att du säger att de flesta kurserna är valbara stämmer nog inte nu till hösten då programmet gjorts om en del på grund av bologniaprocessen.

Jaha, jag verkar visst inte vara helt updaterad. Hur som helst så kan man ju ta ut en magister i datalogi istället för magister i datavetenskap. Då är kraven på vilken sorts kurser man ska ha läst mindre, men båda examina låter ju som samma sak och ger samma sorts jobb.. Så är det iaf idag.

Vet du var man hittar en lista över kurser i teoretisk datalogi som erbjuds på UU? Jag är nyfiken på om det finns något där som inte erbjuds på LiU.

Av selotodo

Ett coolt språk som inte har nämts är Clean:
http://clean.cs.ru.nl/About_Clean/about_clean.html

Det som är coolt med Clean (jag har tyvärr inte provat det själv ännu) är att det har lat evaluering men lyckas gömma latheten på något vis så att man kan uttrycka sig i det på vanligt sätt med tilldelningar och andra destruktiva operatorer. Det är vad de påstår iaf. I andra lata språk som t.ex. Haskell blir I/O och liknande i grunden imperativa uppgifter väldigt knöliga.

Jag skulle hur som helst helt klart rekommendera dig ett språk med lat evaluering. Detta eftersom du i andra funktionella språk visserligen kan uttrycka dig på ett rent och tydligt vis (funktionellt, dvs utan sidoeffekter), men där drabbas av negativa effekter på prestanda om du använder dig av denna programmeringstil. Om du t.ex. vill utföra två väsensskilda beräkningar på en datastruktur så vill du antagligen lägga dessa beräkningar i olika funktioner. Om du applicerar dem i tur och ordning på datastrukturen i ett språk utan lat evaluering så kommer datastrukturen att gås igenom två ggr, men med lat evaluering kommer kompilatorn förhoppningsvis att kunna väva ihop bägge operatiorna och nöja sig med att traversera strukturen en gång. Du kan alltså separera delar som ska vara separerade, medans du i språk som Scheme eller Java hade varit tvungen att slå ihop bägge funktionerna Foo och Bar till en funktion DoFooAndBar() för att undvika att behöva gå igenom datastrukturen två gånger.

Jag hade nog valt Haskell, Clean eller Scheme (om jag inte redan kunde Scheme). Scheme är ganska coolt eftersom det är så lätt att experimentera och bygga egna språkkonstruktioner i. Schemes regelbundna syntax (eller brist på syntax över huvud taget) gör det lättare att skriva kraftfulla macron som skriver om kodsnuttar till andra kodsnuttar. Där har Scheme ett övertag mot andra funktionella språk.

En annan cool grej med Haskell är pattern matching. Det kan du iofs få i andra funktionella språk också (i många scheme'ar och i OCaml iaf), men jag har fått för mig att det funkar som bäst i Haskell. Kanske funkar lika bra i OCaml dock, jag vet inte säkert.

Av selotodo

Re: Re: Hjälp mig välja utbildning!

Citat:

Ursprungligen inskrivet av SPENEN
Till exempel är datavetenskap i Uppsala mer teoretiskt inriktad medans datavetenskap i Linköping är mer inriktad mot människa och datorinteraktion.

Vad får dig att tro det? Datavetenskap i Linköping blir vad du gör det till, eftersom i princip alla kurser är valfria. Jag läste Datavetenskap på LiU men gick bara en enda, kort, kurs i människa och datorinteraktion eftersom jag inte var intresserad av mer sådant.

För den som är intresserad av att lära sig datalogi och programmering på djupet, gillar valfrihet och har mognaden att hantera friheten är Datavetenskap på LiU ett bra val. En nackdel är att du inte får en lika imponerande titel som de som läser till civilingenjör (men ni läser till stor del samma kurser).

Angående matten så är den tung för de flesta, men om du planerar att jobba med "avancerad" programmering så kommer du att få nytta av den senare. Matten är inte heller lika tråkig som på gymnasiet. Diskret matte t.ex. ser jag inte ens som matte.. matte är ju sådant som är trist och opraktiskt

Av selotodo
Citat:

Ursprungligen inskrivet av maDa
Givetvis, man får extremt grundliga kunskaper. Om det är något man känner är värt mödan. Jag tyckte inte det var värt all matematik iaf.

Det tror inte jag heller, har man råpluggat i 5 år så vill man givetvis ha ett jobb som man gillar, och med en smaskig lön ovanpå.

Ja ska man utveckla en kompilator eller flygsimulator, som du nu säger (vilket man gör varje dag, överallt, eller inte...) så behöver man givetvis en med kunskaper för det. Har inte sagt något annat.

Fler personer än man kan tro har tekniskt mycket avancerade jobb. De är inte "ytterst få" utan kanske till och med fler än antalet nätverkstekniker. Man ser sällan dessa tjänster på jobbsajterna eftersom de inte tillsätts på det viset, men de finns och de personer som verkligen vill ha krävande jobb brukar vara eftersökta eftersom de flesta hellre lägger sin energi på familj och fritid..

Även "vanliga" civilingenjörer inom dataområdet har lätt att få jobb nu för tiden. Examen ger jobb. Enligt cf så ligger arbetslösheten för civilingenjörer inom dataområdet på 1.6% nu:
http://www.cf.se/NR/rdonlyres/F56FF600-6C21-4394-804C-080FA68...
Visst, det säger ingenting om vad de jobbar med. Kanske flippar hälften burgare på McDonalds. Men bland de som jag pluggade med så känner jag iaf inte till en enda person som inte har ett jobb som motsvarar deras kompetens.

Vi har många stora tekniska företag som Ericsson och SAAB i Sverige och de anställer mängder med civilingenjörer. De flesta av dessa tjänster har du ingen chans att få utan en bra examen. Hur många företag anställer mängder med nätverkstekniker?

Citat:

Ursprungligen inskrivet av maDa
Det jag menar är att många blir lovande in i Civ. Inj. världen om att det finns massor av jobb och man har enormt med betalt, och man kan göra allt man vill, tyvär stämmer inte detta helt. Dessutom påbörjar många det, och upptäcker att det består mest av matematik och teoretiska lösningar, och tröttnar på det. Eller har lärt sig allt om ettor och nollor, men vet inte ett svatt om dagens tekniker som används ute i verkligheten.

Alltså, jag rackar inte ner på sånna utbildningar, klart de behövs sånt folk med. Men det finns nån mystisk "Bli civilingenjör så får du jobb och blir rik"-mentalitet i sverige. Så därför ska alla bli det.

Alltså, jag rackar inte ner på sånna utbildningar, klart de behövs sånt folk med. Men det finns nån mystisk "Bli civilingenjör så får du jobb och blir rik"-mentalitet i sverige. Så därför ska alla bli det.

Jag håller inte med om att du inte rackar ner på sådana utbildningar, men att det finns många personer på universiteten som inte hör hemma där kan jag hålla med om.

Av selotodo
Citat:

Ursprungligen inskrivet av maDa
Som någon sa, Datateknik handlar om att förstå datorns funktioner ända ner i kretsarna, och bygga saker från ingenting. Det behövs ytterst få folk med denna spetskompetens i dagens samhälle.

Många som går ut KY får jobb nästan direkt, då utbildningen är väldigt specifikt utformad av dagens förfrågningar.

Om ett företag ska anställa en Nätverkstekniker. Vem tar dom hellst tror du?
- En kille som kan bygga ett nätverkskort, men vet inte vilka fiber-standarder det finns.
- Eller en kille som har internationellt certifikat i Cisco CCNA.

Men somsagt, åter igen.. De finns inget studentspex och overrall-lekar..

Jag tror inte att nätverkstekniker är något särskilt eftertraktat jobb bland nyutexade civilingenjörer. De flesta som har läst en lång utbildning vill få användning för sina surt förvärvade kunskaper efter examen. Om vi byter ut din fråga mot:

Om ett företag ska anställa någon för att utveckla en kompilator eller en flygsimulator, vem tar de då helst tror du?
- En person som kan teoretisk datalogi och tung matte i övrigt.
- Eller en person som kan rabbla upp vilka fiber-standarder det finns.

så får vi självklart ett annat svar, eftersom det är en tjänst som ligger mer i linje med en civilingenjörsubildning. De här jobben finns, även om de inte ligger ute på ams.se. Jag har flera bekanta som jobbar med just de här sakerna.

Av selotodo

Jag har ingen vidare koll, men om du ska ge dig in på verifiering så handlar det väl mycket om formell logik och programspråkssemantik? Test däremot tippar jag är bra mycket lättare att komma in i.

När det gäller verifiering tror jag att Spark Ada kan vara intressant att googla på. Den här pdf:en verkar läsvärd men kräver att man har inloggningsuppgifter för att kunna läsa (men det har kanske biblioteket på din högskola):
http://portal.acm.org/citation.cfm?id=1104011.1103855

Av selotodo

Det finns flera opensourceimplementationer av Common Lisp som du kanske kan använda istället. Wikipedia har en lista:
http://en.wikipedia.org/wiki/Common_Lisp

Av selotodo

Allegro CL är kommersiellt och säljs av Franz inc. Det ser ut att finnas en gratisversion att ladda ner från deras sida.

Franz.com är första träffen på google om man söker efter "allegro cl".

Av selotodo

Jag har precis fått mitt första "riktiga" jobb. Börjar på måndag. Hur som helst, jag skulle korta ner det betydligt. Mitt mål när jag skriver både cv och personligt brev är att de ska fylla exakt en sida vardera. Dina personuppgifter behöver inte ta upp en tredjedel av sidan och punkten "utbildning" behöver inte ta mer än några rader. Varför skriva att du har gått ut gymnasiet?

Stryk listan på kurser, ingen stressad rekryterare kommer orka läsa den ändå. Lyft istället fram de kurser som är relevanta för tjänsten i ditt personliga brev.

Erfarenhet är skitviktigt. Förklara vad du har gjort på Ericsson. Stryk hela "datorkunskaper" och lyft fram det som är relevant för tjänsten i ditt personliga brev istället. Ha ev. kvar "har hållit på med programmering sen 1986".

Kort sagt, stryk en massa och betona din erfarenhet (förtroendeuppdrag, exjobb, sommarjobb etc). Det dräller av folk som har civ.ing-examen, så ingen kommer bli impad över det. Du måste visa att du är mer än bara ännu en nyutexad..

Det måste framgå direkt att du är en bra person att anställa. Ju mer ointressant information du har med desto svårare blir det för dem att hitta det som är intressant.

Stoppa in några "kanske" och dylika osäkerhetsord här och var i ovanstående text om råden lät för tvärsäkra.

Av selotodo
Citat:

Ursprungligen inskrivet av SwinginStan
Jepp, jag kör linux. Jag har mycket begränsade kunskaper i C, jag hoppades på ett mycket enkelt .bash script.

Jag gjorde dagens goda gärning och skrev ett program snabbt som gör ungefär det du vill. Det är inte en daemon, det får du fixa själv eller be någon annan om ifall det är viktigt. Programmet tar ett katalognamn som argument och kör "script.sh" när en ny fil har skapats i katalogen.

#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <errno.h> int main(int argc, char **argv) { int dir_fd; struct stat stat; time_t latest_mod = 1; char *dirname = NULL; if (2 != argc) { printf("du måste ange katalognamnet på kommandoraden\n"); return -1; } else dirname = argv[1]; dir_fd = open(dirname, O_RDONLY); if (-1 == dir_fd) { perror("open"); return(errno); } fstat(dir_fd, &stat); if (-1 == dir_fd) { perror(dirname); return(errno); } latest_mod = stat.st_mtime; while(1) { fstat(dir_fd, &stat); if (-1 == dir_fd) { perror(dirname); return(errno); } if (latest_mod < stat.st_mtime) { latest_mod = stat.st_mtime; system("./script.sh"); } sleep(1); } return 0; } /* ex: [stefan@localhost dirchanged]$ mkdir foo [stefan@localhost dirchanged]$ gcc dirchanged.c -o dirchanged [stefan@localhost dirchanged]$ ./dirchanged foo */

Av selotodo

Re: Daemon som loggar när fil skapas?

Citat:

Ursprungligen inskrivet av SwinginStan

Jag har inte hittat någon funktion som väntar på det i python, det kanske går att göra? Annars vill jag skriva någon form av daemon som reagerar när filen skapats.

Någon som har några idéer?

Skriv ett program i C med en loop som kollar med hjälp av fstat() om katalogen har uppdaterats och i så fall kör pythonscriptet.

De här länkarna är nog också intressanta, om du använder Linux.
http://www-128.ibm.com/developerworks/linux/library/l-inotify...
http://www.linuxjournal.com/article/8478

Av selotodo
Citat:

Ursprungligen inskrivet av bud_bundy
Nja, främsta orsaken är att man vanligast inte har ett realtidsoperativsystem.
Det går att lösa genom att skaffa en sådan eller använda en realtidsmjukmjukvara som man lägger innan sitt OS. Alltså det finns mjukvara som man kan lägga före in windows som delar upp systemresurserna mellan windows och sitt program. (MS gillar inte detta) Detta används bla då man kör hård soft-PLC på en PC för att man kräver realtid. Jag kommer ej ihåg namnet på dem.

Hur fulla minnen/buffert är när de behövs för en "resurs" går att räkna ut, men oftast så uppskattar man bara hur fulla de kan bli och multiplicerar med en faktor för säkerhet. Inom realtidstillämplingar så ligger man inte och utnyttjar resurserna till max, utan man goda resurser lediga. Ju, större program ju mer uppskattning + marginal. Då det mer eller mindre blir praktisk omöjligt.
Realtid handlar om att det ska ske inom en specifik tid, och inte exakt på en. Därav så går C också bra..

Intressant. Men realtidsprogrammering (som jag inte vet så mycket om) handlar väl om att kunna bestämma det värsta fallet? Dvs inte den exakta tiden, som inlägget jag besvarade handlade om.

Av selotodo
Citat:

Ursprungligen inskrivet av samiii
Bla. kan du beroende på klockfrekvensen veta exakt hur lång tid en instruktion tar.

Nja, det beror ju på vad det är för processor det rör sig om. På en modern PC kan du inte veta det eftersom du inte kan förutse om du kommer att få en miss i någon av cache'arna. Visst, du kan räkna på något sorts idealfall där pipen är full hela tiden, men hur vanligt är det?

Av selotodo

Kanten på handtaget ser lite vass ut.. Det vore schysst med lite smuts här och var, det trista med 3d-bilder är att de alltid ser så kliniska ut. Lägg t.ex. till ett läppavtryck på koppen, mitt i blänket (som då mattas av). Det kanske är svårt, vad vet jag. Har aldrig sysslat med 3d-grafik.

Av selotodo

Jag har inga problem alls med att komma på idéer, men ju mer jag lär mig desto mer komplicerade blir mina idéer. Jag har alltid fantiserat om att göra sådant som ligger precis utanför gränsen för vad jag klarar av, oavsett aktuell kunskapsnivå. Numera har jag ingen tid över till programmering heller och har börjat fundera på att försöka skriva något som går att sälja.

Av selotodo
Citat:

Ursprungligen inskrivet av kode
alla turingkompletta språk kan göra vad alla andra turingkompletta språk kan göra, och de flesta programspråk brukar vara turingkompletta. skillnaden ligger i hur enkelt resp. svårt det är att göra det man vill göra.

Alla turingkompletta språk kan beräkna vad alla andra turingkompletta språk kan beräkna. Det betyder inte att de kan göra samma saker. I Java t.ex. kan du inte ändra värdet på register eller läsa av någon flagga utan att gå utanför språket.

Av selotodo

Jag valde Intel när jag köpte min P4 i somras nästan enbart pga Hyper-Threading. Prestanda var inte viktigt för mig eftersom min gamla 600MHz P3:a dög gott innan den gick sönder. Jag tycker HT är intressant ur ett programmeringsmässigt perspektiv.

Jag har inte spelat spel på datorn på 10 år om man bortser från Othello och Schack. Jag använder mest datorn till att surfa och att se på film, ibland programmering om jag har tid med det.

Av selotodo

Rekursera genom listan och håll reda på de två lägsta talen du hittat hittills. När du kommer till slutet på listan så vet du vilka tal som är minst. Returnera summan.

Av selotodo

Så länge som du har behörighet till rätt högskoleprogram så spelar det ingen roll vad du går för gymnasieprogram. Det du lär dig på gymnasiet kommer inte ens vara en droppe i havet jämfört med innehållet på högskolan, och inriktningen kommer vara helt annorlunda. Det är bra mycket viktigare vad du gör på fritiden om du vill vara bra förberedd. Sitt hemma och skriv olika typer av program i olika typer av språk och läs mycket så blir det bra.

Om jag fick gå om gymnasiet skulle jag lägga min tid på att lära mig (mänskliga) språk istället. Det har man inte så mycket tid med på högskolan om man ska plugga "data". Språkundervisningen är mycket bättre än dataundervisningen på gymnasiet i allmänhet.

edit: Jag får nog ändra mig lite. Ovanstående gäller själva undervisningen i programmering men det svåraste på högskolan är egentligen matten, så det bästa vore nog att fokusera på matteundervisningen om du vill få det lättare på högskolan.

Av selotodo

Re: Re: Re: Faktaord och processorer, hjälp.

Citat:

Ursprungligen inskrivet av Kefir_Tribe
Tack för informationen. Jag har en följdfråga angående dual core. Andvänder dagens mjukvara detta (om man t.ex. kör flera program samtidigt) eller är det ett första steg på en teknik som förmodligen kommer användas framöver?

Ja, kör du flera program samtidigt så kommer det att gå fortare med dual core, förutsatt att det är processorn som begränsar dem. Ett program vars flaskhals är något annat, t.ex. hårddisken eller nätverket, kommer däremot inte att gå fortare.

Vill du att ett enskilt program ska gå fortare, så hänger det på att det är trådat. Långt ifrån alla program är det, eftersom vissa typer av problem är svåra att lösa på något annat sätt än sekvensiellt.

Observera att det inte kommer gå riktigt dubbelt så snabbt bara för att du har två cores. Programmen kan "krocka" med varandra när det gäller åtkomst av delade resurser, som arbetsminnet och eventuellt någon cache-nivå.