This site has moved, this is just for reference, please visit the current one.

P Bergqvist

Using environment variables on Gondor

19th maj

A trouble when using git/hg-based push to application servers is that everything has to be in the repo. So no more production_settings.py etc on the production server. This is easly solved by using the environment and let it provide the variables to us.

On Gondor this is currently undocumented but you can always dig through the (source)[https://github.com/eldarion/gondor-client/blob/master/gondor/main.py] for the client to figure it out;-)

So a quick chat in the #gondor channel at Freenode helped me with this.

 gondor env

Lists all the current environment variables

 gondor env:set 'KEY'='VALUE'

To set a environment variable, it's important that no whitespaces gets in there between the equal sign and the 'KEY' and 'VALUE'.

To use this in your code it's just to do something like:

 import os
 thing = os.getenv('KEY')
 # or
 thing = os.environ['KEY']

Remember that the second way will crash if that environment is not available, so a try-except would be good to use.

Tags: django gondor peppe kommentarer

Leaving ep.io, or the other way around maybe

13th maj

The road of finding a good and solid Djano host never ends it seems, a while back ep.io announced they are shutting down.. The offer they had was by far the best on the market, a very solid wsgi/nginx-frontend, and PostgreSQL and Redis on top of that. They offered one free wsgi-instance and adding another was extremely cheap, like ~$10/month.

I have tested many other django/python/wsgi hosting services and for some clients we are using Heroku, but running this amount of small sites that I run is insane, their pricing is way off what I consider resonable. I have looked intensely at 30loops and that seems like a good alternative, but I have no experience of them as company so I will try them out on some smaller projects in the future.

My final decision is Gondor, they offer all the things I need, they have a solid track record with the Django community and an excellent support in their IRC channel. So now I have started to migrate this site and others will follow.

Tags: django epio gondor peppe kommentarer

Locale trouble with Django 1.4 on MacOSX

12th maj

I just upgraded one of my Django projects to 1.4, I deleted the test database and made me a new one, but I ran into some trouble. When creating the superuser something went wrong and it all ended with an exception about some locale.

Traceback:

Traceback (most recent call last):
  .
  .
  File "/Users/peppe/Envs/snippets/lib/python2.7/locale.py", line 428, in _parse_localename
    raise ValueError, 'unknown locale: %s' % localename
ValueError: unknown locale: UTF-8

The way around this is to set your locale to something that makes sense. Following the bug report/guide at [https://code.djangoproject.com/ticket/5846] I just ran:

export LC_CTYPE=sv_SE.UTF-8
export LANG=sv_SE.UTF-8
export LC_ALL=sv_SE.UTF-8

in the terminal, and this should work for you if you're just using the standard terminal in MacOSX.

But, since I'm using FISH as shell I had to change to FISH syntax, so this works for me:

set LC_CTYPE sv_SE.UTF-8
set LANG sv_SE.UTF-8
set LC_ALL sv_SE.UTF-8

To not have to run this code every time in every terminal I suggest you add it to ~/.config/fish/config.fish.

Happy upgrading!

Tags: django macosx peppe kommentarer

Hur säkert är ditt webhotell?

31st januari

Drift är svårt, jag gillar inte att drifta saker själv då jag vet att det alltid finns någon som kommer att ta sig in på grund av något fel man gjort. Jag kan alldeles för lite om Grsec etc för att känna mig trygg, så detta överlåter jag till proffsen. Men, vad händer när proffsen fallerar egentligen? Vitsen med en delad miljö är just att någon annan ska rådda OS, uppdateringar etc. Så hur ser det ut med säkerhetstänket på de svenska webhotellen egentligen?

Kör du delad hosting så kör du troligtvis PHP, så vi tar och tittar på vad för PHP-version som finns installerad. (Jag har just nu bara tillgång till två webhotell, men har du själv möjlighet så posta PHP-version för ditt webhotell i en kommentar så lägger jag till det med)

  • FS-Data: 5.2.14
  • Binero: 5.2.14

5.2.14 släpptes i juli 2010, den senaste versionen av 5.2-branchen är 5.2.17 och är nu lite mer än ett år gammal. Så, vad betyder detta? Enligt PHP:s egen sida så är 5.2-branchen död och buggfixar kommer beronde på bugg och hur allvarlig den är och alla användare av 5.2 uppmanas att uppdatera till 5.3.

Så vad gör vi åt detta då? Du som kund kan peta på ditt webhotell och säga till dem att uppdatera, att köra med saker som inte får buggfixar är bara att tigga om trubbel. Och i slutändan så kan det drabba dig som kund genom att din site hackas genom att en variabel inte escape:as korrekt.

Tags: binero fsdata säkerhet webhotell peppe kommentarer

Using django-compressor on ep.io

11th januari

This is a small tip to how to get django-compressor running on ep.io as smooth as possible.

  • Install django-compressor (add it to your requirements file that is) according to the docs.
  • Add this snippet to you epio.ini, this is to make a symlink to your /media, since this is the only place you can write to on ep.io, and django-compressor can only write to the same place it reads from.

    [symlinks]
    
    static/CACHE = ../data/CACHE
    
    
  • I never got STATICURL to work, even when I added it to COMPRESSOFFLINE_CONTEXT so I had to do a little workaround, add this to your template

    {% load static %}
    
    {% compress css %}
    
        {% get_static_prefix as STATIC_PREFIX %}
    
        <link rel="stylesheet" type="text/css" href="{{ STATIC_PREFIX }}css/style1.css"/>
    
        <link rel="stylesheet" type="text/css" href="{{ STATIC_PREFIX }}css/style2.css"/>
    
    {% endcompress %}
    
    

That should sum it up pretty good!

Tags: django epio peppe kommentarer

Polarbirds - eller hur man plankar en idé, och missar målet

13th september

Fick tips av @stellan genom hans blogpost att Polarbröd hade gjort ett spel, som just nu bara finns tillgänglig på Android, så jag fick bara lov att prova vad det var för något. Så, here we go, min första spelrecension.

Vi börjar med namnet, Polarbirds, känns, hur ska vi säga, ganska plankat. Jag syftar självklart på Angry Birds. Nåja, vi lägger det åt sidan och kollar vad man ska göra , jag tar och klistrar in texten direkt från Android Market.

Polarbirds är ett eljest spel där du matar norrländska fåglar med Polarknäcke Frisk & Fröig så att de blir mätta och glada. Fåglarna är väldigt förtjusta i brödet eftersom det är fulladdat med solros- och linfrön.

Systemkrav: Android-mobiler med ARMv7-processor.

Spelet innehåller bland annat följande features: - Utmanande och roligt gameplay! - Högupplöst norrländsk grafik - Skiftande årstider och norrsken - Spännande power-ups med norrländska egenskaper - En ren med slangbella mellan hornen - Bonuspoäng för flera träffar i rad - Facebook-leaderboard med möjlighet att vinna brödcheckar

Vi börjar med det lilla här med, naturligtvis. "Eljest", som adjektiv? Jajemen. "Spännande power-ups med norrländska egenskaper", vad i jäsiken är detta?

Som en lite passus kan jag säga att när kunder kommer till oss så brukar vi säga att de inte ska sälja sina saker. För gör de en riktigt bra sak så låt den skapa buzz kring varumärket, men sälj för guds skull inte, då dödar du det hela. Vilket vi ser början på med frasen "Fåglarna är väldigt förtjusta i brödet eftersom det är fulladdat med solros- och linfrön." KOM IGEN NU!

Vi börjar med att installera spelet, och det är drygt 30MB att tanka hem, och efter det så packar det upp drygt 17MB till, haderaj! Titta på skärmdumpen ovan och jämför med t ex Muffin Knight eller Guerilla Bob. Efter en flytt till SD-kortet så är det fortfarande 15MB kvar, lite för mycket för min smak.

Jag bifogar lite bilder från introt där spelet förklaras. Det är lite oklart hur många stavfel och konstiga meningsbyggnader som finns, men de är många. Gå vi sedan i på de tent spelmässiga då, man räknar inte "missar" nedåt, räkna då hellre missarna upp till fem, eller varför inte som i alla andra spel, liv eller hjärtan, som naturligtvis räknas neråt till noll. Att bli av med "missar" skulle jag säga är något bra, felet de har gjort är att de tagit ett negativt ord och använt det positivt, om ni är med på vad jag menar.

Spelmässigt så är det rent inledningsvis ett väldigt svårt spel, jag spelade själv drygt tio gånger och kom aldrig upp i de 800 poäng (max tror jag var ~300) som krävdes för att få en extrasak. Fåglarna rör sig i väldigt slumpmässiga banor som bara känns fel och som gör att man inte kan lära sig något om hur de flyger. Jag ha därmed svårt att lära mig och faktiskt bli bättre. Spelet går även väldigt fort, man får ingen återkoppling om att man blir av med en "miss" utan helt plötsligt så är det bara game-over, väldigt tråkigt. Jag antar att detta spel riktar sig mot barn mestadels, och då är det alldeles för svårt. Och som casual gaming för en vuxen så håller det alldeles för låg klass.

Bifogar även några bilder på hur själva spelet ser ut, och den där skylten man får i ansiktet när man helt plötsligt har fått game-over.

Nu är inte allt nattsvart, vissa delar av grafiken är bra, dock inte vissa spelelement som slangbellan (redigt kantig) och fåglarna, de ser inte bra ut, men resten ser bra ut.

Bara för att man ger till stora delar negativ kritik så betyder det inte att man inte gillar det, jag gillar Polarbröd (men snälla, låt mig köpa fryst bröd i butiken!) och vissa av deras brödsorter. Så vad kan då Polarbröd göra bättre? Vi gör en liten lista

Byt namn, fast det tåget kanske redan har gått i och med att spelet är släppt. Korrekturläs alla texter, och inte bara du som projektledare utan anlita någon som faktiskt har det som profession. Bra copywriters är guld värda. Förbättra spelet i sig, dvs. byt ut de grafiska spelelementen till något bättre, förändra hur fåglarna flyger så man faktiskt kan göra något. Kanske zooma ut och låta de olika fåglarna färdas olika väg, de gula flyger högt och störtdyker ner och flyger tätt längs marken (typ som fåglarna i värld 8 i New Super Mario Bros på Nintendo DS, det är ni väl med på=), de gröna flyger någon helt annan bana osv. Så man faktiskt kan bli bättre på själva spelet. Ge återkoppling på hur det faktiskt går i spelet, när man spelar har man inte tid att titta på poäng- eller miss-siffrorna, en vibration eller liknande kan kanske vara lämpligt. Sluta sälj, gör ett bra spel och lita på det. Nu tror jag inte att Polarbröd faktiskt kommer att ordna de sakerna jag listar för detta är säkert bara en marknadsaktivitet som vilken annan...

Tags: återkoppling peppe kommentarer

Please, make your music available again

11th maj

(This is an open letter to Minor Majority, a norwegian band that makes some great music, please check them out)

Hi!

I'm a long time listener and have listened to your music on Spotify for the last year or so. I'm a paying subscriber to Spotify and has been since the fall of 2009.

Some two months ago your music disappeared and my playlists now have big empty holes in them where your music once was.

The reason I'm writing to you is to say that I enjoy listening to your music, and I would be glad if I could continue to do this. But, as your music no longer exists on Spotify I can't, unless I want to buy a physical record (or similar). I enjoy the experience I get with Spotify since it lets me very easily build my playlist and bring them with me.

So, I'm wondering if you could talk to your record label and make your music available again.

Best regards Peppe Bergqvist

Tags: None peppe kommentarer

Mac, Python 2.7, MySQL AND python-mysql

19th april

I'm switching jobs (again!) and upgrading from a Dell-Hell-windows-machine to a Macbook Pro, and so far it has been both love and hate. Love because of the magsafe power connector and because of the Appstore, hate because of the non-existent application installation tool like apt-get for Debian/Ubuntu.

This is a howto of how to get a working django-environment up and running. This includes:

  • Python 2.7
  • Mysql 5.5
  • Python-mysql
  • Pip
  • Virtualenv
  • Virtualenvwrapper
  1. Download and install python 2.7 from http://www.python.org/download/. I chose the 64-bit version and it works just fine, but if you are using some odd Python-lib you may want to use the 32-bit version.
  2. Install MySQL from http://dev.mysql.com/downloads/mysql/. I chose the .dmg-image 5.5 for 64-bit. Just to install, and remember to install MySQLStartup-thingie
  3. Install Mysql-python
    Just get the latest version from http://sourceforge.net/projects/mysql-python/files/ (it's no top of the whole list) and extract.
    Step into the extracted directory, edited the file calles setup_posix.py, and change the line

    mysql_config.path = "mysql_config"  
    to  
    mysql_config.path = "/usr/local/mysql/bin/mysql_config"  

    Install by running:
    python setup.py clean
    python setup.py build
    sudo python setup.py install

  4. Install pip
    Since Python 2.7 added itself to your PATH you get access to all it's tools without having to do anything, so just:
    easy_install pip
  5. Install virtualenv, virtualenvwrapper
    And now when pip installed, run:
    pip install virtualenv virtualenvwrapper 
  6. Fix path etc in .bash_profile
    No you just have to add a few lines to some of your shell-related configs so everything ties together, I have chosen to edit ~/.bash_profile since I'm the only one who's gonna use this. So, open up ~/.bash_profile and the gist you find at 
    1
    
    2
    
    3
    
    4
    
    5
    
    6
    
    7
    
    8
    
    9
    
    10
    
    
    # Location for MySQL
    export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH

    # Virtualenvwrapper
    export WORKON_HOME=~/Envs
    source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh

    # Adds mysql-tools
    export PATH=/usr/local/mysql/bin:$PATH

EDIT: As always with .bashrc, .bash_profile it's a mess to always get what you want, in my case I couldn't get PyCharm to get where mysql was located, so just move the line
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH
to /etc/profile for example and this should be avalaible system wide instead. 

In this howto I used many other howtos, and here are a list of some of them, thank you all!

Tags: django mac python windows peppe kommentarer

Våren i Västerås - sammanfattning av vårens nördigheter

17th april

Ett försenat men ack så efterlängtat inlägg för mig=) Det har legat och grott i mitt huvud ända sedan den 24:e februari, men först en liten återblick.

Vi hoppar tillbaka till september 2010, jag har precis börjat på Acando och skickar ut en fråga på Twitter om någon har en Airport att sälja. En person vid namn Erik Stridell svarar och vi bokar in en lunchdejt några dagar senare. Under lunchen så nämner jag att det vore skoj med något geekmeet-liknande här i Västerås, och han säger att han pratat med en kompis om just det!

Vi hoppar fram till den 24:e februari, dags för första träffen med Geek Meet Västerås (site/Facebook). Jag höll ett föredrag om NoSQL och Jonas Lejon höll ett föredrag om att bygga webb på offentlig data. Drygt 60 personer dök upp och drygt 110 personer är nu medlemmar i Facebook-gruppen, vilket är helt fantastiskt med tanke på Västerås storlek!

Strax efter träffen så postar Micke Långberg i Facebook-gruppen om att Västerås Technerds anordnar ett föredrag den 10:e mars om Scrum. Emily Scheer pratar och berättar och vi i publiken får prova på ett litet planning game, riktigt skoj och lärorikt!

Den 23:e mars anordnade Sogeti en IT-pub på The Sportsbar, Patrik Löwendahl pratade kort om Azure och vad man kan bygga med det. God mat, gratis öl och intressanta diskussioner är aldrig fel!

I Twitter-flödet så ser jag att Håkan Fröling postar något om att nätverket Arosdev anordnar en föreläsning om LINQ den 7:e april, tyvärr så kunde jag inte gå på detta, hade varit skoj att får lära sig om LINQ eftersom jag inte kan ett smack om det.

Och så här fortsätter det, jag var egentligen klar med det här inlägget för ett bra tag sen, men då kommer ytterligare ett nätverk in i bilden, det är nätverket Unga Kreatörer (Twitter/Facebook) som tänker samla alla unga kreatörer i Västerås, och du, de planerar just nu sin första träff, så haka på och påverka vet ja!

Alla nätverk jag listar ovan är helt nya för mig och som jag aldrig sett i mitt Twitter-flöde eller på annan plats, helt fantastiskt!

Så vad beror all denna aktivitet på? Är det slumpen eller någon bakomliggande konspiration som driver detta? Jag tror att det helt enkelt är ett uppdämt behov, och nu hade en kritisk massa nåtts och då brister dammen på flera ställen på en gång.

Så vad ser vi framför oss? Jag ser redan ett antal träffar jag vill gå på, Västerås Technerds anordnar en Android-föreläsning, det ryktas om att nästa Geek Meet Västerås-träff kommer att bli jätteintressant och Unga Kreatörer kan bara bli toppen med tanke på personerna bakom.
Så, är det för många olika nätverk? Kanske, eller kanske inte. Jag ser ett behov av att träffas och diskutera, och ibland behöver man olika personer för olika sorters diskussioner. Jag ser t ex att det finns behov av föreläsningar/workshops/seminarier inom andra ämnen, som t ex sociala medier. Sen i vilket nätverk det anordnas är oväsentligt, det som jag tycker är viktigt är att man följer de riktlinjer som Robert Nyman spaltat upp, inga konstigheter och håller allt på en lagom och skön nivå utan att det blir sälj av hela rasket.

Men, hur håller jag koll på allt detta? Enklast är att signa upp på varje nätverk, eller ha koll genom den eminenta siten Geekup som samlar alla sådana här träffar på ett ställe!

Men, glöm nu inte att släppa datorn och gå ut och njut av solen och värmen som kommer. Och vill någon ha lite tomatplantor så hojta till, vi har fler än vad vi kan hantera =)

Tags: arosdev geekmeetvst sociala medier västerås peppe kommentarer

Mamma, pappa, barn

16th april

Skönt att nyöppnade Ikea i Västerås har gjort klart för oss hur en familj ser ut... Tags: barn genus västerås peppe kommentarer

Peltors, check

15th april

Kom ihåg, det är inte färgen på dina Peltors eller mängden armeringsjärn du stöter på som avgör hur manlig du är. Tags: humor peppe kommentarer

Deploying to ep.io with secret stuff

27th mars

A while ago I got an invite to ep.io, a new kind of Heroku-inspired hosting for WSGI-compatible framework (like Django, Flask etc). And since I really can't get easy_install to work properly with my current host I decided to give ep.io a chance.

Deploying to ep.io is quite easy, if you are running linux/mac that is, when under Windows it's a whole different task (something I will come back to). One of the first thing I noticed was that you have to have all the stuff commited to a git-repo, and since I'm using a github-repo this was no biggie, but, there are some things you don't want to commit to your public git-repo, like API-keys etc. A common solution for Django is to have a file called local_settings.py that is never checked in (and added to your .gitignore) so you add your secret stuff for everyplace you deploy your code. And ep.io don't have a solution for this problem. I asked a question and got some good answers, but all a bit overkill for me. So this is how I solved it.

Solution

  • A folder that is added to .gitignore
  • The folder (called deploy for me) contains a deploy-script, and two folders, on called input and one called output.
  • The input-folder contains all the secret files
  • The output-folder is there as build-folder

Simple workflow

  1. Commit and push your code
  2. Run deploy\deploy.bat (yeah, I'm on Windows)

What the deploy-script does

  1. Empties the output-folder
  2. Clones the git-repo
  3. Copies the files from input to the output-folder
  4. Runs some git-commands to add and commit
  5. Adds ep.io as remote
  6. Pushes to ep.io

If you want my deploy-script please download it, and if you got any suggestions, please leave a comment=)

Tags: deployment django mac python windows peppe kommentarer

Fabric under Windows, a short guide to success.

26th mars

This is a short guide, or mainly just my own notes, of how to get the genious deployment script called Fabric to run under windows.

  1. I assume you have a working python installation according to my previous python-post
  2. Install pycrypto, http://www.voidspace.org.uk/python/modules.shtml#pycrypto
  3. Install pywin32, http://sourceforge.net/projects/pywin32/files/
  4. Start a cmd as root and run "pip install fabric" and you should have a fab available for all users.

You can according to this post on Stackoverflow install Activepython and use pypm to solve this, if you try it out, feel free to leave a comment if it worked!

Tags: deployment python windows peppe kommentarer

Mina årliga samtal till Vä.. Trafikverket

2nd mars

Det plingade till i telefonen som sa att det var dags för mitt årliga (okej, jag ringer en gång per halvår) samtal till Vägverket, fast sen detta startade så hade hunnit byta namn till Trafikverket. Att just detta inträffade dagen efter jag skrev om återkoppling är minst sagt ironiskt. Vill du ha lite bakgrund till detta så ta och läs mitt första inlägg om detta.

Ja, vad hände egentligen efter att jag skickade in min synpunkt till Trafikverket? Det dröjde ett antal månader innan något hände, och då ringde en trafikplanerare och bad så hemskt mycket om ursäkt att ingen hade kontaktat mig. Han hade själv fått ta över dessa arbetsuppgifterna och hade en hög med inkomna synpunkter att ta hand om, och visst höll han med mig i det jag skrev, korsningen var farlig men han kunde inte svara på varför den inte åtgärdades när alla andra korsningar Borlänge-Leksand åtgärdades på 90-talet.

Så, vad har har hänt sen det första samtalet? Jo, jag hade en gång per halvår ringt till denna planerare och frågat hur ärendet ser ut och hur långt de har kommit. För Trafikverket anser själva att korsningen ska åtgärdas, men de arbetar med åtgärdsplaner på 5-10 år, så det är lite längre cykler än vad jag som utvecklare är van vid. Vid samtalet idag fick jag reda på att ärendet hade hamnat på deras önskemålslista, och det skulle i sinom tid ta beslut om, hur och när detta kunde åtgärdas.

Vad lär vi oss av detta då?

  • Återkoppling är bra, för det är inte alltid de som äger saken i fråga ens vet om att något är fel
  • Vi arbetar alla med olika cykler, vissa saker kan inte skyndas fram utan måste sättas i ett större perspektiv.

Vad händer framöver då? Jag kommer att fortsätta ringa till min trafikplanerare, och hoppas på att någon gång kunna svänga vänster på riks70 utan att vara rädd att rammas både bakifrån och framifrån.

Vissa kanske skulle kalla mig för gubbe, jag kallar mig för utvecklare, på ett eller annat sätt.

Tags: kundvård återkoppling peppe kommentarer

Vikten av återkoppling

1st mars

Efter att på nära håll under väldigt kort tid få se hur bristen (eller i dessa fall den totala bristen) på återkoppling kan fälla människor halvt eller helt här i livet så tänkte jag helt sonika skriva några rader om återkoppling.

Mål
Mål, jätteviktiga och kan vara jättesvåra att ta fram. Men, det är av yttersta vikt att man har mål att arbeta mot, annars vet man inte vad och vart något ska ändras för att komma närmare målen. Har man inga mål så finns det egentligen ingen möjlighet för vare sig beställare eller utförare att utvärdera varandras insatser och man kommer bara att landa i ett misch-masch av godtyckligt tyckande.

Återkoppling
Återkoppling, även det väldigt viktigt. Och här är det viktigt att återkopplingen grundas i de mål man har satt upp. För det är det man har satt upp och det är det vi fokuserar på. Plus och minus utifrån målen, reflektera, arbeta om målen och börja om.

Reflektion

Att vara reflekterande inte bara på sitt eget arbete utan även på sin egen arbetsprocess är viktigt om man vill bli bättre på det man gör. Men för att kunna vara reflekterande så måste man gå igenom de två tidigare stegen. Det är när man tar sig själv tid att titta på och utvärdera ens eget arbete, och de beslut som man tog för att komma dit som man kan utvecklas.

Gör om
Detta är ingen vattenfallsmodell utan detta måste man göra om, och om, och om, och om igen. För det är då vi kommer framåt.

Tags: allvar ixd livet återkoppling peppe kommentarer

Rättigheter hos FS-Data

28th januari

Edit: mika bad mig förklara lite mer chmod.
Chmod är ett verktyg för att ändra rättigheter för filer och mappar, och eftersom FS-Data har en delad hosting så betyder det att om du sätter felaktiga rättigheter så kan någon annan läsa/skriva dina filer. Vanligtvis så skapas filerna med rättigheter som lyder: 755 (för att förstå detta, läs http://sv.wikipedia.org/wiki/Chmod som på ett väldigt bra sätt går igenom hur siffrorna funkar)

Så, vi tar och kollar hur simpleblog-mappen ser ut, vi 'ls -la' helt enkelt

Där ser vi i första kolumnen en sträng som ser ut som följer: "-rw-r--r-- ", detta betyder att ditt konto kan skriva och läsa, att konton i samma användargrupp kan läsa, och att alla andra och kan läsa. Och det är inte bra, för kan de läsa din fil så kan de se lösenord till databasen och en massa annat. Så vi tar och kör:

chmod -R 700 *

Detta gör att alla filer (och alla filer i alla undermappar) sätts så att ägaren kan läsa, skriva och exekvera, men inga andra. Din rotkatalog ska då se ut som följer:

 

Tags: django fsdata peppe kommentarer

Django på FSData, en howto

21st januari

FS-Data hade en kampanj strax innan jul och under en dag så kunde man teckna sig för ett års gratis webhotell, och med tanke på att de stödjer såväl Django som Rails så var det klart att jag tecknade upp mig. Tyvärr finns det bara en manual för hur man får upp Rails, men det stoppar inte mig. Testade att installera rails och såg då att de använde sig av FastCGI, så jag antog att det var detta som gällde för Django med.

Så lång historia kort, efter att ha testat mig fram lite så har jag nu satt ihop ett väldigt litet paket om du vill prova att få igång Django på FS-Data, så en snabb genomgång.

  1. Se till att du har åtkomst via SSH (detta aktiverar du i WAFF under avancerat->ssh-skal) och att du kan logga in. Lämpligt program för Windows är t ex Putty, använder du Linux så utgår från att du kan SSH.
  2. Logga in, ställ dig i mappen "www".
  3. Ladda hem mitt lilla exempel. Filen innehåller django och en django-app med två modeller i, det viktiga är .htaccess och dispatch.fcgi för att få det att rulla.

    wget http://dl.dropbox.com/u/548734/dev/fsdata/simpleblog.zip 

  4. Packa upp den nyss nedladdade filen i www-mappen, du ska då ha fått en mapp vid namn "simpleblog"

    unzip simpleblog.zip 

  5. Nu behöver du köra några shellkommandon för att få ihop hela kalaset:

    #Göra dispatch.fcgi körbar
    cd simpleblog; chmod +x dispatch.fcgi

    #Symlänka in lite media för django
    cd media; ln -s ../django/contrib/admin/media admin

  6. Nu kan du som vanligt köra manage.py för att skapa databas etc
  7. Du ska nu ha din site uppe och rullandes, så besök dinurl.se/simpleblog/admin/ så ska du se något familjärt.

Svårare än så är det inte, men du kan råka ut för ett bulor på vägen, så lite tips:

  • FastCGI-processerna kan fastna, lättaste sättet är att manuellt gå in och döda dem, så SSH:a in och kör "killall dispatch.fcgi"
  • Magin i det här ligger som sagt i .htaccess och dispatch.fcgi, vill du ha din django-app i någon annan mapp så får du ändra i dessa filer.
  • Flyttar du och gör nyinstallationer, glöm inte att chmoda dispatch.fcgi
  • Som alltid, FS-Data har en delad hosting, och du måste själv säkra dina egna filer, så chmoda allt till 600 (el dyl).

EDIT: Ser nu att FS-Data själva skrivit en blogpost om min lilla guide, http://www.fsdata.se/blogg/kom-igang-med-django-hos-oss/

Tags: django fsdata media windows peppe kommentarer

Howto get a working python development environment under Windows

27th september

Odd title for me? Oh yes! Since my last career change I have only worked with Windows. But putting Python totally behind me is hard, it itches sometimes in my fingers. So I have resumed the development of my home brewn HTPC called PyMBrowser (that's Python Media Browser, one of the best names I've come up with;-). To get the development for Pymbrowser up and running on windows I hade to

This is a small list to get a proper python development environment under Windows. And with proper I include niceties like pip, virtualenv, virtualenvwrapper (oh yeah!), QT etc.

  1. Install Python

    Just head on to http://www.python.org/ and install the right version for your computer. I decided to use the 32-bit version even though I'm using Windows 7 64-bit, this to minimize all sources to errors. Add Python to your path (c:\Python27 for me example), also add c:\Python27\Scripts to the path, to make lots of things easier. To make your path changes active you just have to close the cmd and start a new one.

  2. Install MingW

    Download MingW from SF (http://sourceforge.net/projects/mingw/), you just have to click the big green button pointing to a tiny file that weighs in at ~500K. This is just the installation, it will get the stuff it need from the net. Don't know if it's necessary, but I also choose c++ as addon. Add c:\MinGw\bin (or wherever you install it) to your path

    (Thanks http://blog.markstahler.ca/2010/08/python-development-on-windows-setuptools-p... for guidance)

  3. Install Setuptools

    Just to download the matching verion from http://pypi.python.org/pypi/setuptools I choose the .exe-file so just double click and it detected my python installation and installed itself in the right place.

    (Thanks for the packaging to the whole of the setuptools-team!)

  4. Install pip

    Open a cmd and run:

    easy_install.exe pip

    I did get the command above to work, but, I couldn't get pip to actually install anything (it failed due to some windows permissions), so I'm using the solution below.

    Download the tar.gz from http://pypi.python.org/pypi/pip and unpack. Install by extracting the tar.gz file (7-zip is a nice tool for this) Step into the right folder and run python setup.py install (If this does not work you maybe have to run: python setup.py build –compiler=mingw32 install)

  5. Install virtualenv If everything uptil now has worked without a hitch then this is even easier: pip install virtualenv Easy huh?

  6. Install virtualenvwrapper

    One step left, almost. Justin Driscoll has rewritten the original virtualenvwrapper from bash to python (what a luck for us windows-users (and fish-shell-users too)), you can find the script at http://justindriscoll.us/2009/03/virtualenv-helper-for-windows.html

    Just copy the code, create a new file called env.py in c:\Python27\Scripts, paste and save.

    You should now be able to run env.py -l and see all of your virtualenvs (which should be none right now)

That should be it, if I have forgotten something, please make a comment and I correct it as soon as possible.

Tags: media python windows peppe kommentarer

Huset till höger...

25th augusti

Huset till höger kommer från och med onsdag vara min arbetsplats. Slutspurt nu bara!

Tags: None peppe kommentarer

Sociala medier och varumärken

3rd juni

 

 

So what is the point of all this?  The point is, FORGET YOUR BRAND.  You don't own it because it is literally nothing.  You can spend all sorts of time and money trying to manufacture public opinion, but ultimately, that's up to the public, now isn't it?

Från Gizmodo

Ställer vi detta i relation till följande snutt, hittad på ZDnet

Sir Martin Sorrell, the head of WPP, the world’s largest marketing and communications group, has similar concerns about the commercial use of social media. The Financial Times recently reported:

Sir Martin warned on Tuesday that social media sites are ”less commercial phenomena, they are more personal phenomena,” more similar to ”writing letters to our mothers” than watching television.

”Invading these [social] media with commercial messages might not be the right thing.”

So let’s be honest about corporate use of social media — it’s really allsales media — let’s not dress it up as anything else.

Vad betyder då detta?
Betyder det att företagen håller på och tappar kontrollen över sina varumärken?
Att de inte kan köra sitt vanliga sälj utan måste anpassa sig till en verklighet där kommunikation kan gå åt mer än ett håll?
Jag skulle nog säga det. Sociala medier innebär allt detta och det är den verkligheten vi bara har börjat ana.

Tags: media sociala medier varumärken peppe kommentarer

Copyright © 2012 Me. All rights reserved.