Alt om programmering som jeg selv finner interessant. No more, no less. Trolig vil det være mest om webprogrammering, .NET og andre ting jeg jobber med fast.
torsdag, mai 03, 2007
torsdag, april 26, 2007
mandag, februar 26, 2007
fredag, januar 19, 2007
CSS-lenker av stor interesse
53 CSS-Techniques You Couldn’t Live Without
(http://www.smashingmagazine.com/2007/01/19/53-css-techniques-you-couldnt-live-without/)
Sliding Doors of CSS
(http://alistapart.com/articles/slidingdoors/)
onsdag, desember 20, 2006
SQL Server og oppdateringsproblemer med views
Normalt når en kjører SELECT * vil en hente ut alle felt fra tabellen(e) spørringen gjelder for. Med et view er det annerledes siden det skal være en fast, alternativ visning av et utvalg data. SQL Server vil derfor ved oppretting av et view med SELECT * hente ut alle feltnavn og benytter disse i visninger siden. Problemet oppstår dersom en legger til et eller flere felt i tabellen view'et er opprettet for -- data blir "plutselig" feilplassert.
Tabellen over inneholder felt med ulike datatyper for å lettere vise problemet. Et view opprettes for tabellen:
Merk at All Columns er valgt og ikke spesifikke felt. Nederst vises dataene i tabellen som forventet.
Så gjør vi en liten endring i tabelldefinisjonen:
Over er det lagt til et nytt felt Felt_Nytt. Det er også satt en standardverdi for feltet slik at problemet med view'et blir lettere å se.
Og her er view'et nå: Feltnavnene er de samme som når view'et først ble laget, men dataene har blitt forskjøvet. Legg merke til at Felt1 inneholder teksten til det nye feltet foran (som ikke vises). Felt2 har verdien til Felt1 og Felt3 har verdien til Felt2.
Dette problemet oppstår imidlertid ikke når alle feltnavnene spesifiseres i view'et. Det er da mulig å gjøre endringer i tabelldefinisjonen uten at view'et påvirkes (så lenge du ikke sletter et felt, vel og merke).
tirsdag, november 21, 2006
Generatorer for webprogrammerere og -designere
Anti-Cross Site Scripting Library: Ekstra sikkerhet for webapplikasjoner
Interessant.
http://msdn2.microsoft.com/en-us/security/aa973814.aspx
torsdag, november 02, 2006
Gratis partisjonering av systemdisk med GParted LiveCD
Jeg satt klar med kredittkortet for å bestille Norton PartitionMagic, men det er noe i det å svi av 450 kroner for et program som brukes svært sjeldent. I steden søkte jeg litt mer rundt på nettet og fant lykken helt gratis.
GParted er et Open Source Linux-basert diskvertøy med lettfattelig grafisk brukergrensesnitt og støtte for å krympe og dele opp partisjoner. Den lar en til og med opprette NTFS-partisjoner. Den gode nyheten (for en Windows-bruker) er at Linux ikke behøver å installeres på maskinen. GParted LiveCD kan lastes ned som et ISO-bilde og brennes rett på CD. Start opp maskinen med denne CD'en i, og en nedskalert Linux-utgave lastes inn og kjøres fra minnet. (Dersom maskinen ikke starter opp fra CD-rom-stasjonen må boot-rekkefølgen endres i BIOS på maskinen)
GParted LiveCD (og andre varianter) kan lastes ned fra http://gparted.sourceforge.net/
Et fint gratis-program for å brenne ISO-bildet til CD er BurnCDCC fra Terabyte Unlimited. Programmet kan lastes ned fra denne siden: http://www.terabyteunlimited.com/utilities.html
onsdag, oktober 18, 2006
Sikker kode - tips fra Microsoft
http://msdn.microsoft.com/msdnmag/issues/06/11/SecureHabits/default.aspx
torsdag, oktober 12, 2006
Artikkel om lydgenerering
Fundamentals of Sound: How to Make Music out of Nothing at All
http://www.codeproject.com/cs/media/CPIAudio.asp
fredag, oktober 06, 2006
Dersom du er redd for å slutte å bruke HTML-tabeller til layout, så...
http://www.alistapart.com/articles/12lessonsCSSandstandards
mandag, september 04, 2006
SandCastle Help File Builder...endelig!
SandCastle - August Community Technology Preview (CTP) må lastes ned og installeres først fra http://www.microsoft.com/downloads/details.aspx?FamilyID=E82EA71D-DA89-42EE-A715-696E3A4873B2&displaylang=en.
Installasjonsprogram for Sandcastle Help File Builder kan lastes ned fra http://www.codeproject.com/useritems/SandcastleBuilder.asp.
NB: Jeg fikk ikke programmet til å fungere umiddlerbart. Under Dependencies var jeg nødt til å legge inn stien til .NET Framework. Deretter spyttet den imidlertid ut dokumentasjon som hakka møkk :-)
torsdag, august 24, 2006
Gode ideer som ikke er så gode likevel
Det syntes som en svært god ide klekket ut av en brilliant mesterhjerne da jeg kodet en webside til å ikke å akseptere direkte kall -- kun ved klikk på lenker under samme domene skulle funksjonaliteten igangsettes. Det uheldige var selvsagt at jeg ikke sjekket grundig nok om ideen lot seg omsette i praksis. Så hva var det jeg hadde gjort og hva ble galt?
I webprogrammering har en tilgang til en rekke variable som sendes med forespørsler fra nettlesere. Den jeg benyttet meg av var URLREFERRER. For å sikre mot lenker fra andre domener kontrollerte jeg at denne inneholdt samme domene som applikasjonen kjørte på. Applikasjonen er forøvrig en butikkløsning og det kom snart undrende spørsmål fra kunder som ikke kunne handle i butikken. Unødvendig å nevne at dette fikk fart på både meg og andre.
Det som skjedde var at kundene hadde brannmurer som filtrerte bort URLREFERRER fra forespørsler, og koden "trodde" dermed at noen hadde forsøkt å få tilgang til siden ved å skrive inn adressen direkte i adresselinjen i en nettleser. Huff!
Moralen i historien må vel bli at fokus på sikkerhet er viktig, men det er like viktig å undersøke at sikkerheten som etableres faktisk ikke ødelegger for vanlige brukere. Jeg bommet stygt på det siste.
(I lukkede løsninger tror jeg imidlertid at denne teknikken kan benyttes som et av flere tiltak. Så det så.)
lørdag, august 05, 2006
Artikkel om sikkerhet i webapplikasjoner
Følgende lenke er til en artikkel skrevet av Sverre H. Huseby som tar for seg ulike former for angrep med interessante og faktiske eksempler. Artikkelen er et godt utgangspunkt for å utvikle en forståelse for hvilke farer som lurer ”der ute”. Han foreslår at utviklere tar til seg følgende mantra når de utvikler programvare: "All clients are evil". Ingen inndata må tas for gitt. Har du sendt en verdi til klienten, for eksempel en informasjonskapsel eller et skjult felt, så må ikke applikasjonen blindt akseptere verdien når den postes tilbake. Den kan ha blitt endret.
Common Security Problems in the Code of Dynamic Web Applications http://www.webappsec.org/projects/articles/062105.shtml
mandag, juli 24, 2006
Google Copernicus Center
"I read your great plans for a truly inspiring workplace on the moon. Since I am constantly searching new job opportunities, I would like to apply for the position as the sushi chef’s fish-chopper assistant (I work as a programmer here on earth, but I’m a fast learner).
As a descendant of the true discoverers (Norwegians) of America, and as such a proven earthling, I hope you’ll find my application of interest.
Regarding my physical shape…I hope your review stays in the digital domain.
Cheers,
Kenneth Lykkås
Happy programmer"
Jeg fikk et automatisert svar fra Google om at alle stillinger allerede var besatt, men nye søknader ville bli tatt opp til vurdering 1. april 2104.
Informasjon om Google Copernicus Center er å finne på følgende adresse: http://www.google.com/jobs/lunar_job.html
torsdag, juli 20, 2006
Generere dokumentasjon fra assembly og kodekommentarer
Utviklere har derfor "skreket" etter en oppgradering, og svaret har kommet fra uventet hold: Microsoft slipper sitt eget verktøy for generering av dokumentasjon!
Sandcastle er navnet på Microsofts interne verktøy, og det er benyttet til å generere dokumentasjonen for .NET Framework. Sandcastle slippes før utgangen av juli i følge Anand Raman hos Microsoft. Sjekk linken nedenfor for mer informasjon. Klarer nesten ikke å vente, jeg!
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=517576&SiteID=1
Oppdatering 5. august 2006
Ja, nå er SandCastle klar for nedlasting. Jeg må innrømme at jeg forventet et like enkelt brukergrensesnitt som NDoc, men der tok jeg veldig feil. Det er imidlertid en del utviklere som har kastet seg rundt for å lage både GUI'er og skript.
SandCastle July CTP kan lastes ned fra http://www.microsoft.com/downloads/details.aspx?FamilyID=E82EA71D-DA89-42EE-A715-696E3A4873B2&displaylang=en.
Ellers virker dette Add-in-prosjektet for Visual Studio 2005 svært interessant: http://dotnetpret.blogspot.com/2006/08/sandcastle-continued-documentation.html.
tirsdag, juli 18, 2006
Regne ut ny høyde og bredde for miniatyrbilder
Disse formlene løser problemet greit:
Ny bredde beregnes slik:
ny bredde = bredde * ny høyde / eksisterende høyde
Ny høyde beregnes slik:
ny høyde = høyde * ny bredde / eksisterende bredde
Formlene kan også kombineres for å sørge for at et miniatyrbildet har både en maksbredde og en makshøyde.
I kodeeksemplet nedenfor er maks bredde og høyde 200 piksler. Ny størrelse vil beregnes (til 200 X 150) fra original størrelse (400 X 300).
Dim hoydeEksisterendeBilde As Integer = 400
Dim breddeEksisterendeBilde As Integer = 300
Dim maksBredde As Integer = 200
Dim maksHoyde As Integer = 200
Dim nyBredde As Integer = maksBredde
Dim nyHoyde As Integer = hoydeEksisterendeBilde * nyBredde / breddeEksisterendeBilde
If nyHoyde > maksHoyde Then
nyHoyde = maksHoyde
' beregn bredde siden bildet var for høyt
nyBredde = breddeEksisterendeBilde * nyHoyde / hoydeEksisterendeBilde
End If
Oppdatering
Jeg har siden funnet et eksempel på det samme i "Personal Web Site Starter Kit" som følger med VS 2005. Prosjektet kan også lastes ned fra http://www.asp.net/downloads/starterkits/default.aspx?tabid=62.
fredag, juli 14, 2006
Visual Basic Compiler - irriterende problem
Dette føltes som en god idè når jeg satte det opp, men det begynte snart å dukke opp en svært irriterende feil som ser slik ut:

Når denne starter slutter den virkelig ikke. Melding popper opp gang på gang og legger seg over alle andre vinduer i Windows. Eneste løsning er å stoppe Visual Studio.
Nei. Konsollprosjektet er trolig årsaken til alle interne uroligheter og stemmes derfor UT. Testkoden skal jeg flytte over i en Code-behind fil i ASP.
torsdag, juli 13, 2006
Krigsgrisene
http://www.bushflash.com/warpig.html.
NB: Det legges ingen fingre mellom i denne presentasjonen av Irak-krigen!
onsdag, juli 12, 2006
Endelig en film å glede seg til igjen!
Sjekk traileren på IMDB: http://www.imdb.com/title/tt0405296/trailers-screenplay-E26723-10-2
