Swedish flagChinese (Simplified) flagEnglish flagGerman flagFrench flagSpanish flagHindi flag
Jun
29
2009
2

Virkesåtgång för vedbod

Jag har tidigare skrivit ett välbesökt inlägg där jag presenterat ritningen till sommarställets nya vedbod. Jag tänkte nu följa upp detta med ett inlägg som visar det nästan färdiga bygget och svarar på frågan hur mycket material som krävs för att bygga en vedbod (?).

Det enkla svaret på frågan är att det går åt mellan 40 och 60 stockar av längden 4,2 meter för att bygga den vedbod som jag tidigare presenterat. Alla har inte träd att fälla utan handlar färdigt virke i bygghandeln, vilket kräver en mer uppdelad kalkyl.

Hemgjorda takstorlar

Hemgjorda takstorlar

Virkesslag Antal meter
7 stycken takstolar
2′×6′ 3,5×2×7 = 49
2′×4′ 5×7+ 20 = 55
Spikbläck 8×2×7 = 112
1,5′×3′ – Läkt för plåt 16×8,5 = 136

+ plåt till tak

Väggar

Virkesslag Antal meter
Vertikalt stående
2′×4′ 40×2,8 = 112
1′×6′ (brädor) 300×3 = 900 + eventuell innervägg
Spikbläck 8×2×7 = 112
Horisontellt liggande
2′×6′ överliggare 27
2′×4′ kottlingar 54
2′×4′ golv 27
Vedboden under påfyllnad

Vedboden under påfyllnad

Uppskattningarna är gjorda i meter netto. Räkna med att 10 % extra går åt i form av spill. Det ger följande totalkalkyl:

Virkesslag Längd [meter] Pris [kr/meter] * Kostnad [kr]
2′×6′ 1,1 × (49 + 27) = 84 17 1 428
2′×4′ 1,1 × 248 = 272 13 3 536
1′×6′ 1,1 × 900 = 990 9 ** 8 910
1,5′×3′ 1,1 × 136 = 150 11 1 650
SUMMA 15 500
Etapp två av vedboden under konstruktion

Etapp två av vedboden under konstruktion

*) Se till exempel obehandlat virke hos www.byggmax.se.
**) Råspont

Kostnad

Kostnaden för vedboden är svår att uppskatta. Vår vedbod är byggd på egna stockar från storment Gudrun. Det är därför mest gjutningen av plattan, spik, plåt och bläck som har varit kostnadsdrivare. Förarbetet till plattan gjorde vi själva genom att gräva ett hål, grunda med krossgrus, bygga upp en ram och armera. Betongen blandade vi dock inte själva utan den togs från närmaste central. Uppskattningsvis gick det åt mellan fem och tio kubikmeter för att gjuta plattan på 5,5×8 m2.

Författad av David Gustafsson in: Ritning | Etiketter:, , ,
Jun
28
2009
2

Matlab Gui med guihandles

Jag har jobbat med ett beräkningsprogram i Matlab. Tanken med detta är att det skall vara användarvänligt och effektivt att göra vanliga beräkningar för vissa typer av anläggningar. I detta program har jag använt mig av en hel del grafiska komponenter som uipanel, uitree och uicontrol.

Många författare av tutorials för Matlab GUI rekommenderar att använda Matlabs inbyggda funktion (eller jag kanske ska kalla det för toolbox (?)) som heter guide. Skriv:

>>guide

I kommandofönstret och du får upp ett fönster där det går att placera och konfigurera komponenter i en figur. Detta har sina fördelar för enkla snabba applikationer. Dock har det stora problem om du vill skriva seriösa program. Detta eftersom det är svårt att ha kontroll på dina grafiska objekt. De bakas in i den exporterade figuren med ändelsen fig.

Placera dina komponenter själv

Jag har skrivit mitt program utan att använda guide. Det är lätt att skapa och placera ut komponenter. Som ni kan se nedan, krävs en bit kommando en massa kodning. Föreställa sig hur biffiga koderna för spel som poker och andra tillämpningar där det finns en mångfald av verksamheter. Anyway, tillbaka till att skriva program utan att använda guide. Detta görs genom att ange hantag till fönstret figuren skall skapas i samt positionen i fönstret. Givetvis kan även andra parametrar som färg eller callback konfigureras, precis som inifrån guide. Jag har skrivit mina program som Matlab objekt och använt strategin att lägga ut komponenterna i konstruktorn genom att anropa en utläggningsfunktion, förslagsvis med namnet init gui. Jag sparar mina objekt internt i klassen i en struktur som har tag i alla handtag till komponenterna. Denna struktur initierar jag när jag lägger ut komponenterna.

classdef aClassName < handle
   properties
      handleToGui;
   end
   methods
      function obj = aClassName(varargin)
         ...
         obj.initGui();
         ...
      end
      ...
      function fig = initGui(Obj)
         Obj.handleToGui.fig = figure(...);
         Obj.handleToGui.otherComponentName = ...
         ...
      end
   end
end % classdef

Matlabs function guihandles

Matlab har en funktion som heter guihandles. Den är ganska smidig på många sätt och jag ska förklara varför. Anledningen är att du inte behöver bry dig om att lägga dina komponenter direkt i en struktur när du placerar ut dem eftersom guihandles(parent), ger en struktur med handtag till alla barn (children) som finns i figuren. Genom att kalla på denna kan du initiera handleToGui efter att alla komponenter lagts ut. Denna blir då en struktur med fieldnames givet till de taggnamn (Tag) komponenterna har givits.

Problem med Matlabs function guihandles

Det finns dock en risk med detta som jag tror att Matlab inte har tänkt på. Alternativt är det så att jag och andra har använt funktionen alltför oförsiktigt. Det är nämligen så att gui handles ger handtag till alla grafiska komponenter i figuren. Om du har olika klasser för olika delar av ditt program, t.ex. en separat klass som hanterar en viss typ av plottyta i en del av programmet och en annan klass som gör en liknande uppgift på ett annat ställe kan dessa förstöra för varandra om båda använder guihandles. Guihandles i en subkomponent ger handtagen till hela huvudfiguren (inklusive andra subkomponenter som ligger i den). Om den andra subkomponenten har samma taggnamn på någon komponent kommer dessa att sammanblandas när den aktuella komponenten anropar vad den tror är sin komponent.

Använd inte Matlabs function guihandles

Objektorienterad programmering är för mig en programmeringsmetod för att skapa god struktur. Detta genom att låta varje objekt (klass) sköta sina uppgifter internt och endast kommunicera genom bestämda gränssnitt med omgivningen. Globala variabler som guihandles ger är livsfarligt. I begreppsvärlden strävar man med andra ord efter låg coupling, hög cohesion och väl avgränsade moduler.

Författad av David Gustafsson in: Programmering | Etiketter:, , ,
Jun
24
2009
3

Formatera Google AdSense

Jag har lagt till google annonser till techonomics.se för att göra verksamheten vinstdrivande. Ännu har det inte gett något resultat, men vi får se.
Frågan är hur du lyckas med att få en annons i de tre första inläggen på din blogg? Det är nämligen så att du som AdSense-användare bara får har tre annonser per html-sida. Har du flera poster på framsidan i din blogg kan det vara läge att visa annonser på de tre högsta.
Lösningen är att editera index.php (eller liknande) där dina inlägg listas. Skapa en räknare, $counter = 1; i början av filen i en tagg: . Därefter lägger du in din annons där while loopen lägger ut innehållet av dina poster och räknar upp $counter = $counter +1 ;. Gör ett test att $counter <= 3 när du lägger in annonsscriptet.

Så här ser koden ut mer i detalj:

<?php
get_header();
$counter = 1;
?>
...
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
...
<div class=""storycontent"">
<?php
if ($counter <= 3) {
echo('
<Din AdSense annons>
');
}
$counter = 1 + $counter;
?>
...

Självklart kan en formatering göras, t.ex. med css, för att fixa en bra placering av annonsen. Skapa då en div med klassen annons som har rätt formatering och lägg den runt annonsen.
Något annat som är bra är att ge varje inlägg en annons. I mitt tema heter ett enskilt inlägg single.php. Här behöver du inte bry dig om någon counter, det räcker med att lägga ut en annons!

Författad av David Gustafsson in: Programmering, Teknik | Etiketter:, , ,
Jun
19
2009
2

Matlab programmering

Jag har arbetat med ett Matlab-program under mitt sommarjobb. Styrkan med Matlab är att det är ett väldigt enkelt språk som håller en högre abstraktionsnivå än till exempel java. Till det skall läggas att språket är mycket enkelt när det gäller att utföra beräkningar, lösa differentialekvationer, numeriska räkningar, simuleringar osv. En nackdel, som följer av den höga abstraktionsnivån, är dock att det går ganska långsamt. Det gäller att noga tänka sig för när man kodar.

Matlab bygger från och med version 2008a på java. Det går att köra de flesta funktioner i java genom Matlabfunktionen (det finns även andra funktioner i samma genre):

javaMethodEDT('Class or object of class', 'method name', ..., Params)

Från och med Matlabs 2008 version går det också att skapa klasser och objekt, vilket förenklar väldigt och skapar struktur. Syntaxen är ganska långt ifrån java och mycket är ärvt från tidigare Matlabversioner, vilket till en början gör det lite krångligt. Jag skall i en artikelserie presentera lite tips och trix vid Matlabprogrammering.

  • Jag kommer att gå igenom GUI i form av bland annat träd och kontroller. Dessa hanteras genom Matlabfunktionerna uicontrol och uitree, vilka är en omskrivning av javas komponenter JTree och JButton, JTextField osv. I samband med detta tar jag också upp utläggning av komponenter, som kan ske manuellt och med Matlabs inbyggda programvara Guide.
  • Jag kommer att ta upp matlabs get och set metoder, som är lite krångliga men mycket bra vid arbete med objekt.
  • Jag går igenom Matlabs funktioner för att spara objekt och förklarar varför det är klokare att spara data i from av datastrukturer.
  • Slutligen tänkte jag också ta upp så kallade Callbacks och funktionen ode45, som är bra vid lösning av differentialekvationer. Ode45 kan bland annat användas för att simulera dynamiska system av olika slag. Ett exempel är kraftnätets beteende vid olika förhållanden.

Jag ser mig nu som en duktig Matlabprogrammerare med erfarenhet från två projekt. För mer information om mig och mina uppdrag, vänligen ta kontakt vid david@techonomics.se. Jag har f-skatt och fakturerar per uppdrag eller tar betalt per timme.

Jun
17
2009
2

Den nya tidens Demokrati med IT

Jag har funderat lite på det system som nästan samtliga länder, som är någorlunda vettiga, tillämpar nämligen folkvald demokrati. Detta går ut på att ett folkvalt parlament eller riksdag, röstar för väljarnas åsikter. Frågan är bara hur bra detta är? Ständigt dyker nya skandaler upp. Politiker sköter sig inte, så är det bara. Se bara på Vanja Lundby Wedin och på brittiska Laybour.

Ett annat problem är att intresset för att bli politiker är lågt, vilket medför att de mest kompetenta personerna inte hamnar på rätt plats. Det är därmed inte konstigt att politikerna strular till det och att det är så få som röstar i Europavalet.

En gammal grekisk uppfinning

Demokrati - En gammal grekisk uppfinning från 550 f.kr. På bilden står Poseidon med en fisk i näven på Götaplatsen i Göteborg.

Demokrati kommer av begreppen demos (folket) och kratos (styr) och härstammar från början från Grekland. Att utse representanter för att rösta om förslag var innovativt år 550 före kristus, men är det knappast år 2009.

Hur bör Sverige styras 2009?

Sverige är ett land som brukar visa framfötterna på många sätt. Vi är långt frame med IT och bredbandsutbyggnad, välutbildade och duktiga på många sätt. Varför ska inte vi kunna vara först med den nya tidens Demokrati med IT?

Låt mig förklara. Min idé är ett system med färre politiker. Kanske hälften mot vad det är idag, vilket torde ge lägre overhedkostnader. Alla medborgare får ett konto i en portal där de loggar in och röstar i olika frågor. Precis som ett Quiz: Vad tycker du i den här frågan, hur mycket av våra finanser ska läggas på sjukvård eller hur hög bör skatten vara?

Samtliga får gå in och rösta med en röst, precis som att samtliga får gå till vallokalen vårt fjärde år. I och med informationssamhället finns inte längre behov av knapptryckare. Alla kan trycka på knappen framför datorn. Eller varför inte integrera det som en service i digitalboxen. 21.30, aktuellt är slut med dagens information, samtliga får nu rösta om vad som ska göras!

Vilka är problemen och hindren mot en bredare demokrati med IT?

  • Säkerhet – Hur ska man försäkra sig att alla bara röstar en gång. Systemet kan bli föremål för intrång.
  • Alla har inte bredband och TV – Detta är ett stort problem som orsakar bias i röstningen. En viss grupp av personer kan inte rösta. Under val struntar 50 % av befolkningen i att rösta i vissa länder. Detta är dock mest en intressefråga och inte en tillgänglighets eller kostnadsfråga. Alla gamla klarar inte ny teknik. Lösningen är att fortsätta med folkval men att successivt övergå till den nya tidens Demokrati med IT. Större ”folkomröstningar” kan enkelt hållas några gånger i månaden då alla kan ta sig till ett bibliotek, efter en tid kommer samhället vara tillräckligt utbyggt för en full övergång. Tänk dig själv när dagens ungdom som redan behärskar internet blir gamla, då finns inga hinder!
  • Upprätthålla lag och ordning måste fortfarande göras av en myndighet. Det måste finnas en administration bakom systemet. Hur den ska se ut kan jag inte svara på men är en fråga för vidare forskning. Vad tror ni? Kommentera.

Temat är modifierat från Aeros 2.0 - Blogglista.se - Översättning är gjord av N2H