Tack och hej!

Sedan urminnes tider har jag haft ett @home.se-konto .. de senaste åren (ganska många) har jag dock primärt använt Google för mail. Jag har ändå haft home.se-kontot kopplat genom POP3 för att hålla lite koll och i den takt mailen rullat in via home.se, styra om dem till Google.

Sedan den 31/10 har POP-funktionen blivit en betaltjänst. Vilket innebär att du som har använt ett eget e-postprogram för att läsa din e-post behöver uppgradera tjänsten, om du vill fortsätta använda ett eget e-postprogram.

Jag lämnar det gamla kontot åt sitt öde, då jag ingenstans kan hitta var man avslutar kontot (de enda support-avsnitten som innehåller ordet “avsluta” rör SprayDate), jag kopplar loss det från Google Mail och det får falla i glömska.

Skulle ni mot förmodan sitta med adressen christopher.isene@home.se i er adressbok, ta bort den och ersätt med @gmail.com dito.

24 Hour Business Camp

Sitter på Yasuragi Hasseludden, klockan är 02:20 och vi är runt 100 nerdar som kodar på våra projekt, mindre än 10 timmar kvar till deadline. Just nu känns det som vi kan komma någon vart med projektet men det blir segare och segare, varit vaken sedan 08-tiden, lite svid i ögonen, små avbrott med kaffe och ett varv ut på verandan. Kodar vidare med psytrance på hög volym i öronen … koncentration. En sipp kaffe och så på det igen.

Skall bli spännande att se alla bidragen presenteras.

Mycket och lite

Jag har haft mycket att göra på jobbet de senaste månaderna, ofta 10-12 timmar om dagen. När jag kommit hem på kvällarna har jag oftast dött soffdöden efter jag käkat. Det är stimulerande arbete och jag gillar det eftersom det är ganska omväxlande och utmanande .. Men i stora mängder under längre tid är utmattande.

En kamrat (som varit utbränd) har visat oro, jag förstår oron. Jag är inte gjord av stål och jag har inte har inte uthålligheten att fortsätta i samma tempo särskilt länge. När jag känner att jag inte klarar av mer ska jag säga till och kliva av banan, koppla bort jobb och isolera mig en stund och ägna mig åt något som kräver min fulla koncentration och skärpa; foto eller pistolskytte.

Arbetssituation just nu är “vi ser ljuset i slutet av tunneln”, vi har passerat delarna som kräver engagemang 10-12 timmar av dagen .. Nästa deadline ligger drygt 3 veckor framåt i tiden och får jag halva den tiden “ostörd” så är jag övertygad att jag fixar det på normala arbetstider.

Bara för att testa

… så har jag slagit av moderation av kommentarer.

Thoughts about distributed DNS

I’ll start off by saying that I ran two BIND9 DNS servers for about 5 year, in a master/slave configuration where the slave mirrored the master through zone transfers for about 200-250 domains. So, I’ve got some basic knowledge about the DNS system.

Peter Sunde (“Brokep”) posted somthing about distributed DNS on his blog twitter (articles here and here), I can’t find the original post anymore, but it set of lots of thoughts in this area and I’ve been juggling ideas the past weeks and months. I’ve got to get them out, to put them in writing.. and perhaps have them commented. A friend in the Telecomix cluster, Maloki blogged about Decentralizing DNS – Telecomix DNS, inspired me further by pointing me to thier wiki, where they had explored ideas and begun building test-software for proof-of-concept.

I’ll try to describe my ideas in a simple form and from a macro perspective, in a speculative way as I haven’t got all the pieces of the puzzle.

TLD and TLDcc
There is a system of TLDs at use that reflect how they are used, some well known is .MIL – the US Military, .EDU – US Universities and colleges, .GOV – the US government. The most common TLD today is .COM – Commercial, .NET – Networks .. and .ORG – Organisations. See the pattern? Most of them are US-centric, as the internet was born/invented in the USA.
TLDcc are Country-specific, they often reflect which country they belong to. I live in Sweden which have the .SE TLDcc, Norway got .NO and France have .FR as their TLDcc.

In a distributed DNS-environment (not depending on the global root-servers) there could be just about any TLD registered, .PIZZA, .UNCENSORED or .GAYPORN. TLDs could be your name, .JOESCHMUCK or .MIRANDAESTEVEZ, there really is no practical limits (AFAIK). There is of course limits to what people can remember and enter into and address bar in a browser.

IPv4 & IPv6
It’s important to cover both standards, the one in place (IPv4) and the up and coming (IPv6) as the IPv4 address space is near depletion and IPv6 allocation will spike soon after IPv4 has run out of allocations. Also, with IPv6 every man, woman and their dog each has enough address space that there still will be plenty for everyone.

The concept of distributed DNS
Distributed DNS (hereafter called ‘dDNS’) builds upon the idea of decentralizing the domain name system completely, to make it more resilient against attacks from governments, organizations or commercial interest groups who have taken it upon themselves to govern the internet, often globally as they often think that their local legislation is world wide. With a distributed DNS system, it would be very hard to take down domains, if not impossible.
Every participant/user in the system could register his/her own domain under just about any top-domain, for free.

Web of trust
With every server/client comes a user generated cryptographic key, a public key (known by everyone) and a private key that is password protected and should be kept secret. The key is used for authentication and signing of domain names. The web of trust is created by letting people who know each other in the meatspace sign each others keys, this could be simple as entering your keys fingerprint onto a web page and sign your friends keys, an operation that could be done off-line too.
By assigning each friend a level of trust, the network of trust forms clusters, friends and family are often trusted and get a high trust-level, acquaintances or people you barely know get a weak trust-level. Your friends then repeat the process with their friends and so on. Friend-of-friends are somewhat trusted, through trust between you and your friends.

Redundancy
Information stored in a lot of places, geographically separated, are more safe than if stored on servers in the same datacenter. It is also less sensitive to attacks if mirrored across several countries or even continents.

Second-opinion
A system with second-opinions is a way to implement a certain level of security-by-peers, where a local query that has not been cached before, is sent to a number of random peers, when the replies arrive they are compared and checked for authenticity, then passed back to the system. Failing comparison from a few peers, should trigger another round of queries to random peers. Time-sensitive.

Self-tests
To strengthen the security of the system, each and every server/client should perform self-tests, to ensure that the cached data is accurate. By asking other servers/clients around them for information and comparing the results to what is cached locally, errors and/or false information can be found and reported. If a server/client has 15 neighbors and 14 of them reply identically and a single one replies with something else, the result of the faulty reply should be discarded and reported. Ongoing/periodical maintenance.

Distribution
What method of distribution is not really important, as long as the data is protected by encryption when it is transported. The data is then tamper-proofed by the encryption layer and eventual attempts to tamper with the data is discovered.
DHT or Kademlia has it’s pros and cons, to connect for the first time to either type of network, a seed IP is needed. Once connection with the network is established, there is a list of nodes saved and cached.

The transparent dDNS client
Most of the people on the internet today are running Windows on their computers, to ease the usage of the dDNS with it’s twists and turns over the Internet, it has to be very easy to install and run. It should be “Fire-and-forget” type of installation, you set it up once and you’re done. The dDNS client loads itself between the systems ordinary DNS client and the network stacks, to intercept DNS queries from the software installed on the computer.

A query’s life
A query is created when you need to reach another computer on the internet, normally your computer asks the DNS server your ISP has assigned you. That server could be compromised by either the ISP itself or by contract/law to block or filter queries for sites that your ISP/government has agreed to block. May it be copyright infringement or freedom of speech.
With dDNS server/client the query is intercepted and queries sent to the dDNS network first, if the network knows anything about the domain name, replies arrive and returns it to the system, if not, the query is passed the normal way and your ISP assigned DNS server does query dance, possibly giving you a wrong or completely false reply.

Stuff already there, or almost..
I’ve researched a bit on this subject, I found that Apples Multicast DNS (mDNS or Bonjour) client software is open source and available online. This package handles Zero-Configuration, network discovery of gateways, computers and printers. It also is capable of DHCP and other LAN-specific functions across several subnets.
The Freenet Project has the infrastructure to carry zone-information and queries, anonymously and cryptologically signed, over the internet.
A marriage of these two software bundles would create a drop-in replacement (as long as the core functionality in mDNS is kept in place) with a potential to overnight obsolete or put the existing DNS-infrastructure on the second violin, so to speak.

Several people have blogged about this:
Will DHS actions inspire a successor to DNS?
Telecomix take on distributed DNS

… this is just a text-blurb I’ve had marinating for a while (since January 2011), it’s not complete or technically fact-checked or anything. It’s meant to be some sort of blob of ideas for further discussions.

Tvångsblogga

Pratade tidigare i veckan med en vän som försöker och säkert lyckas skriva ett eller flera bloggposter om dagen. Om jag skriver en snutt nu, så kanske det lossnar.

Jag hade en riktigt aktiv period, när FRA-lagar och annat trams var på väg att klubbas in … tyvärr så antogs ju FRA-lagen i alla fall. Många poster skrevs på rent irritation/ilska och en del av dem länkades och lästes flitigt. Det har gått något eller några år sedan dess och nu befinner sig bloggen i något slags bakvatten, helt beroende på att jag inte uppdaterar eller postar.

Jag brukar lägga märke till saker i min närhet som jag reagerar på, antingen genom att kommentera det när det händer .. eller gå och mentalt suga lite på karamellen, dra någon intressant vinkel och blogga om det. Det blixtrar till ibland och jag skriver två eller tre poster på någon timme, för att sedan vara inaktivt i någon vecka, veckor eller i värsta fall, månader.

DYF bloggar .. eller bloggade. Det var lite av och på, vilken status det har just nu vet jag inte men jag vet att det är mode-bloggar som konsumeras, vem och vilka? Ingen aning, inte min te-påse.

Kul saker har hänt på sistone i alla fall; Min medverkan i tidningen Scoop, där intervjun publicerades och när jag fick döda-träd-versionen i handen, visade sig innehålla ytterligare en artikel som nämnde mitt lilla projekt, MediaCreeper.com.

Annars flyter dagarna på, nytt jobb, nya visioner och snart ny arbetsplats.

PHP Optimization, Randomness at work

I stumbled across a piece of code that were acting up, instead of 1048575 possible combinations (0×0 through 0xFFFFF hexadecimal) it varied between 16 distinct combinations … when executed a couple of thousands times in a tight loop.

	public static function generateBase16Code() {
		$chars = "0123456789ABCDEF";
		srand();
		$result = '';
		for ($i = 0; $i < 5; $i++)
			$result .= substr($chars, rand() % strlen($chars), 1);

		return $result;
	}

It produces a string of 5 chars, hexadecimal (0-9 & A-F) in a rather difficult way,

  • Define which characters to use in a string
  • Seed the rand()-function with srand()
  • Prepare a string to store the result in
  • Loop 5 times, where ..
    • A character is chosen from the string, based on "rand() modulo string-length", concatenated to the result-string
  • Return the generated result-string to caller

.. I thought for at few seconds and commented out the above code and replaced it with this;

	public static function generateBase16Code() {
		mt_srand();
		return strtoupper(substr('00000' . dechex(mt_rand(0x0,0xfffff)),-5,5));
	}

.. This could be a one-liner, but I wanted to make sure the random function were seeded properly, therefore two lines of code. The randomness factor is way higher and the function overall is faster, as it doesn’t loop and does string-concatenation only once, instead of at least five times. Also mt_srand() and mt_rand() uses the Mersenne Twister for better randomness, it could be tweaked further with a chosen seed for mt_srand().

Farväl lille vän

Vår kattunge “Slash” (tidigare “Lars”) och även känd som “Skrutten”, blev överkörd idag. Tack för den här tiden lille vän.

Trettiåtta och en

Japp, igår fyllde jag trettiåtta och blev gratulerad ordentligt av alla flickorna. Jag känner ingen större skillnad, 37 och 364 dagar eller 38 och 1 dag .. livet rullar på utan att ta notis om några siffror, man är ju ändå inte äldre än man känner sig.

Jag har bytt jobb och arbetar numera på Anbudspoolen TCS AB, en öppen portal för upphandlingar.

Ubuntu 11.04

Min gamla HP 6710b med Windows XP hade blivit riktigt segt och frös tidvis medan den karvade hårt och länge på disken, kändes som läsfel men efter ett par varv med SpinRite så kunde jag utesluta det. Då kändes det som det bara fanns en smidig lösning kvar — ominstallation. Så jag partitionerade om disken, Windows XP får klara sig på 40Gb och Ubuntu fick de resterande 80Gb.

Windows XP installerades snabb och startades om efter många omgångar uppdateringar, någonstans mellan 120 till 140 uppdateringar innan installationen var fullständigt uppdaterad. Nödvändiga applikationer installerades snabbt och gjordes klara för ett enda syfte: utveckling. Ubuntu 11.04 känns riktigt snabbt och snappy, jag hade redan provat på samma version på min gamla IBM Thinkpad R31 .. som är lite äldre och tröttare, 1GHz och 1Gb RAM .. men det funkar!

Om jag känner att jag har alla nödvändiga verktyg i Ubuntu för att utveckla på så kommer Windows XP inte finnas kvar så länge… då kommer jag vara Windows-fri privat, blev nyligen utrustad med en i5-baserad Toshiba laptop som kör Win7 … som Vista med lite mer fluff .. och Vista är ju som bekant som XP med massor av fluff.

… och BTW, jag skriver och postar det här från Ubuntu 11.04 i Google Chrome.

Den där Twitter

Idag är jag med i Eskilstuna-Kuriren, igen. Blygsam uppslutning på Ekurirens tweetup, där @jope, @pierrepox och jag (@cisene) var de enda som dök upp trots att fler hade anmält intresse .. i efterhand dök flera upp på twitter och ville vara med .. så nu är det upp till @ekuriren att ordna något framöver.

Jag är inte helt nöjd med bilden till artikeln, jag borde ägnat några tankar åt mitt yttre och rakat mig, 4+ dagars stubb är inte sexigt.

Min egen count-down

Idag, när jag har jobbat klart en halvdag .. så har jag 4 arbetsdagar kvar på jobbet. Jag byter jobb och kommer fortsätta utveckla för web, fast jag kommer inte ens behöva lämna kommunen, än mindre Eskilstuna. Med nytt jobb på cykelavstånd (eller buss) så kommer min restid reduceras ned till kanske 40 minuter per dag .. från nuvarande nästan 3 timmar eller mer (beroende på SJ och dagsläget).

Jag kommer ändå fara till Stockholm då och då, för att jobba och nätverka.

Mer fritid, mindre resande och mot nya mål!

En vän som inte längre är ibland oss

Jag blev just påmind om en födelsedag, inte vilken födelsedag som helst utan en gammal vän som förolyckades förra året i en motorcykelolycka. Det högg till när jag läste att han skulle fylla 36 år om några dagar, nu blev han bara 35 år och några månader.

Livet är så jävla skört och ömtåligt.

Vila i frid Robert, du var en god vän och kompis .. Robert Wigzell 1975-04-14 – 2010-07-25. Vi minns dig med ett leende på läpparna.

Full rulle i maj och juni

Har just bokat biljetter till Betnérs besök i Eskilstuna den 25 maj, därefter har jag även bokade biljetter till Stephen Lynch den 9 juni på Chinateatern.

Den här gången höll jag igen och beställde bara biljetter till mig själv och de som faktiskt har “tjingat” biljetter .. så det blev 5 av varje. Skulle det skita sig, att folk hoppar av eller får förhinder, så är det inte hela världen att bli av med 2 eller 3 biljetter — värre var det förra gången till Stephen Lynch, där jag efter avhopp blev sittande med 6 biljetter över, en snabb annons på Blocket och rundfrågande bland kompisar så kunde jag bli av med alla utom en, det kan jag leva med men 6 biljetter á 325kr är lite mycket.

Återigen i kontakt med Ticnet, dessa helvetets utsända, de har monopolställning och känner väl att de inte behöver göra så mycket med sin verksamhet, den tickar ju in pengar så varför laga något som inte är trasigt?
Well, om jag skulle få önska… så skulle jag göra om ganska många saker på deras sajt, bevakningar — där man skulle kunna bevaka en venue, allt som händer där hänger med i nyhetsbrevet .. då man kanske av närhet och nyfikenhet bokar/köper biljetter. Man skulle kunna bevaka artister/grupper så man får information om dessa när de befinner sig i landet eller turnerar runt.

Inget av detta finns i dag, det som finns är något slags vanilj-nyhetsbrev med melodifestival-skadad redaktör som bara lyfter upp dussin-artister som Carola, Christer Sjögren, Robert Wells och andra folkparksmongon som jag är föga intresserad av.

Det får till följd att jag oftast markerar Ticnets nyhetsbrev som läst, utan att ha läst det, tjoff rätt ned i det runda arkivet. Ibland tar jag mig tid att skumma igenom dem, för att snabb konstatera att jag inte är intresserad av var Håkan Hellström håller hus eller var Disney-on-ice framförs.

Så, om Ticnet eller hela TicketMaster koncernen skulle vilja ge sina kunder lite mer interaktivitet och få sina kunder lite mer pro-aktiva, här kommer råden;
Låt kunderna lägga upp profiler, artister och grupper, typer av evenemang och venues — gör kundanpassade utskick, vi har passerat in i 2000-talet med råge.
Öppna upp med publikt API, där venues och samtliga bokningsbara objekt är tillgängliga — ni skulle förlora ytterst lite trafik då den stora massa fortfarande skulle besöka och söka på Ticnet-sajten.

Jag blir faktiskt ganska irriterad varje gång jag tvingas använda Ticnet, när jag (åter)upptäcker hur jävla efter sajten är.

Nej, det är inte bloggtorka

… men jag har haft massor att göra .. och tänka på. Jag har flera drafts (även torrbloggade saker) jag jobbar med, inget som är klart att trycka ut här.. men det kommer när det är klart.

Spännande saker.

Consider this a proof of life.