Shishir Mehrotra is YouTube’s Vice President of Product. He says he gives this talk to all new YouTube employees. I think it’s interesting to get an “inside” peek like this.

Recently I’ve been musing a little bit about online educations such as Khan Academy and Coursera, without really looking anything up. Why do they exist, how did they start and how do they make money?

In the beginning of the talk, Shishir partly answers my musings. He tells the story about a friend of his, Sal Khan, who in 2008 got some traction with videos he put on YouTube to help out his cousin with math. He went on to participate in the early YouTube partner program and started making money.

I like this quote from the video transcript:

He did end up quitting and doing this full time and now his channel reaches about eight million people a month, which to put in perspective, PBS reaches something like a million and half people a month. So I think he is the single biggest educator on the planet right now.

So that’s the background of Khan Academy.

“But to pretend that a reward is always (or even ever) commensurate with the amount of work one does is to misconstrue how the world works.”

- The Potato Salad Guy Should Keep Every Penny

Jag avslutade förra inlägget med att skriva att det bara var envishet. Ett av de vackraste orden jag vet är persevere – uthärda, framhärda, ihärda. Fortsätta, trots att det känns som att hålla andan under vattenytan och paddla som en dåre. Trots att viljan att bygga cavaletti och massera hunden vissa dagar bara verkligen inte finns. De där dagarna då ett fort under täcket känns som en alldeles ypperlig idé.

Men de där molnen har ju ändå en silverkant, och efter regn kommer solsken. Eller så kommer det mer regn och hunden får ha täcke på sig, med bensnören, och hunden har ändå fyra ben i princip hela tiden. Fyra starka ben, som orkar uppletande och att dundra runt som en dåre för att han fått en boll. Fyra starka ben, som delar på uppgifter och vikt. Just nu känns det plötsligt mycket närmare till framtiden igen. Trots rejäl fysisk aktivitet och trots väta och täcke så finns benen där. Så finns kontrollen där – åtminstone oftast, för ärligt talat har han aldrig varit helt brydd om att hålla ordning på hela kroppen samtidigt.

När jag får se starka, normala galoppsprång i båda galopperna på promenaderna, och bara enstaka hoppsasteg och nästan inga längre sekvenser, då känns himlen ganska nära ändå. Och då orkar jag ännu en dag av cavalettibyggande, snubblande över madrasser och massage. Ännu en dag, och en till. För nu är vi på väg åt rätt håll och jag är inte den som viker av först.

‘Cause we gon’ rock this club,
We gon’ go all night,
We gon’ light it up,
Like it’s dynamite
‘Cause I told you once,
Now I told you twice,
We gon’ light it up
Like it’s dynamite

I use gitolite to host my personal git repositories. Being the way I am I also do the whole mirroring dance.

Of course, mirroring requires monitoring. Preferable without granting ones Icinga more access than necessary. Hence these Python snippets.

For some actual specifics, let me direct you towards the README file.

Det är svårt, svårt, svårt att orka hoppas och tro. Jag överväldigas av tvivel, av tänk-om, av hjälp-nu-händer-det, av inte-gick-han-väl-sådär-tidigare. Ibland drar jag mig för att gå ut på promenad för att jag är så rädd att få se trebenshopp. Det lättaste för mig vore att ha honom i koppel jämt, för då går han bara i trav – men han måste ju få frihet också, och använda kroppen. Valium har varit uppe på förslag, liksom att ständigt vara lite onykter…

Vi fysar vidare. Manschetter, vattentrask, drag, cavaletti, balansboll. Massage, novafon, stretching. Det går fram och tillbaka – men kanske framåt ändå? Fler och fler dagar med färre och färre konstiga steg eller viktförskjutningar. Enstaka dagar när jag måste titta två gånger för att se vilket som är hans svagare vänsterben. Han är smärtfri, så gott det går att avgöra, och det är huvudsaken. Nu är det bara envishet.

If my star would fall
Or disappear at all
I will follow my star till the end of my days
And my heart’s gonna lead me through so many ways
And if you gonna join me I’ll be your guide
Baby
Never say never

Friends arena

av David Hall (dp)

den 13 June 2014 kl 15:15

See video 'Friends arena' by moonhouse on Bambuser

An open door

av Karl Mikaelsson (derfian)

den 19 May 2014 kl 15:53

An open doorLinköping, 2014.

 

Ascending

av Karl Mikaelsson (derfian)

den 15 May 2014 kl 06:00

.Norrköping, 2014.

Ascending,

hesitating.

Det här albumet är den sjätte och sista delen i serien Locke & Key och jag tycker att det har varit en mycket trevlig bekantskap. Personerna har känts trovärdiga trots de ibland rätt skruvade övernaturligheter de har drabbats av. Illustrerandet har genomgående skötts med den äran av Gabriel Rodriguez.

I den här avslutande volymen får vi så klart en del extra fyrverkerier innan upplösningen som jag tycker fungerar bra. Jag vill inte avslöja några detaljer men saker som jag förväntat mig skulle vara väsentliga utan att veta exakt hur blev mycket riktigt det och gav dessutom en extra knorr till själva berättandet.

Man kan också notera att Hill gör en liten homage till pappa i en scen. Som alltid med referenser är det inte alla som kommer att förstå den, men här konstaterar de inblandade själva efter händelsen att det är just ingen i deras omgivning som förstår dem så det är väl inte mer än rätt att även en del av läsarna inte gör det.

Jag är faktiskt lite sugen på att läsa om hela serien en gång till utan långa uppehåll mellan varje album (jag har köpt dem allt eftersom de kommit ut hela vägen) för att få lite bättre koll på handlingen genom att läsa hela på en gång.

Joe Hill: Alpha & Omega
Illustrationer: Gabriel Rodriguez
IDW, 2014
192 sidor
ISBN: 978-1-61377-853-1

As of OpenSSH 6.2 there is the configuration option AuthenticationMethods, allowing for the requirement of more than one authentication method. For me the obvious combination here is requiring both regular ssh key auth as well as a physical YubiKey, both which need to succeed.

This post is a short description of my personal setup, focusing more on the how than on the whys.

In addition to the obvious requirement of having a YubiKey my setup depends on the following:

  • Running at least OpenSSH 6.2, which is provided by default as of Ubuntu 13.10. Debian wise it might be helpful to know that the Wheezy backports currently contains OpenSSH 6.5.
  • The Yubico PAM module. Assuming recent enough Debian/Ubuntu that module can be found in the libpam-yubico package.
  • An API key from https://upgrade.yubico.com/getapikey/.

Here we have the relevant part of sshd_config, only enforcing the additional requirement for selected users.

### /etc/ssh/sshd_config
...
ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM yes
...
Match Group yubiusers
      PasswordAuthentication yes
      AuthenticationMethods publickey,password

Then there is the part about having PAM threat ssh passwords as YubiKey OTPs. Given Debian style /etc/pam.d/ I am modifying /etc/pam.d/sshd to replace the include of /etc/pam.d/common-auth with an include of my own custom /etc/pam.d/yubi-auth.

### /etc/pam.d/sshd
...
# @include common-auth
@include yubi-auth
...
### /etc/pam.d/yubi-auth
auth    required        pam_yubico.so mode=client id=NNN key=sEcREt authfile=/etc/yubimap

(No, the /etc/pam.d/yubi-auth file isn’t globally readable.)

In a more general manner the PAM config change is about replacing the auth … pam_unix.so line with an auth … pam_yubico.so line.

The specified /etc/yubimap holds the mapping between usernames and YubiKeys.

### /etc/yubimap
andreas:ccccccbhkljr
root:ccccccbhkljr

Finally, the result.

andreas@corrino:~$ ssh halleck.arrakis.se
Authenticated with partial success.
andreas@halleck.arrakis.se's password:
...
andreas@halleck:~$
Premissen i den här boken är att ett sjukhus får leverans av den nya experimentella datorn Cepheus som ska hjälpa till med diagnoser av patienter, och den går snabbt från att hjälpa till när vanliga läkare gör diagnoser till att göra egna diagnoser både snabbare och bättre än vad de kan.

Jag är lite kluven till det här upplägget. Jag har inga svårigheter att tro att en artificiell intelligens av den här typen ska kunna ställa diagnoser utifrån en kunskapsbank, men det kunskapssteg framåt som Cepheus representerar känns inte riktigt trovärdigt i att det är så stort och plötsligt som det är, speciellt som det dessutom sker i skarp drift ute bland riktiga patienter från dag ett.

Bokens bakgrund i form av ett lätt dystopiskt Stockholm tycker jag om. Den känns väl genomförd utan att dra uppmärksamhet till sig. Det känns som att boken balanserar lite på gränsen av det klassiska problemet där någon som inte är medveten om sf-genrens konventioner ger sig in och skriver sf, men när det gäller bakgrunden ger jag väl godkänt. Detsamma gäller för den delen rent språkligt. Det är väl skrivet och bitvis poetiskt vilket inte direkt är förvånande eftersom författarens enda tidigare bok är en diktsamling.

Sammanfattningsvis kan boken här och där kännas lite trevande men över lag tycker jag att den var en positiv överraskning. Jag ser fram emot att se vad Sam Ghazi hittar på nästa gång.

Sam Ghazi: Sången ur det kinesiska rummet
Norstedts, 2014
229 sidor
ISBN: 978-91-1-305625-8

large_simplicity-solving-complexity-thI höstas hade jag nöjet att se en föreläsning av Irene Etzkorn om hennes idé att förenkling kan förändra företag och organisationer i grunden. Föreläsningen byggde på hennes bok ”Simple – Conquering the crisis of complexity”, som är klart läsvärd.

Grundtesen i hennes bok är att det mesta går att förenkla och på så vis göras bättre. Anledningen till varför fler företag och organisationer säger att de vill förenkla men inte gör det beror enligt Irene på flera olika saker. Bland annat finns det en tro hos flera företag att just deras kundgrupp vill ha många val eller mer ingående (läs avancerade) texter, viljan till förändring kanske inte riktigt finns och förändring kan också vara lite skrämmande.

“Simplicity is a concept with many nuances. At first glance, it’s a design aesthetic–minimalism, absence of color, clean lines, etc. A second pass suggests that clarity makes for simplicity–something with a clear intent that quickly conveys its purpose or use is simple. … Lastly, it’s not about what is there but what you take away–a feeling of confidence, of trust, of satisfaction.”

I boken finns flera ganska roliga exempel på hur företag försökt nå alla sina potentiella målgrupper i sin kommunikation men budskapet har då blivit så avancerat att det inte tilltalar någon. Det är bara att titta runt i sitt eget hem så ser man saker där det finns en välvilja men där buskapet blivit allt för avancerat för att ta till sig.

Irene har tre principer som man kan följa för att nå förenkling.

  1. Empati – att uppfatta andras behov och förväntningar
  2. Destillera – minimera och anpassa ditt erbjudande för att möte målgruppens behov
  3. Klargör – Gör erbjudandet du har lätt att förstå, använda och nyttja

Det hela är egentligen ganska enkelt att förstå, men ändå är det relativt få som gör det. Förstår man inte sin målgrupp och dess behov blir det ofta allt för komplicerat samtidigt som man måste våga att ta bort saker som inte behövs (lättare i teorin än praktiken).

Avslutningsvis, läs boken. Förenkla. Bli framgångsrik.

 

The post Svårigheten att förenkla eller att erövra krisen komplexitet skapar appeared first on Jon Lindholm.

Blogg 100 som Flipboard-magasin

av David Hall (dp)

den 01 March 2014 kl 16:36

Jag väljer ut inlägg från Blogg 100 och lägger ut i ett magasin på appen Flipboard:

View my Flipboard Magazine.

Kriterierna för mitt urval är helt godtyckliga men andemeningen är att jag själv ska tycka det är intressant och/eller att jag tror att andra tycker det är intressant att läsa.

Själv tänker jag inte lova 100 inlägg närmaste 100 dagarna på denna blogg. Kanske kommer det ett och annat inlägg här. Däremot tänker jag och mina kolleger skriva på bloggen http.tv4.se. Imorgon kommer mitt första inlägg som en del av Blogg 100.

Senast jag bloggade på jobbloggen var från Las Vegas när jag bevakade International Consumer Electronics Show för TV4:s räkning.

Till och från Krakow, dag 5.

av Mats Carlberg (matca)

den 13 December 2013 kl 18:43

Lördag

Idag var jag turist i Krakow, i dagsljus! Jag gick runt stadskärnan, följandes parken man anlagt där den gamla vallgraven låg. Jag besökta också ett känt varuhus från kommunisttiden, Jubilat. Ryktet förtäljde att det skulle vara mycket gammal rysk stil på varorna; jag nöjde mig med at fönstershoppa och tyckte nog att det mesta var ungefär som det kitch man ser säljas i Sverige. Julskyltningen var redan på plats - kanske något tidigare än vad den skulle ha varit hemmavid.

Efter att ha gått runt hela stadskärnan hamnade jag på ett fik vid namn Coffeheaven vid Florianporten. Där häckade jag tills en kollega hämtade mig för vidare eskapader; vi besökte en större shoppinggalleri nordost om stadskärnan. Den var gigantisk - dock fanns en del affärer på flera va de fyra våningarna. Och ärligen, hur många Starbucks behövs det i en och samma byggnad? På Carrefour handlade jag en typ av mjukare pepparkakor överdragna med choklad som sägs vara typiska för regionen. I konsistensen påminde de om Printen från Aachen, men de var bättre kryddade. Vi vandrade sedan runt och tittade på diverse statyer, kyrkor och andra byggnader med stil.

Lunchen var internationell; en kebab med bröd serverad från ett hål i väggen. Efter det slog vi oss ner på Castor Coffee Club för lite fri WIFI och för att vila våra trötta fötter. Vår plan var att besöka House of Beers, vilket dock blev väldigt kort: det var dåligt upplyst, högljutt och urvalet av öl på tapp var inte så upphetsande. Det blev i slutändan lite väl mycket eftermiddag innan taxin till flygplatsen kom vid 1830.

Om hemresan är det inte mycket att säga, förrutom att det inte spelades någon fanfar vid landningnen eftersom vi inte var i tid, och att det är segt att komma hem efter midnatt.

Är grillsäsongen över?

av Mats Carlberg (matca)

den 10 December 2013 kl 20:57

När man tittar på grillen under snötäcket skulle man kunna förledas att tro att grillsäsongen är över. Men, det behövs bara lite skottning.
 
 

PuTTY-url 0.63

av tobbez

den 07 August 2013 kl 23:36

I just released PuTTY-url based on PuTTY 0.63. PuTTY-url is a patch that adds support for clickable URLs to PuTTY.

You can download it from http://ryara.net/putty-url/.

Make sure to update, since PuTTY 0.63 includes fixes for four security issues. See the PuTTY web site for more information.

Bought a new computer. Had some trouble with the fan controller built into the chassis, so got a couple of PWM fans instead since the motherboard can control 1 CPU and 3 chassis PWM fans.

The BIOS however was a bit limited when it came to how slow you could make the fan run. So turned to the fancontrol package in ubuntu, and after some fiddling it worked as intended, even turning off the case fan when the temperature was below the configured threshold.

However, after suspending then resuming, the fan would go at 100% again, and not spin down. There's a launchpad bug that tells me I'm not the only one with this problem.

Here's a workaround. Create /etc/pm/sleep.d/20_fancontrol with the following contents:

#!/bin/sh

case "${1}" in
    resume|thaw)
      /usr/sbin/service fancontrol restart
      ;;
esac

This will restart the fancontrol service after resume, which solves the problem. The fan will run at 100% for a little while at resume, since it takes a couple of seconds before this script is being run.

At work, I use Apache ZooKeeper to coordinate a distributed service. I find ZooKeeper very easy to work with and program against, but as all software, it can be troublesome now and then.

I have a 3-node ZooKeeper cluster that was behaving very oddly the other day. It started with one of the nodes going down due to hardware trouble. This is supposed to be no problem since 2/3 nodes are still up and form a quorum. However, the whole service stopped serving clients.

At the time the node that went down crashed, it was the LEADING node of the cluster, with server id being 3. This meant another node needed to be elected as LEADER. The node with server id=2 was elected as leader, but failed to successfully establish leadership with a rather confusing error message in the log (/var/log/zookeeper/zookeeper.log):

2013-02-07 01:42:09,336 - INFO  [QuorumPeer:/0:0:0:0:0:0:0:0:2181:QuorumPeer@655] - LEADING
2013-02-07 01:42:09,336 - INFO  [QuorumPeer:/0:0:0:0:0:0:0:0:2181:ZooKeeperServer@154] - Created server with tickTime 2000 minSessionTimeout 4000 maxSessionTimeout 40000 datadir /var/zookeeper/version-2 snapdir /var/zookeeper/version-2
2013-02-07 01:42:09,342 - INFO  [QuorumPeer:/0:0:0:0:0:0:0:0:2181:FileSnap@82] - Reading snapshot /var/zookeeper/version-2/snapshot.70028d3e5
2013-02-07 01:42:13,407 - INFO  [QuorumPeer:/0:0:0:0:0:0:0:0:2181:FileTxnSnapLog@256] - Snapshotting: 70028d3e5
2013-02-07 01:42:23,864 - INFO  [LearnerHandler-/10.20.46.90:32845:LearnerHandler@249] - Follower sid: 1 : info : org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer@7ab2c6a6
2013-02-07 01:42:23,865 - INFO  [LearnerHandler-/10.20.46.90:32845:LearnerHandler@273] - Synchronizing with Follower sid: 1 maxCommittedLog =0 minCommittedLog = 0 peerLastZxid = 70028d3cb
2013-02-07 01:42:23,865 - INFO  [LearnerHandler-/10.20.46.90:32845:LearnerHandler@357] - Sending snapshot last zxid of peer is 0x70028d3cb  zxid of leader is 0x800000000sent zxid of db as 0x70028d3e5
2013-02-07 01:42:47,691 - INFO  [QuorumPeer:/0:0:0:0:0:0:0:0:2181:Leader@413] - Shutdown called
java.lang.Exception: shutdown Leader! reason: Waiting for a quorum of followers, only synced with: 2:
        at org.apache.zookeeper.server.quorum.Leader.shutdown(Leader.java:413)
        at org.apache.zookeeper.server.quorum.Leader.lead(Leader.java:319)
        at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:658)

Tried googling on this, but didn't get any helpful hits. I tried all kinds of tricks to get the service up, then started looking into the source code, especially the lines that are mentioned in the exception message.

Turns out I had a misconfiguration. In /etc/zookeeper/zoo.cfg there's a parameter initLimit described as follows:

# The number of ticks that the initial
# synchronization phase can take
initLimit=10

In my setup, I had the default value (10) set for this parameter. Looking at the administrator's guide for the version of zookeeper I'm running, it describes initLimit as follows:

"Amount of time, in ticks (see tickTime), to allow followers to connect and sync to a leader. Increased this value as needed, if the amount of data managed by ZooKeeper is large."

That particular ZooKeeper cluster has several hundred thousand objects, with a database size of roughly 150MiB. I guess that is counted as a large amount of data in ZooKeeper.

I increased my initLimit to 100, which made the problem go away, the server started fine and my cluster was able to go into a healthy state and start serving data again.

What happened here was that the server that was being elected as leader (with server id 2) was elected leader. It started sending a snapshot of the database to its follower (with server id 1), but before that completed and the follower reported itself as ready and following, the initLimit timeout was reached, and the leader thread decided it had to give up, since it was only synced with server id 2 (itself). So increasing initLimit to a value that allowed the snapshot transfer to complete fixed this problem.

This is useful if, for example, the web interface keeps resetting the connections.

Upgrading the firmware requires first updating the boot code, and the regular console in the earlier firware doesn’t have support for flashing the boot code. However, there is a hidden IOS-like cli available, that makes it possible to upgrade the boot code over tftp. An additional benefit is that it is much faster than using xmodem.

The steps

  1. Setup a tftp server on your machine, serving the files srw2024_16_boot-101.rfb and ls20xx-12230.ros (download from Cisco)
  2. Connect your computer to the switch using ethernet and serial cables.
  3. Boot the switch.
  4. Log into the console.
  5. Press C-z.
  6. On the new promt, type lcli and press enter.
  7. To upgrade the boot code, type copy tftp:///srw2024_16_boot-101.rfb boot
  8. Then upgrade the firmware: copy tftp:///ls20xx-12230.ros image
  9. Lastly, restart the switch: reload

That’s it.

As an aside, please note that the web interface only works in Internet Explorer, so if it seems like it doesn’t work, it’s probably because your’re using another browser.

Fågelgöra

av Kaprifol

den 21 February 2012 kl 18:28

Jag twittrar inte för det tycker jag är fågelgöra. Nu har någon teknikkunnig person i Lettland klätt in ett tangentbord med ister så att talgoxar kan mumsa i sig och samtidigt generera twittermeddelanden. Ganska obegripliga sådana, men ändå. Här kan man se spektaklet. Det här verkar roa folk i hela världen just nu, mig också. Fåglarna själva är nog lyckligt ovetande. :)

Novemberkaktus i december

av Kaprifol

den 11 December 2011 kl 19:45

Den är något särskilt, min novemberkaktus.

Inte vill den blomma mindre bara för att det är fel månad. :)

av Leif Nixon (nixon)

den 23 November 2011 kl 10:12

En liten, liten text om fotografering: https://plus.google.com/#109021744783500770649/posts/5FNHU2fbKCq

(Jag verkar ha flyttat mitt skrivande mer och mer till Google+, om ni saknat mig...)

What I found in my system log

av Leif Nixon (nixon)

den 07 November 2011 kl 19:53

A short write-up (in English) about what the Chinese government appears to be doing to my systems.

Centrum för arbete och studier i Värmdö har startat Sveriges första yrkeshögskola till Bygglovhandläggare. Jag fick uppdraget att skapa deras nya webbplats. Denna webbplats är tänkt att stå ut lite mer än vad man är van vid för utbildningswebbar.

En mörk bakgrund stöds upp av ett stort bakgrundsfoto tillsammans med starka accentfärger. Sidan är tänkt att vara det första den nye studenten möter och ska då få positiva känslor för utbildningen.

Webbplatsen finns på www.bygglovhandlaggare.se.

Bygglovhandläggare.se

The post Ny webbplats för YH-utbildning till Bygglovhandläggare appeared first on Jon Lindholm.

Gott Nytt År! (igen)

av Per Jonsson (poj)

den 31 December 2010 kl 21:42

Det har varit lite dåligt med postningar på bloggen, men nu är det i alla fall dags att önska ett Gott Nytt År!

Ett nytt år som är det näst sista på väldigt länge som har en dag där tvåsiffrigt årsnummer, månad och dag i månad alla har samma värde. Efter den 11 november 2011 är det bara 12 december 2012 kvar innan man får vänta ända till den 1:a januari 2101 innan det går igen, och det är fasligt länge.

Hoppas att 2011 eller 0x7DB blir ett minst lika intressant år som 2010!

Bacon och Broccoli

av Per Jonsson (poj)

den 26 September 2010 kl 17:07

Vissa kombinationer råkar man bara kombinera, och sen är man fast. Bacon och Broccoli är en sådan kombination. Dessutom låter det trevligt.

Kapplöpning, eller vad kommer sist?

av Haffe

den 27 February 2010 kl 20:04

Jag har bestämt mig för att försöka börja blogga igen. Jag tänkte fira detta genom att skriva lite om min interna tävling. Jag väntar för tillfället på 2 saker, dels väntar jag på en cykel, denna beställdes i november, leveranstid ännu okänd. Dels väntar jag på en potentiometer, denna beställdes i januari och har ännu ej levererats. Jag tänkte därför börja notera vilken av dessa saker som anländer sist. Utom tävlan deltar dessutom den nya datorn som ska hantera lysators hemdiskarea. Denna maskin har också lystrat till leveransutfästelser i stil med 'den kommer på tisdag, eller nästa vecka'.
Just nu tror jag på leverans i följande ordning.

  1. Cykel
  2. Potentiometer
  3. Hemdisk.
Den som lever får se.

AVR, Gentoo and Paludis

av Thomas Axelsson (axl)

den 30 December 2009 kl 00:09

Seeing that there is a new AVR simulator for linux in town, simavr, I decided to get the latest avr gcc packages for Gentoo. (More about simavr when I have gotten a bit accustomed to it)

As the crossdev scripts don't really wants to play nice with Paludis the packages have to be "created" manually. This is really a simple procedure as the packages themself already works for different targets, they just need to be told. I got the information on how to do it from the Gentoo wiki.

First one needs a repo for the cross avr chain. We will call it cross-avr. It is created by putting this configuration file in /etc/paludis/repositories:

master_repository = gentoo
format = ebuild
location = /var/paludis/repositories/cross-avr
names_cache = /var/cache/paludis/names
write_cache = /var/cache/paludis/metadata

And to get the files in the repo, make the directory and create symbolink links for the required packages:

mkdir /var/paludis/repositories/cross-avr/{cross-avr,profiles} -p
cd /var/paludis/repositories/cross-avr/cross-avr
ln -s /usr/portage/dev-embedded/avr-libc
ln -s /usr/portage/sys-devel/binutils
ln -s /usr/portage/sys-devel/gcc
ln -s /usr/portage/sys-devel/gdb

The repo also needs to be named and as the category is not in the master tree (portage) it needs to be added to the categories file:

cd ../profiles
echo cross-avr > repo_name
echo cross-avr > categories

Finally we need to tell paludis to use the avr-gcc for the other cross-avr packages, by placing this in /etc/paludis/bashrc

#cross-build avr
if [[ "${CATEGORY}" == "cross-avr" ]]
then
if [[ "${PN}" != "gcc" && "${PN}" != "binutils" ]]
then
CBUILD=${CHOST}
CHOST=avr
CFLAGS="-Os"
fi
fi

Now we have the ("auto-syncing" :D) repo set up!

To make sure that paludis knows about the new packages we run:
paludis --regenerate-installable-cache cross-avr


Next up is the installation. Do a pretend to see what paludis will pull in:
paludis cross-avr/binutils cross-avr/gcc cross-avr/avr-libc cross-avr/gdb -ip

Here it is important to note all the use flags for gcc. My experience is that most of them will break avr-gcc and my recommendation is to turn them all off.

At last we are ready. Start the build and grab a mug of cocoa.

While you wait it may be interesting to know that avr-libc will place the libs in /usr/avr. And if you want to start playing with simavr you need to change AVR_ROOT, in its Makefile.common, to this path. But more on that another time ;)

When the packages are installed you may want to create a symlink in /usr/avr/lib to /usr/x86_64-pc-linux-gnu/avr/lib/ldscripts (substitute architechture as appropriate) because ld will have problems finding the linker scripts otherwise. (/usr/libexec/gcc/avr/ld: cannot open linker script file ldscripts/avr4.x: No such file or directory, Gentoo bug)

Now you can compile your avr projects with avr-gcc! Happy hacking!
It has bothered me for a while that the KDE run dialog (Alt+F2) won't find my custom scripts in ~/bin. After a failed attempt, with ~/.kde/env/bin_path, I found a way that should (in theory) work with any desktop manager.

The solution is to put the export command in a file called ~/.xprofile

export PATH="/home/thomas/bin:${PATH}:/home/thomas/installs/bin"

(I keep all my user installed apps in ~/installs/bin ;))

I ett land där alla tänker lika

av Haffe

den 17 April 2009 kl 08:24

Där behövs ingen tankekontroll.

Ifall vi nu kommer till ett samhälle där tanken inte längre är fri att tänka, då är det för att folket vill ha det så. Personligen har jag gett upp på att försöka förändra, folket vill uppenbarligen ha det samhälle de har.

Stockholm beer and whisky.

av bjowi

den 29 September 2007 kl 19:45


Kom till Villevalla! Nu.

av bjowi

den 06 September 2007 kl 19:26



Drivs med Planet!
Senast uppdaterad: 25 July 2014 kl 00:30