Archive for the ‘Projekter’ Category

Building a chat with nice tabs in jQuery

Saturday, December 10th, 2011

I am currently trying to find an excuse to work with NowJS which is a very cool NodeJS server that makes it possible to make a server push to connected clients. You are able to group your users into “channels” and only send some groups messages.

I have only been able to build the client, and the javascript that goes with it. It is still very hacky (both css and javascript) but the core concepts is there.

You are able to see a demo here: Demo chat preview

If you were active on the danish chat ‘Jubii Chat’ back in the day, you would be able to recognize one of the users ;)

Sommerferie projekter, og et 10-tal!

Wednesday, July 7th, 2010

Jeg har fået afsluttet mit tredje semester på Datamatiker-studiet. Vi har lavet et projekt i samarbejde med de andre grupper på årgangen. Vi stod for backend-delen af systemet, og så var der to andre grupper som stod for front-end delen.

Jeg blev syg til den oprindelige eksamen, så måtte til syge-eksamen, og jeg fik 10! God måde at starte sin sommerferie på :)

Her er en række projekter min sommerferie kommer til at gå med:

Pitch a game concept and win

Vi har i UngeSpiludviklere fået sponsoreret et par Xbox’e og HTC HD2 telefoner af Microsoft. Og vi har sammen med fagforeningen PROSA og spil-foreningen IGDA, fået stablet et arrangement på benene.

Konceptet går på at vi samler en masse danske spiludviklere, og får dem til at pitche idéer for hinanden, dem der har den bedste idé, får en Xbox eller en mobil til at lave deres spil på.

Roskilde-festival

Vi har igen i år et festivals projekt i Ungdommens Naturvidenskabelige Forening (UNF). Jeg har været koordinator og styret hele projektet. Vi laver en energivenlig netcafé, og oplade station på festivallen.

Vemod

Nu kommer vi til softwareprojekterne, det her er skrevet i C#.

Hvor tit sidder man ikke og savner muligheden for at søge efter et billede i et billede?

Jeg er ved at bygge noget software som muliggører at søge efter billeder i billeder. Den er dog ikke helt effektiv endnu, men jeg har et par tricks i ærmet. En test jeg kører lige nu giver følgende resultater:

bigpicTid for at at søge efter billederne i det store billedet:
2xchart 3,809 sekunder
3xcheckbox 2,135 sekunder
1xdownloads 14,997 sekunder

:)

Non-blocking connections i Java

Tuesday, April 27th, 2010

Jeg sidder lidt her og arbejder på en multitrådet chat-server der basalt minder lidt om IRC-protokollen. Da IRC i sit design mere bygger på stabilitet, og ikke så meget på hastighed, kan jeg ikke bare kopiere en typisk IRC-servers design.

Min første approach på at lave en multitrådet server gik med at bruge java.net.Socket, men der stødte jeg hurtigt på lidt problemer. På server-siden samler jeg alle mine klienter i forskellige rum, og broadcaster beskeder fra andre klienter til klienter i samme rum. java.net.Socket er en blocking-connection, dette kan nemt forklares ved følgende eksempel: (OBS! Pseudocode, skal du have det til at virke skal du bruge Outputstream på din socket)

class Room
{
    ArrayList clients = new ArrayList();
    public void broadCastToAll(String msg)
    {
        foreach(Socket s : clients)
        {
            s.out.write(msg);
        }
    }
}

Denne kode er lidt dum i et multi-trådet miljø, men det jeg vil fokusere på er s.out.write(), denne metode terminerer ikke før beskeden er sendt til klienten.

Det betyder at en langsom klient kan blokere for beskeder til de næste klienter i listen, derfor kaldes det blocking I/O. For at komme udenom dette bliver man nødt til at benytte java.nio.* hvilket virker nogenlunde ens, bare uden at blokere.

Til Copenhagen Games sammen med UngeSpiludviklere

Wednesday, April 7th, 2010

Jeg deltog til Copenhagen Games der forløb af stablen fra 1. til 4. April i Øksnehallen. Det var i forbindelse med et arrangement sammen med UngeSpiludviklere, vi havde en lille stand hvor vi viste vores spil frem, og vi havde også taget elektronik med fra Labitat. Prosa havde givet os mulighed for at deltage på standen, så den var beklædt med PROSA-bannere, brochurer og reklamer.

Der var også et tv-hold fra en skole der var ude og optage, og i den forbindelse blev jeg også interviewet.

Man kan se flere film fra eventet her.

Alt i alt var det rigtigt spændende, og en rigtig fed oplevelse! :)

WRT54GL Custom Firmware i Safari, og dumme udviklere!

Wednesday, March 17th, 2010

For et par dage siden sad jeg, og ville ligge OpenWRT ned på min WRT54GL-router. Dette er for at udvide rækkevidden, hastigheden, antal SSID’s og for at køre små programmer (OpenVPN) på den.

WRT54G

Jeg stødte dog ind i et problem der stoppede mine installationsplaner i et par timer. Når jeg prøvede at uploade den fil som det nye styresystem ligger i, fik jeg den sjove fejlmeddelse “upgrade are failed“. Noget siger mig at Linksys udviklerne er glade for Broken-English som i “all your base are belong to us” :)

Efter at have prøvet at downloade diverse filer, og prøve at ligge dem op på routeren uden held, så slog det mig: Jeg bruger Safari, hvad nu hvis jeg prøver Google Chrome? Så jeg prøvede i Google Chrome, og BAM! så virkede det. Linksys udviklerne har formået at fucke et simpelt upload script op, og lave det non-crossbrowser compliant.