iTrond.net

[aiTrond dått nett] --> .NET, seiling, roboter og annen morro!
Velkommen til iTrond.net Sign in | Join | Help
in Search

Trond

  • Favorittverktøy 1 - LINQPad

    Tenkte jeg skulle kjøre en serie med mine favorittverktøy.

    Rekkefølgen er egentlig vilkårlig, og jeg hopper over selvfølgelige ting, slik som Visual Studio.

    I dag vil jeg fortelle om LINQPad .

    Hvis du bruker LINQ er dette et "must have". Her kan du teste ut queries "on the fly". Det er på en måte LINQ's svar på SQL query analyser. Men, bedre...

    Du kan åpne en connection mot databasen, og LINQPad leser gjennom dictionary'en og lager et "LINQ objekt" for tabellene. Du får også utomatisk laget assosiasjoner mellom tabeller basert på fremmednøkler i databasen. Det gjør at dette også er et glimrende verktøy for å bli kjent med en ny database. Du kan typisk da "drille" deg oppover og nedover i hiearkiet. Fks   ..... OrdreLinje.Ordre.Kunde.Adresse... her er har man gått opp 3 nivåer uten å skrive en eneste join selv :-)

    Resultatsettet av querien vises nede til høyre... og her viser LINQ muskler. Har du nøstede resultatsett.... så vil du se det grafisk fremstilt her ... jeaaahh.

    Det eneste minuset (og det er dessverre litt stort minus), er at det ikke er intellisense som hjelper deg å skrive Queries... så her må man være litt kreativ... fks ha visual studio ved siden av...

  • Windows Live Writer

    Windows Live Writer er et ypperlig verktøy å bruke for å blogge.

    Det gjør det lettere å legge inn bilder og tabeller og så videre:

     

    Her er for eksempel en tabell.

    Til høyre har jeg lagt inn et skjermbilde.
     
    nede til venstre i tabellen nede til høyre i tabellen

     

    Window Live Writer er gratis og kan lastes ned her

  • prototypekarbohydrat

    Dette er bare for å "trø vannet" litt.

    Har ikke noe foruftig å si, men min svigerinne og jeg lurte på om ordet prototypekarbohydrat var brukt på nettet.

    Og det var det ikke, - ifølge Google.

    Men hvis du søker på det nå....... så finner du det kanskje?

    Og hva det betyr....- tja. neppe noe fornuft, men Bente tror at sukker er et prototypekarbohydrat... 

     

  • Jolleseiling

    min absolutte favoritthobby er seiling.

    Her er noen artige klipp som kan gi deg en annelse om hvorfor jeg synes det er så gøy:

    Diverse actionsekvenser: http://youtube.com/watch?v=nDToL593cmU

    Snipe:

    - http://youtube.com/watch?v=jMz7w74m_1E

    - http://www.youtube.com/watch?v=iWfH6cLzAmU

    - http://www.youtube.com/watch?v=BfuA75AQUJY

    - http://www.youtube.com/watch?v=aJY7PfNTN8Q

    - http://www.youtube.com/watch?v=mMPy7Co0XB8 

     

     

  • MIX 07 og Silverlight

     

    Da er Microsoft MIX07 konferansen i gang, og endelig kom nyheten om at Silverlight vil komme med CLR. Riktig ikke før versjon 1.1, men den er allerede i alfa-versjon, så om ikke lenge så kan vi slippe å forholde oss til Javascript (jippi!).

    Keynote'n var bra, utrolig mye kule GUI effekter med Silverlight. Imponerende verktøystøtte for XAML. Imponerende vertøystøtte for programmering. Hva med demoen der Scott Guthrie debugger remote mot Silverlight kode som kjøres på en MAC !

    Microsoft lanserte også en Community site for Silverlight som ser meget lovende ut.

     

    Posted 1. mai 2007 19:47 by Trond | 0 Comments
    Filed under:
  • Loftsvinduer

    Da har vi endelig fått inn loftsvinduene.

    Jeg er meget godt fornøyd med mitt nye hjemmekontor!!

  • Christian Weyer kommer til Bergen!

    Da er det offisielt: Christian Weyer kommer til Bergen den 30. mai!

    Christian Weyer er en profilert software arkitekt og viden kjent for sin ekspertise i SOA. I regi av NNUG besøker han byene Oslo, Bergen og Kristiansand (henholdsvis 29., 30. og 31. mai)

    Spre ordet, og merk datoen i kalenderen!

    Posted 13. mars 2007 21:18 by Trond | 0 Comments
    Filed under: ,
  • Fordelen med en "Geek" som mann

    Her er historien om en kvinne som vet å verdsette sin mann :-)

    Hans kones bærbare ble stjålet. Mannen hadde installert SETI på den, og klarte å spore opp IP'en da maskinen leverte pakker til SETI serverne! På den måten kunne politiet sporet opp maskinen.

    Les hele historien: http://hosted.ap.org/dynamic/stories/T/TECHBIT_ALIENS_LAPTOP?SITE=FLDAY&SECTION=HOME&TEMPLATE=DEFAULT

    Det jeg likte aller best med historien var konens uttalelser: 

    "I always knew that a geek would make a great husband," she said. "He always backed up all my data, but this topped it all. It became like `Mission: Impossible' for him, looking for hard evidence for the cops to use. ... He's a genius - my hero."

  • Office Open XML Format

    Selv om vi applikasjonsutviklere ikke liker det, så er det nå engang slik at vi må forholde oss til Office-produktene. I ethvert prosjekt så dukker det opp et krav om at man skal kunne eksportere til Excel osv.

    Når man da lager web applikasjoner, så krever det en server-side generering av office-dokumenter. Dette fører ofte til at man installerer Office på serveren, og bruker Ole-kall eller tilsvarende for å generere dokumentene. Det er mange grunner til at dette IKKE er noen god løsning(jeg overlater det til leseren som en øvelse å lukte frem hvorfor).


    Men nå som Microsoft har valgt å lage en åpen standard basert på xml(Office Open XML Format) for sine officeprodukter så åpner det seg nye muligheter. Dette ligger som grunn i Office 2007, men ved å installere en konverter så er det bakoverkompatibelt med office 2003.


    Jeg fant et fint bibiliotek som abstraherer ytterligere det å integrere mot Excel. Dette passet som hånd i hanske på det jeg skulle gjøre. Biblioteket heter ExcelPackage Open Xml.

    Se hvor enkel koden ble: (og husk: ingen office på serveren!)

           

      Guid g = Guid.NewGuid();

            string filsti = HttpContext.Current.Server.MapPath("../../temp");

            string templateSti = HttpContext.Current.Server.MapPath("../../Maler/minmal.xlsx");

            FileInfo routerlistefil = new System.IO.FileInfo(filsti + @"\" + g.ToString() + ".xlsx");

            FileInfo template = new FileInfo(templateSti);

            using (ExcelPackage xlPackage = new ExcelPackage(routerlistefil, template))

            {

                ExcelWorksheet ewb = xlPackage.Workbook.Worksheets["Routerliste"];

                xlPackage.DebugMode = true;

                xlPackage.Workbook.CalcMode = ExcelCalcMode.Automatic;

               

                DataTable dt = minDAL.HentData(int id);

                int hStyle = ewb.Cell(rad, kolonneStart).StyleID;

                // overskrifter

                foreach (DataColumn dc in dt.Columns)

                {

                    ewb.Cell(rad, hkolonne).StyleID = hStyle;

                    ewb.Cell(rad, hkolonne).Value = dc.ColumnName;

                    hkolonne++;

                }

                rad++;

                //innhold

                int iStyle = ewb.Cell(radStart + 1, kolonneStart).StyleID;

                foreach (DataRow dr in dt.Rows)

                {

                    int kolonne = kolonneStart;

                    foreach (DataColumn dc in dt.Columns)

                    {

                        ewb.Cell(rad, kolonne).Value = " " + dr[dc].ToString();

                        ewb.Cell(rad, kolonne).StyleID = iStyle;

                        kolonne++;

                    }

                    rad++;

                }

                xlPackage.Save();

            }

            excelExpKlikkLabel.Visible = true;

            excelRapp.Visible = true;

            excelRapp.NavigateUrl = "~/temp/" + g.ToString() + ".xlsx";

           

  • Linq - Del 2

    I går holdt jeg foredraget om LINQ. Takk til dere som har gitt tilbakemeldinger.

    Jeg har lagt ut powerpoint-slides og kodeeksemplene.

    For å kjøre kodeeksemplene må du først laste ned Visual Studio "orcas" January CTP; [link]

    Merk følgende:

    1. Du må ta med følgende referanser for å bruke linq : System.Core, System.Data.Linq, System.Xml.Linq (Disse ligger ikke i GAC'en av en eller annen grunn, så de må du finne frem i filstrukturen: typisk : C:\WINDOWS\Microsoft.NET\Framework\v3.5.xxxxx)
    2. Inkluder: using System.Linq; (og eventuelt system.data.linq  og system.xml.linq)

    For å boltre å øve seg i de nye språkmulighetene så er det 101 eksempler her å lære fra.

    For de som vil prøve seg : Lykke til, og ikke nøl med å ta kontakt for spørsmål eller for å dele erfaringer!

     
  • Digital Hverdag - the day after

    For å være helt ærlig synes jeg hele opplegget var dårlig. Hvem var målgruppa? Innovasjonstorg og elkjøp på samme messe... nei... det hele ble rotete og forvirrende.. og kjedelig.

    Det er betegnende for messa at Morten kom hjem med det eneste analoge produktet som var på messa: Kaffemaskinen.

    Åpningsshowet var bare på tryne. Ingen type ”keynote”, - bare reklame for Microsoft Vista og de andre sponsorene. Mesteparten vist med ferdigprodusert tv-reklame. Vi gikk etter 15 minutter.

    [reklame kan vi se på TV - hjemme]

  • Digital hverdag 07 (i Bergen)

     

    Nå er det bare få dager til Digital Hverdag 07 går av stabelen i Bergen. Gøy å se at Bergen sette seg på kartet som en IT by.

    Det ser ut til å være mye interessant å se på. Jeg tenker ofte på hvor heldig vi er som lever midt oppi denne Klondike-tiden som vi faktisk gjør. Mange jeg snakker med er av den oppfatning at de gyldne IT-tiden dabber ut. Jeg tror, og håper :-), at de tar feil.

    Masse artige ting kommer fremover: Mobilitet, mobilitet, mobilitet, biler som kjører av seg selv, roboter som rydder og rengjør huset for deg osv osv  (noe er jo godt frem i tid...men..)

    Og så en ting til: Det ser ut til å skyte fart nå!! Og en viktig grunn til at det skyter fart er at softwareindustrien har hevet seg et nivå opp. Standardisering av data og meta-data. Økt forståelse i hvordan man syr sammen autonome systemer på løst koblet måte. Videre er det økt forståelse for å lage systemer som støtter kommunikasjon og menneskers intellekt istedet for systemer som strukturerer og manifisterer fastlagte rutiner.

    Det er også interessant å høre at denne måten å tenke på også reflekteres i bedriftskulturer generelt. Mange begynner å faktisk å rynke på nesen over bedrifter som er iso 9000 sertifisert, begrunnet med at dette er bedrifter som har stivnet i rutiner og ringpermtankegang.

  • Gjensyn

    Det er rart å se igjen Helios som jeg laget for en del år siden. På utsiden ser det ganske spenstig ut (synes jeg ihvertfall). Og siden jeg bruker Windows Vista, så har det fått en ekstra kul look nå, -sånn helt gratis.

    Når jeg kikker under panseret på programmet(i kildekoden), så var det ikke fult så kult :-). Jeg har nok lært litt i det siste ja, og ville nok ikke laget systemet likt i dag.

    Grafikken er laget med GDI+, og grafikken skalerer flott med resize av vinduet. Videre kan man bevege musen over nedre grafiske bilde og får se korresponderende døgnprofilen i øvre del. Det er også en stilig "simulerings"-funksjon, som kjører en animasjon som simulerer hele lysperioden. Koden for grafikken er på en ca 600 kodelinjer. Det hadde vært artig å prøve å lage det samme med WPF (Windows Presentation Foundation).

    Så hvis noen kjenner til noe prosjekt på WPF eller WPF/E så gi beskjed. Jeg er med!

    Vel, Helios funker supert, men det er noen bugs i det som må fikses. Så jeg fortsetter på det istedet for å skrive mer på denne blog-posten:-)

     

     
  • Den geniale ide, husbygging og roboter

    Mange ganger når jeg ser resultatet av en god ide så tenker jeg : "ahhhr, - det har jeg nesten tenk på selv". Og noen ganger har jeg tenkt på det, men bare ikke skjønt hvor potent ideen er (om jeg hadde skjønt det så hadde jeg ikke vist hva jeg skulle gjøre videre så....)

    Vel, denne gangen var jeg VIRKELIG nærme! Jeg har ofte tenkt på husbygging og roboter. Roboter har den fantastiske egenskapen at de aldri går lei, klager aldri på lønna, trenger hverken pauser eller søvn. Tenk deg en snekker som jobbet i 24 timer pr døgn, uten lønn.. Ja du skjønner poenget mitt. Problemet er at det å sette opp et hus er langt fra trivielt. Så med dagens teknologi (både soft- og hardware), så er det ikke gjenomførbart å lage en robot-snekker. Her har resonementet mitt stoppet.

    Så parallelt med dette har jeg vært fasinert over en annen ide. Min kamerat, Inge, er hydrodynamiker. Han designer flotte fartøyer i 3D verktøy. Selv om det er fint å se på skjermen i 3D har de lyst til å få se en fysisk 3D-modell av båten. Før brukte de folk som laget disse for hånd, men så kjøpte de en 3D-skriver. Den fungerer på den møten at den bygger opp modellen ved å gå lag for lag å presse ut lim med farge i. Inge og jeg pratet om at det hadde vært morsomt å hatt en stor 3D-skriver som kunne "skrive" ut båter i 1:1, - altså den ferdige båten! Vi forlot ideen der.

    Men så er det altså noen som har kombinert disse to ideene: Nemlig å lage en 3D-printer til å printe ut hus i fullskala! Basert på en sementlignenede guffe som "printes" ut lag for lag, vokser huset oppover, nesten organisk. Og nettopp "organisk" er et stikkord her. En 3D-printer kan skrive i alle tenkelige vinkler uten at det koster noe mer, så nå kan vi alle få Gaudi hus (http://www.byrosiner.no/Barcelona.html).

    Referanser:

     

     

     

  • Rydding i boden og "Life hacks"

    Det å ha ryddet skikkelig i noe gir meg alltid en god følelse. Enten jeg rydder i kode eller i "fysiske ting" :-)

    Nå var det boden som stod for tur for en deframentering. Resultatet er forfriskende:

    Dette minner meg om to podcaster om "Life Hacks" jeg hørte på hanselminutes (takk Jon Arild).

    "Life Hacks" er små tips eller verktøy for å få mer ut av dagene. Vi har det vel alle slik at vi føler at det var så mye vi skulle ha gjort, og så føler vi at vi går litt i sirkel uten å få gjort noe. Noen utvikler også stress pga av denne følesen av å aldri være ajour.

    Jeg er så absolutt ikke noe mester i produktivitet og livsmestring, men jeg deler likevel ut mine "hacks" her:

    1. Ikke se på TV

    Hvis du føler tiden ikke strekker til, så slutt å se på TV. Det frigjør masse tid og du går IKKE glipp av eneste ting! Sjekk en uke hvor mange timer du bruker på TV, og så skriver du ned ved siden av hvor mange timer du bruker på å spille spill med ungene dine (eller hva du helst vil gjøre). Hvis du vil fortsette å se like mye på TV så skriver du bare ned: "Jeg prioriterer å se x antall timer med TV fremfor å spille spill med ungene mine(eller hva du helst vil gjøre)". Det er snakk om bevistgjøring. Min kone og jeg har våre beste stunder når vi setter oss ned alene med et glass rødvin, og uten TV. En time to ganger i uka burde vært obligatorisk for alle ektepar, - og ja: Du HAR tid.

    2. Få nok søvn

    Med nok søvn får du gjort mer, og du føler deg bedre. Hvis du blir trøtt rett etter å ha spist lunsj, så har du fått for lite søvn om natta.

    3. Ta regien i livet ditt

    Ta REGIEN i livet ditt, - ikke la andre ta den. Det betyr ikke at du kan gjøre som du vil. Vi har alle forpliktelser; jobb familie osv. Men hvis du har en offensiv og optimistisk tilnærming til livet, -så har man et utrolig spillerom innenfor de faste rammene.

    4. Gjør jobben din (les mail)

    Kan høres ut som et rart punkt, men jeg mener det helt seriøst. Jeg møter ofte folk som "skryter" av at de har x-hundre uleste mail i inn-boksen. God kommunikasjon er helt vesentlig for et effektivt arbeidsliv. Hvorfor har denne ukulturen med at det er helt ok å ikke lese mail dukket opp? Jeg har aldri hørt noen skryte over andre deler av jobben sin de ikke har gjort: "Jeg har 20 ikke-utsendte fakturaer", "Jeg har skulket 7 kundemøter". Poenget mitt er at du skal gjøre jobben din. Hvis du ikke har fått unna all oppgavene dine så må du jobbe overtid. Hvis ikke det hjelper så får du si ifra til sjefen, for da må det omorganiseres. Kanskje du må få en sekretær til å hjelpe deg? Det er ikke det du gjør som stresser deg, - det er det du ikke gjør som stresser deg.

    5. Skryt av deg selv, - og andre!

    Når du har gjort noe bra, så skryt av deg selv. Jantelovens tid er forbi. Selvskryt setter søkelyset på det man har oppnådd, - og forteller man det til andre, så smitter det positiv energi. Selvskryt på bekostning av andre er selvfølgelig ikke bra ("jeg klarte noe som ikke han klarte", "jeg ryddet opp i andres rot"). Men skryt av deg selv og andre. Vi er gode!

    6. Rydd i boden

    Rydd i boden. Man må ha minst 2 kubikkmeter med ledig hylleplass i boden for å få et lykkelig liv.

    Bilder av praktboden:

     

    Serveren som som server itrond.net er stuet effektivt oppunder taket :-) 

More Posts Next page »
Powered by Community Server, by Telligent Systems