fredag den 26. september 2014

Windows 8 - Bruger din plads på log filer


Heldigvis for mig, så har min arbejdsplads FDC valgt at investere i at vi som udvikler skal have ny platform. Så alle udviklere har fået bærbare med SSD, eller stationære med almindelig disk.
Det gør så at når man som udvikler sidder med sin bærbar, så går det bragende stærkt, men pladsen er sparsom (200gb) og derfor skal man passe på med at have for mange databaser fordi de fylder godt.

Det med at bruge din plads skal Windows så nok hjælpe dig med! Den laver logfiler i bidder af 20mb, og dem får du et par af om dagen, specielt som udvikler.
Det betyder at på ca. 3 måneder har jeg fået brugt 8GB plads på logfiler som er ligegyldige. Det svarer ca til at den har brugt 6% af min plads på logfiler.

Det er lige noget man som udvikler skal være opmærksom på hvis du har begrænset plads eller mangler plads.

torsdag den 25. september 2014

Commando Promts rettigheder - Kør som admin eller dig?


Når vi skal lave en rettelse til produktion så optimerer vi vores kode så den bliver kompileret i en samlet fil, så man ikke kan få c# (cs) eller vb -filen, men alt er samlet i en .aspx (ASP.NET) -fil, og en kompileret fil i bin.
Dette har vi et script til, og i går oplevede jeg at når jeg kørte det ville den ikke forbinde til et netværksdrev og hente filer derfra.

Nu i dag viste det sig så at være fordi man kan køre kommando promt som dig selv ved at dobbeltklikke på den, eller trykke enter på den imens den er valgt.
Du kan også køre den som adminstrator, ved at højreklikke og sige "kør som adminstrator"/"run as administrator".

Jeg har altid kørt dem som administrator fordi ofte får man ikke helt adgang til ting hvis man ikke får kørt det som administrator.
I dette tilfælde viser det sig så at det skal køres som MIG, fordi ellers får den ikke samme mapning som jeg har.
Grunden til den ikke kunne finde k-drevet var at den ikke kørte som min bruger og derfor havde den IKKE den mapning min bruger har, og derfor kendte den ikke k-drevet.

Så IGNORER: http://csharpudvikler.blogspot.dk/2014/09/windows-explorer-snakker-ikke-sammen.html

onsdag den 24. september 2014

Windows Explorer snakker ikke sammen med Commando Promt (Netværksdrev)


DETTE ER LØST! Læs her: http://csharpudvikler.blogspot.dk/2014/09/commando-promts-rettigheder-kr-som.html

Vi har en speciel change procedure når der skal ændres noget til et eksisterende system og man skal have lagt en rettelse på serveren.
Alt skal kompileres så der ikke er c# (cs), eller vb -filer, men kun færdigt kompilerede sider.
Dette har vi et script til, fordi der er flere forskellige ting der skal tages med, MEN problemet her kommer så når filerne den skal bruge findes på et netværksdrev.

Når maskinen starter op er der et script der kører som skal sørge for at connecte vores forskellige netværksdrev, men det virker ikke. Man kan sagtens komme til fx K-drevet, for det står i listen og så snart man klikker på K-drevet skaber den forbindelsen korrekt.
DESVÆRRE så er det så bare sådan at den så opretter forbindelsen på samme måde som start-up scriptet gør.
For hvis du efterfølgende går ind med en commando promt og via xcopy forsøger at kopiere en fil fra k-drevet til et sted på din maskine så virker det ikke fordi den kan ikke genkende K-drevet.
Det er på trods af du kan stå på k-drevet i din file explorer og se filen eksisterer, men commando promten kan ikke finde ud af hvad k-drevet er.

Så netværksdrev skal mappes via commando promt før den kan finde ud af det, for når file explorer opretter forbindelse til netværksdrevet bliver det ikke lavet så din commando promt nu også kender det og kan tilgå det på samme måde som din file explorer.
Skuffer lidt at der ikke er tænkt over det fra Microsofts side.

tirsdag den 23. september 2014

Mediecenter / Medieafspiller - en nødvendighed!


Førhen da vi ikke havde en medie afspiller så vi film engang imellem, og fik os aldrig rigtigt taget sammen til at få set vores film.
Nogle gange kunne vi endda finde på at købe et sæt film, men ikke få dem allesammen set så det rent faktisk var "spildt".

Efter vi har fået et mediecenter så ELSKER vi at se film! Det er fordi det er så nemt og så smart at det fungerer så godt. En lille boks sluttet til tv'et, som du skruer over på som viser information og data om din filmsamling, og som afspiller fra dit netværkslager.
Således slipper du helt for at gå hen til hylden og hente dine film og skulle læse om dem eller finde en og sætte i dvd-afspilleren.

Nu tænder vi for tv'et og slår over på vores mediecenter og læser den igennem, eller vi tager en telefon eller tablet og ser den komplette filmsamling (som opdaterer sig selv hvis der kommer nye film ind i samlingen), og kan så se trailere, beskrivelser, og alt interessant for filmen for at vi ved om vi har lyst til at se den.

Netop det at det er så nemt gør at vi bruger det langt mere, og fordelen er også at du skal ikke "lede" efter fx The Matrix, velvidende den er der et eller andet sted på hylderne. Nu kan du bare søge og den kan nemt finde den.
HVIS der så skulle komme en med en DVD så er der sat et drev til vores medieafspiller så den kan klare almindeligt input også, og vi slipper for at have en separat DVD-afspiller sat op.

Udstyr:

  • Intel NUC
  • USB DVD Drev
  • NAS (Network Attatched Storage)

Du kan dermed rippe alle dine dvd-film og ligge ind på din NAS som så er på netværket.
Din Intel NUC vil så kunne gå på netværket og læse fra din NAS, og læse dine film.
Du installerer XBMC (To be; Kodi entertainment center) på din NUC og lader den have film fra din NAS som source.
Den vil herefter selv analysere dine film og finde coverbilleder, beskrivelser, og en masse gode data fra dine film til lækker præsentation, som du så kan afspille direkte fra NUC'en til dit TV.

Hvis du så vil have filmoversigten på andre steder end dit TV installerer du app'en Yatse, som giver dig et overblik over dine film på din android mobil eller android tablet, og gør du kan starte, stoppe, spole frem/tilbage, afspille trailers, se skuespillere, og meget meget mere.

Jeg har aldrig været så vild med film som jeg er nu fordi det er så nemt og så lækkert som jeg ønsker mig!

fredag den 19. september 2014

CSS selector der IKKE indholder noget specifikt

Hvis du gerne vil lave en generel selector der ramme alle <LI> tags, men IKKE dem der indholder attributten "sort" på sig.
Så kan du lave en meget effektiv og simpel css selector:

li:not([sort])

[sort] er det der fortæller den skal have attributten sort på sig,
:not( ) er det der fortæller at den IKKE må have sort attributten
li er den der fortæller det er et <LI> tag.

Så den rammer <LI> tags, der IKKE indholder attributten sort.

Se følgende eksempel
<ul>
  <li>
  <li sort="1">
  <li>
  <li sort="2">
  <li>
</ul>

Hver anden vil blive ramt, men ikke dem der har sort attributten på sig.

Name Analyzer - Omdøb filer til noget sigende

Først for nyligt har jeg fået lavet et rigtigt medie center, som gør at vi nyder alle vores medier langt langt mere fordi det er så tæt på og så nemt.
Det vi har gjort er at digitalisere alle vores DVD'er og musiksamlinger (CD'er), og lagt på vores NAS og fået sorteret og grupperet dem korrekt.
Problemet er med at man har film tilbage fra man gik i gymnasiet er at navngivningen er på 14 forskellige måder som man nu har syntes var smart igennem tiden. Derfor kan den første disney du havde, have et navn, og to'eren til selv samme film nu ikke ligger lige under med "2" bagefter, men et helt andet sted som du ikke kan se.

Det har resulteret i jeg har selv lavet en name analyzer, der kan analysere navne og finde dele af et navn og forsøge at finde ud af hvad det er.
Indtil nu har den virket på over 90% af min filmsamling som er blevet pæn og organiseret med ensartede navne - fx er alle disney film blevet navngivet "Disney - {filmnavn}", og de film hvor der stod årstal i kan nu finde årstallet i navnet og navngive den med (2014) efter filmnavnet.

Måden den finder filmnavnet er at finde dele som er tekst, indtil den støder på en del som ikke længere er tekst (eller splitter).


Den gennemsøger hele teksten, og opdeler den i logiske dele den har analyseret sig frem til.
Så den søger efter:

  • Tekst
  • Quality (1080p)
  • Splitter ("-", ":")
  • Årstal (1955)
  • Source (DVD)
Så hvis vi tager et eksempel
Lady and the Tramp 2 - Scamps Adventures.2001.DVD.720p

så bliver det til
[Lady, Text]
[and, Text]
[the, Text]
[Tramp, Text]
[2, Text]
[-, Splitter]
[Scamps, Text]
[Adventures, Text]
[2001, Year]
[DVD, Source]
[720p, Quality]

Så længe den finder tekst eller splitter, så forsætter den med at medtage den gamle information i det nye navn og derved kan du ofte nemmere få opbygget et mere retvisende navn der er mere ensartet.

Så det nye navn ville ende med:
Lady and the Tramp 2 - Scamps Adventures (2001)

Det har sparet mig for rigtigt mange timers retning fordi den gamle samling efterhånden er ved at være så stor.

tirsdag den 16. september 2014

Image Optimization for Visual Studio (extension)


Har du behov for at optimere dine billeder til lossless image optimization?

Det tilføjer en højrekliksmenu til at optimere alle PNG, GIF, og JPEG filer, og påvirker slet ikke kvaliteten i dine billeder fordi det er lossless image optimization.
Den bruger SmushIt og PunyPNG til at optimere dine billeder, uden at de taber kvaliteten.

Der er mange procent at spare i filstørrelse, som gør at dine billeder kan loades hurtigere, dermed loades din side hurtigere, og dermed rangerer du højere ved google med en hurtigere page speed.

mandag den 15. september 2014

TFS offline - Komme online igen


Hvis du arbejder i en solution og er forbundet til Team Foundation Server (TFS), men pludseligt er et sted uden netforbindelse spørg din solution om du vil arbejde offline.
Når man så siger ja, og arbejder videre så er det ikke sådan at næste gang du kommer online igen at den automatisk genforbinder til TFS. Den låser dine filer (write-protected/skrivebeskyttet), og lader dig ikke gemme noget før du er online igen.

Det er ikke nok at forbinde til TFS igen, for du er måske forbundet til TFS, men din solution forbinder så ikke til TFS. Du skal højreklikke på dit projekt, ikke din solution, derefter vælge Source Control > Go online.

Automatik eller et spørgsmål om den skal gøre det automatisk er der ikke indbygget i TFS, desværre - så det må du selv i gang med.


Desværre for mig, mente TFS så også at samtlige filer i min solution var ændret imens jeg var offline. Det var de ikke helt. Heldigvis kan den nu finde ud af at fjerne filer der ikke har ændringer når man checker ind, så de vil blive frasorteret der.

onsdag den 10. september 2014

Manglende film i XBMC?


Nu man har fået en XMBC maskine, og alt spiller, så kan man opdage nogle gange at de film man har lagt ind, ikke kan findes.
Så fx ældre film kan ikke findes fra en scraper, eller der er noget der ikke passer så den ikke kan finde dem. Dette gør at filen ikke vises i Movies, men skal findes manuelt i Video i listen af filer.

Det kan godt være ret irriterende, for selvom der ikke er noget information på filen vil man stadig gerne have den i Movies for så er alle film samlet i en liste, så man ikke skal i Video for at lede efter enkelte manglende filer.

Det er der en løsning på! Missing Movie Scanner (add-on):
http://wiki.xbmc.org/index.php?title=Add-on:Missing_Movie_Scanner

Jeg var selv gået i gang med at lave et lille program der kunne omdøbe mine mapper så de hed det korrekte, sammen med mediefilen indeni, men det viste sig så at være ligegyldigt.
Så mit program bliver nok bare brugt til at analysere mapper, få dem stuktureret og opstillet ensartet med samme format, så man nemmere kan se filsamlinger i filerne også fordi filformatering er ens.

Den kan analysere:
 - Tekst
 - Splitter ("-" eller ":")
 - Year (1994)
 - Source (DVDSrc)
 - Format (Xvid)
 - Quality (1080p)
 - Prefix ([LeAd]
 - Ripper (eksperimental)

Så den kan omdøbe din mappe og filer til noget mere korrekt, med et filnavn og årstal og fjerne de unødige elementer såsom "Source", "Format", "Quality", "Prefix" etc.

Det vil der komme mere om senere.

Validt HTML fra Visual Studio (Hvis det er XHTML)


Et avanceret værktøj som Visual Studio forventer man kan hjælpe dig i din færd med at skrive korrekt kode. Det er derfor den afslutter dine tags, giver dig fejl hvis du ikke har afslutninger etc. men når du så vil validere din html kan du rende ind i problemer.

Det viser sig at være fordi Visual Studio ALTID hjælper dig! Bare kun med at lave XHTML, så du skal altid have afslutning på dine tags.

Så selvom Visual Studio forsøger at gøre din HTML valid, så kan den ikke se på hvad den skal validere imod og hjælpe dig imod det mål du selv har sat. Så hvis du sætter doctype til
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
så hjælper Visual Studio dig med at arbejde væk fra det du selv har indskrevet du ønsker at ende med.

Man kan altid argumentere at hvis man ikke har styr på sine regler, kan man holde sig til Visual Studio's start forslag, og lade den hjælpe dig i mål med det, men det er et værktøj til hjælp, vel ikke diktatur?
Uanset hvad du forsøger at lave bør den hjælpe dig derhen, hvilket er pointen i en IDE som Visual Studio.

Så husk Visual Studio hjælper dig bare med at lave korrekt XHTML.

torsdag den 4. september 2014

CSS: Vælge element lige før/efter et andet


Ofte i en menu vil man gerne have en menuadskiller for hver menupunkt, men disse skal måske forsvinde når et menupunkt er valgt.
Eksempel:

Intet valgt element -situation (Situation 1)
Punkt 1 | Punkt 2 | Punkt 3 | Punkt 4 | Punkt 5

Valgt element -situation (Situation 2)
Punkt 1 (Punkt 2) Punkt 3 | Punkt 4 | Punkt 5

Ved det valgte element, forsvinder menuadskiller før og efter, men dette er ikke så nemt lige at gøre med CSS - UMIDDELBART!

Dette er fordi hvis vi opsætter kode og eksempel:
<ul>
<li>Punkt 1</li>
<li>Punkt 2</li>
<li>Punkt 3</li>
<li>Punkt 4</li>
<li>Punkt 5</li>
</ul>

Ovenstående viser (Situation 1)

Du kan få adskiller ved at sætte "background-image:url('image-splitter.png');" på hver li, og "background-repeat: none;", og når du så klikker på et element bliver det til:
<ul>
<li>Punkt 1</li>
<li class="marked">Punkt 2</li>
<li>Punkt 3</li>
<li>Punkt 4</li>
<li>Punkt 5</li>
</ul>

Ovenstående viser (Situation 2)

Problemet er at marked kan du sætte til "background-image: none", men den fjerner kun splitter på den ene side (i dette eksempel venstre).
Du har derfor brug for at kunne vælge den før/efter alt efter om din splitter vises i starten af din li, eller i slutningen.

DER ER DOG EN LØSNING!

Vælge element efter div i css:
.marked + li
Derved selecter du den li der er lige efter ".marked" -klassen og kan sætte "background-image: none", så den ikke vises.

Vælge element før div i css:
.marked ~ li
Derved selecter du den li der er lige før ".marked" -klassen og kan sætte "background-image: none", så den ikke vises.

Tags: css select element before another

Internet Explorer 11 (IE11) doesnt give round corners!


The problem exists because IE11, doesn't use the newest rendering engine, and therefor uses an engine that doesn't understand border-radius and round corners.
You can fix this with puttin a tag in head that forces it to use the latest rendering engine.

<meta http-equiv="X-UA-Compatible" content="IE=10"/>

or

<meta http-equiv="X-UA-Compatible" content="IE=edge"/>

The first forces it to use IE10 engine, where the second forces it to use the latest it can find and therefor more compatible with different IE browsers.

It is a funny fact that you can have Internet Explorer 11, and border-radius: 5px doesn't work, because the rendering engine it uses aren't from IE 11, and therefor doesn't understand the tag. The browser understands it, but just default doesn't use the latest engine that understands it.