søndag den 18. februar 2018

Running Docker on Homebrew

Docker has been growing in popularity among developers and sysadmins for the last few years, but it wasn’t until recently I decided to look into it for some of the projects I run in my sparetime, and try it out for myself.

What is Docker?

Docker is an open-source engine that automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere.
Docker ships applications using containers, containing any requirements for running the application, ensuring that the application runs in the same manner in production as in development. The use of containers also makes the systems isolated, enabling developers to run applications and their requirements inside a virtual machine, instead of having to install requirements on the workstation.
This means that getting a development environment up and running Rails, Wordpress etc., is now a matter of getting the right image from the Docker repository, and Docker will set up all requirements (application, database, webserver etc.)
There is one catch though, on Mac: It uses technology that doesn’t work natively on Mac. However in recent versions, it’s become pretty easy to handle, as Docker has a lightweight Linux VM, which allows it to run on Mac.

Getting started

We’ll start off by installing Virtualbox, as it’s needed to run the Linux VM. I usually use Homebrew Cask for installing apps, so this is based on you having Homebrew and Homebrew Cask installed on your Mac. Cask is an addon for Homebrew for installing Mac binary packages via the command line. This allows you to install applications like Chrome, OmniFocus, Alfred etc. through command line, rather than having to locate them and download the apps. manually.
Anyway - as mentioned previously, running Docker on a Mac requires VirtualBox, so install that:
brew cask install virtualbox
Then install Docker and the addon boot2docker:
brew install docker
brew install boot2docker
boot2docker installs the VM that Docker needs, in order to run on the Mac. The following will download and install the VM, and setup the daemon that Docker needs to run:
boot2docker download
boot2docker init
boot2docker up
Note: If boot2docker tells you to set DOCKER_HOST manually in order to connect to Docker, you may need to run the command given from the command line (It should look like this export DOCKER_HOST=tcp://localhost:4243).
The docker command line tool should now be ready to talk to the daemon, and you should be able to start up a Docker instance.
I had some issues with port forwarding, when I launched my first Docker instance on my laptop - as I needed to explicitly forward the ports needed for access through VirtualBox. This is a known issue on Mac, which a lot of developers experience. 

Five Things That Motivate Developers

Money isn’t everything

One of the most common misunderstandings of developers I’ve met over the years, is that we are in an industry that pays high salaries, and that’s the reason for us being in the game. Furthermore, I’ve met a lot of middle-managers, who think developers are overpaid and spoiled “nerds” with no life.
During my years as a developer, I’ve met 5% that work as developers for the money, and 100% of those were poor developers, with basic skills and no professional integrity. The reason is, basically, that learning development purely for the money is a bad investment. Most developers with a high skillset will have invested years of sparetime into learning and perfecting their craft, years with little or no pay for the most part.

But then, what motivates developers?

1. Success and “winning” spirit

Most developers are competitive, proud people, who try to deliver the best possible result.
Feeling like a part of a team, with a clear, common goal is probably the most motivating thing for any developer. Convince them that everyone is determined on reaching the same goals, and show them what their role is in the big picture, and most of the time, they will be the ones working like crazy, while others complain about late hours.
On the other hand - being forced into writing poor, unmaintainable code, is one of the worst things you can do to a developer who loves his craft. You wouldn’t ask a construction worker to build your house using the worst possible materials, while being blindfolded.
If you have limited time, cut down on features, not on “doing things the right way”. Delivering a successful product in a developers mind is more than just “launching on time” - if the technical platform is not up to the standards of the developer, they will see it as a failure, on time or not.

2. Making a difference

Developers are commonly fueled by the desire to change the world. Sometimes by automating stupid, human behaviour that waste precious lives, but most commonly by the desire to make everyones lives a bit easier and pleasant.
Most of the time, a developer will choose a position based on the reach of his work: If it affects millions of people, or helps someone, they will choose it over a position that pays a bit more. At the end of the day, developers are pleasers and problemsolvers.

3. Excellent management

No micro-management. The best way to manage a team of software developers, is to present a challenge, encourage independent thinking and shield the team from any disturbances, while not getting in the way of the development process.
The worst mistake made as a manager, is probably to demean the work done by developers. Don’t tell them their estimates are “way off”, unless you’re a developer yourself, and know how a feature should be implemented. Instead, encourage them by explaining the impact of the feature, and the difference it will make for the company, not telling them it “should be easy to implement”.

4. Being heard

Developers are on the frontline, when it comes to the services and systems running the company - and they’re usually the first to know when something is not working. If a system crashes after a developer pointed out the flaws or shortcomings of the platform, over a period of time, he will take it personally if noone listened to the warnings.
The most basic rule - if a developer speaks, you should listen. If more developers agree, you should act.

5. Learning and being challenged

Chances are if you’re hiring a developer that have 10 years of professional experience, you can count on them having at least 2-3 additional years of sparetime invested in their knowledge, and they did that for a reason.
As developers, the world we work in keep changing. Developers need to stay up-to-date, and most will do that on their own, if the challenges of the job require it. Just don’t expect a developer to stay in a position, if the tasks are the same as they were last year.

Now what?

Are you a developer? Take a look at the list, and try to figure out which points are present in your current job, and which aren’t. From my own world, points #1, #2 and #5 are some of the main reasons I’m looking forward to my new job. Are you pleased with your own result?
Are you a manager? Try asking the developers how they feel about the points in this post. Are they satisfied with all points, or are some lacking?

lørdag den 17. februar 2018

content management system

Gå til alle sider på dit websted, og en redigering værktøjslinje giver dig alle de funktioner, du har brug for at opdatere din hjemmeside. Ingen skræmmende manualer, ingen komplicerede administration grænseflader - bare peg og klik og du har verden for dine fødder.
Vi er et open source content management system (CMS) for folk, der ønsker en professionel internet tilstedeværelse, som er nemt at vedligeholde. State-of-the-art systemets struktur tilbyder en høj sikkerhedsstandard og giver dig mulighed for at udvikle søgemaskinevenlige hjemmesider, som også er tilgængelige for mennesker med handicap. Desuden kan systemet udbygges fleksibelt og billigt. 
Nem styring af brugerrettigheder, Live Update Service, den moderne CSS rammer ogmange allerede er integreret moduler (nyheder, kalender, formularer, etc.) har hurtigt gjort Contaoen af ​​de mest populære open source content management systemer på markedet.

  • Online tidsskrifter og aviser.
  • eCommerce sites.
  • Extranet og intranet.
  • By-portaler
  • Offentlige websteder.
  • Small business websites.
  • Websites til Non-profit og organisationer.
  • EU-baserede portaler.
  • Kirke, klub og hold hjemmesider.
  • Personlige eller familiemæssige hjemmesider.
  • Marketing fokuseret sites for en virksomhed.
  • Enhver skole, gymnasium eller universitet hjemmeside.
  • Mange online communities.
  • Alt andet du kan drømme op!

At opbygning- og drive en hjemmeside er to meget forskellige udfordringer. Ganske vist kan en person bære begge kasketter, men processen med at lancere en stor hjemmeside er meget forskelligt fra at køre en stor hjemmeside over tid. Med os kan du gøre begge dele: at bygge og drive alle størrelser af hjemmesider: Fra malermester Hansen til Coca-cola. Mange CMS'er er designet af udviklere, for udviklere. Opbygge og vedligeholde et websted med disse systemer kan være temmelig kompliceret og skræmmende for nogen, der ikke kan eller vil programmere.
At tilføje ny funktionalitet kræver at du har en form for teknisk indsigt, men det kun hvis du ønsker selv at udvikle moduler eller objekter til din løsning.
Med os, får du det bedste fra alle verdener. Alle kan begynde at lave deres egen hjemmeside på få minutter og det eneste kendskab man skal have på forhånd, er kendskab til et tekstbehandlingsprogram. Redigering er super let; bare tryk på det du ønsker at ændre.
Udviklere har mulighed for at lave alt fra super simple hjemmesider til opbygning af meget avancerede web-applikationer.
Ja, vi er piv Gratis og Open Source (FOSS) under MIT softwarelicens . Denne licens blot beskytter vores ansvar og lader dig gøre noget, du ønsker. Vi ønskede alle fra en lille virksomhed til en internet-start for at være i stand til lovligt at bruge kaboozu som en grundlæggende del af deres forretning.

Det vil altid være gratis. Der er ingen Enterprice udgave af systemet. systemet gør alt, hvad du virkelig har brug for, uden at det skal koste en bunke penge. vi lever sit eget liv og der vil være aktiv på udviklingsfronten for altid - systemets kernen ejes ikke af nogle bestemte, men af alle! Der er et voksende fællesskab og markedsplads fyldt med add-ons, som ikke er alle gratis . På denne måde er selv små bidrag med til at der fortsat kan udvikles på kernefunktionaliteten som alle har interesse i.

Hvad er et CMS

Et CMS (Content Management System) er et program, der bruges til at styre indholdet på en hjemmeside - tekst, billeder, menu, kontaktformu...