Lars Jeppesen

Sjov lille sommeropgave for Linux-geeks

Arghh, der mangler en edit funktion. Jeg så lige 2 tegn mere der kunne fjernes

  1. puts ARGV.map{|f|IO.read(f).split}.reduce{|a,b|a.fill("",a.size..b.map{|m|m.size}.max-1).zip(b).map{|c|c[0].ljust(a.map{|s|s.size}.max+1)+c[1].to_s}}

14. juli 2011 kl. 23:06
Sjov lille sommeropgave for Linux-geeks

Det lykkes mig at presse ruby versionen ned på 152 tegn, ved at bruge Troels' reduce tricks. Men Ruby har desværre ikke noget lign. zipAll, ellers kunne det blive endnu mindre.

Det kræver dog ruby 1.9x og -Ku option før at UTF-8 virker korrekt.

  1. puts ARGV.map{|f|IO.read(f).split}.reduce(){|a,b|a.fill("",a.size..b.map{|m|m.size}.max-1).zip(b).map{|c|c[0].ljust(a.map{|s|s.size}.max+1)+c[1].to_s}}

14. juli 2011 kl. 23:01
Sjov lille sommeropgave for Linux-geeks

Her kommer en one-liner i ruby. Bemærk at der ikke er brugt ;

  1. [ARGV.map{|f|File.open(f).readlines.map{|l|l.chomp.force_encoding('UTF-8')}}].map {|fi| fi.map{|a|a.fill("", (a.length)..fi.map{|m|m.length}.max-1).map{|a2|a2.ljust(a.map{|s|s.length}.max+1)} }.transpose.each{|i|puts i.join.rstrip}}

->Peter: Det kunne måske være i idé at lægge en test vektor op, så kunne man også checke om man håndtere UTF-8 encoding korrekt.

12. juli 2011 kl. 14:19
Sjov lille sommeropgave for Linux-geeks

Jeg syntes ikke opgaveformuleringen var helt klar mht. encoding af filerne ? Men nu skulle det virke med UTF-8 filer.

  1. files = ARGV.map { |f| File.open(f) }
  2. longest = ARGV.map { |f| File.open(f) }.map { |file| file.readlines.inject(0) {|m,s| [m,s.chomp.force_encoding('UTF-8').length].max } }
  3. begin
  4. line = [files, longest].transpose.inject("") { |l,f| l + sprintf("%*s", -(f[1]+1), f[0].eof? ? "" : f[0].readline.chomp.force_encoding('UTF-8')) }.rstrip
  5. puts line
  6. end while !line.empty?

11. juli 2011 kl. 13:45
Sjov lille sommeropgave for Linux-geeks

Denne version i ruby skulle gerne tage højde for den længste linie i hver fil og håndtere manglende linier i filer. Hvis man har lyst kan man skrive den på en linie ;)

  1. files = ARGV.map { |f| File.open(f) }
  2. longest = ARGV.map { |f| File.open(f) }.map { |file| file.readlines.inject(0) {|m,s| [m,s.chomp.length].max } }
  3. begin
  4. line = [files, longest].transpose.inject("") { |l,f| l + sprintf("%*s", -(f[1]+1), f[0].eof? ? "" : f[0].readline.chomp) }.rstrip
  5. puts line
  6. end while !line.empty?

11. juli 2011 kl. 12:55
Blackberrys tavle-pc bliver billigere end iPad

Playbook er da et perfekt navn til en tablet der hovedsagligt henvender sig til professionelle.

10. november 2010 kl. 17:03
Kritisk sårbarhed borer hul i de seneste otte års Linux-kerner

Man kan lidt simpelificeret forklare det således. (for et 32bit system med 1GB kernelspace) Hver process har et virtuelt addresserum på 4GB. De øverste 1GB benytter kernen til data og kode. Når usermode koden eksekveres (fra de nederste 3GB) har kernen konfiguret den virtuelle memory controller således at enhver tilgang til de øverste 1GB udløser en exception. (Man kan dog stadig sige at de ligger i addresserummet, man har bare ikke adgang dertil.) De nederste 3GB memory kan derfor bruges som processen har lyst til. Hvis den har lyst til at bruge addresse 0, kan den det. Dette betyder normalt ikke noget da alt kerne data og kode er placret i de øverste 1GB. Problemet er bare at denne fejl gør at kernen hopper til addresse nul uden at skifte til usermode. Og da man kan skrive hvad man vil på addresse 0, kan man skrive noget kode, som så vil blive udført som om det var kerne kode.

15. august 2009 kl. 21:39
nogle der vil hjælpe mig med at test itog lite på android??

Hej igen,

Jeg har testet lidt mere og fundet en mærkelig fejl. Hvis jeg starter iTog og holder nede på home, for at skifte til et tidligere program, så sker der et eller andet med home knappen. Herefter hver gang jeg trykker home kommer der en dialog med "Complete action using" hvor jeg kan vælge mellem TouchFLO og Home ? Dette problem forsvinder ikke før jeg genstarter telefonen. (Måske er det et problem med min ROM, men jeg har ikke set det med andre programmer)

Jeg synes heller ikke altid tiderne bliver opdateret. Hvis jeg f.eks. bare starter programmet, så kommer de rigtige tider, men hvis man så vente et par min bliver de ikke opdatere...

14. august 2009 kl. 21:24
nogle der vil hjælpe mig med at test itog lite på android??

Hej,

Jeg har prøvet det lidt og det virker :) Rigtig fed idé

Det eneste problem jeg lige har opserveret er at der ikke kommer nogen fejlbesked hvis den ikke kan få positionen. Jeg prøvede den først i Hillerød og der fandt den fint Hillerød station. Men da jeg startede det i Allerød viste den stadig Hillerød. Jeg prøvede herefter at starte Google maps og så sagde den noget med at "position is currently unavailable".

13. august 2009 kl. 23:18
Fra iPhone til Hero uden livrem

Hej,

Jeg har en HTC magic med Hero software og der ikke det problem med sort skærm ved opkald. Når jeg får et opkald tænder skærmen og jeg kan se hvem der ringer. Nu skal jeg bare trykke "grøn rør" eller trække nedad (som normalt unlock) for at tage den.

12. august 2009 kl. 11:03
HTC Magic og Microsoft Exchange Sync

Jeg har nu prøvet en HTC Hero ROM og den virker med min Exchange server. (Den jeg har prøvet havde hed v1.3) Denne ROM har også en masse andre lækre ting.

Så når der kommer en opdatering til Magic vil den nok også løse problemet.

Mvh Lars

9. juli 2009 kl. 00:07
HTC Magic og Microsoft Exchange Sync

Hej,

Jeg ville bare lige fortælle om en kedelig ting jeg har fundet ud af.

HTC magic har jo indbygget mulighed for Exchange Sync. Men efter at have snakket med support har jeg fundet ud af at det kun virker hvis Exchange serverens certifikat er fra en af telefonens Root CA (f.eks. Verisign)
Og det er ikke muligt at installere sit eget Root Certificate.

Der hvor jeg arbejder har man valgt at benytte et certifikat fra www.godaddy.com og det virker ikke :(

Det eneste mulighed jeg har fundet til Exchange sync er derfor TouchDown (http://www.nitrodesk.com/)
Men det jeg ikke helt tilfreds med.

Mvh
Lars

25. juni 2009 kl. 12:57
Minitest: Intel Atom 330 ? lavenergiprocessor med potentiale

Tomshardware har anmeldelse af det ION board.http://www.tomshardware.com/reviews/zotac-ion-atom%2C2300.html

Det ser ikke helt dårligt ud :)

12. maj 2009 kl. 23:32
Alle OOXML-krav er besvaret

Jesper,

Tak for informationen. Det gav mere mening da jeg fik læst de andre svar. Jeg havde fundet DK0158 ved at læse i svar dokumentet og jeg mener bare jeg søgte efter password.

31. januar 2008 kl. 08:40
Microsoft hul værre end først oplyst

Så vidt jeg kan se er MS08-001 allerede rettet. Det er den med KB941644, som er udsendt. Den er i hvert fald installeret hos mig.

Mvh Lars

30. januar 2008 kl. 23:27
Alle OOXML-krav er besvaret

Jesper,

I DK-0158 anbefaler Danmark at man benytter en FIPS 180 godkendt algorithme. Svaret fra EMCA på side 175 beskriver bare at beskrivelse af algorithmen skal rettes.

Jeg kan ikke se nogen god grund til at opfinde sin egen algorithme. Det vil tværtigmod give chance for svagheder og samtidigt være sværere at implementerer, da man ikke bare kan benytte et standard bibliotek.

Mvh Lars

30. januar 2008 kl. 23:11
Alle OOXML-krav er besvaret

Jeg kiggede lige på kommentaren omkring password hash algorithmen. Fra Danmark var det foreslået at man benyttede en standard hash algorithme, men det har de ikke svaret på. De har bare svaret med en mere præcis beskrivelse af deres egen algorithme.

Jeg kan ikke se nogen god grund til ikke at benytte en standard og analyseret algoritme.

29. januar 2008 kl. 22:54
Varme watt i en kold tid

Det lyder som om en af tingene er gået i stykker. Prøv at slukke hver ting for sig, og se hvor meget de hver bruger. Det kan også tænkes at måleren viser forkert. Sådan nogle switch-mode forsyninger kan godt have nogle ret mærkelige strømtræk når de kører i standby.

27. november 2007 kl. 23:26