Jan 07

Using Vim and Janus on Debian

I have decided to intensify work on private projects that I call micro projects, because usually they are small. Though I have a few ideas that would result in bigger projects, the outcome would be less successful because my time is already kinda limited. And that is intentional, because I do not want to spend the whole day and then the night in front of a computer. At work we use J2EE. I do not want to use this for private projects, because a) I use it every day b) I want to learn something new c) other programming languages widen your horizon which I think is important for a software developer. So here I am wanting to work on smaller projects using Python – a programming language that lets you work more quickly and integrate your systems more effectively.

For development one needs an editor, I chose to use Vim (a while ago) because, well, actually I do not remember why, but I got used to the keyboard shortcuts and got to like its two modes etc. This post will not be about Vim, though if you have not tried it, give it a shot. Now to use Vim there are a gazilion plugins that make it easier / more fun to work with. A couple of days I stumbled upon a link tweeted out by (not sure) @jezdez about Janus – a distribution of plug-ins and mappings for Vim, Gvim and MacVim.

Meet Janus

To install Janus follow the instructions provided on their homepage. Once you got that done chose a color scheme that you want to use, for me it is Molokai:

$ echo 'color molokai' >> ~/.gvimrc.after

Now when I start up gvim to do some coding my screen looks like this:

And I actually do like that a lot, makes it fun to work with. You can see the Git branch this is on, you can use CTRL+T to search for new files (similar to Textmate’s Open File) and many many more features. I am sure I will figure out new features when I use it even more.

Install on Debian

As I am using Debian on my main Desktop machine, that I also use for development, I had to make a few adjustments to get Janus and its installation script to work:

  1. Add the current user to the sudoers file, as the script will try to run something with sudo you need this and by default this is not the case on Debian.
  2. I guess Janus was developed by/for Ruby/Rails devs mainly. It requires Rubygems to fully function. I got that working with doing: apt-get install rubygems
  3. Well, a kind of a general requirement, though I already had taken care of it: git.

What do you use and why?

I would be interested in what you are using for your #micro projects? Do you have any? What kind of are these? Programming, hardware-“hacking”, building something, beating some kind of computer game? Tuning your car? What are you doing and what tools are you using to accomplish your goals? Let me know in the comments or @skohler me.

Dec 09

iOS apps I miss on Android - and why is that so?

As probably anyone knows who knows me, I am an Android user and fan. My phone is a great device, but nowadays a smartphone and the platform it is built on is only worth as much as there are apps one can and wants to run on them. In my opinion, this is one of the reasons why the new Palms did not work out as planned. But on to the apps I would like to see implemented for or ported to Android!

Oink

“With Oink, you don’t rate places — you rate the things inside. We need you to help fill Oink with all the best stuff.” Oink is an intersting app by Kevin Rose of Digg fame. It’s basically about rating everything that one can think of, see the video for a more detailed explanation:

>

Instagram

If you are into the internet and mobile apps and social networks and you have not come across Instagram yet, you have done something wrong. According to their website, they try to make sharing your life as instant and magic as those first Polaroid pictures must have felt.

Rumors have it that Instagram is actually working on an Android application. That would be really awesome and for sure an application I would be happy to use.

Flipboard

OK, I admit it, I love Flipboard. As I own an iPad I am a happy Flipboard user since the beginning. They improved the app already and it changes the way one consumes news, or their social network feeds. It makes Facebook and Twitter more fun by applying a journal like layout to your social feeds. Check it out. And they just released an iPhone app. Makes a sad Android user, aka me.

Reason to get an iPhone?

Are those apps actually a reason to get an iPhone? No, I do not think so. There is another thought that comes to my mind when thinking about it though. As far as I can recall, there is much news, that Android phones outsell the iPhone. There are more people developing software on/for Android than there are for the iOS devices. At least that is my impression when reading news and surfing the web. I feel like there is a lack of quality in the Android apps compared to iOS apps (of course there are exceptions to this rule).

Then, how come most must-have apps are released on iOS first and not the other way around? How come when someone tells you about a new app or you hear about a really successful app on the web, that it is an app deceloped for iOS first? Do you know why? I would love to hear your thoughts.

Nov 27

2011 Geek Holiday Gift Guide

Hoilday season come every year and so it is coming up this year, too. If you have any geeky friends, family or are looking for a gift for yoursevle, the following list might help you find an interesting gift for the geek inside you.

Up to $50

  • Charge smart: Most chargers continue to use power as long as they’re plugged into the wall—even after you unplug your device. The Conserve Valet Smart USB Charging Station lets you charge all of your mobile devices in one convenient place, and automatically shuts off power—including standby power—after devices are fully charged.
  • Flickr Pro Account: Unlimited uploads and storage, Unlimited sets and collections, Access to your original files, Stats on your account

$50 – $100

  • Up – by Jawbone: Use the UP wristband and iPhone® app to track your steps, distance, calories burned, pace, intensity level, active vs inactive time, GPS routes and more.
  • Uncharted 3 for Playstation 3

>

$100 +

  • iPod Nano watch: You need an iPod Nano, too, that will get you to over $100.
  • Amazon Kindle Fire: Full Color 7” tablet with multi-touch Display and Wi-Fi

>

Your turn

What’s on your wishlist for the 2011 holidays? On my list are also a few books that I am interested in (HTML5 and Android development), those are only interesting for people with a development background – if you need more recommendations, let me know.

Nov 15

Hints for your next job interview

Lately I have been given the oppertunity to take part in job interviews. Job interviews are nothing new for me, but now, I am sitting on the other side of the table and I am one of the interviewers who are asking the questions. That means no need for me to be nervous, though it was kinda weird during the first two to three interviews. My role in the job interviews is to find out if an applicant has the technical knowledge to be of any help for us in case we hire her. That is not all though. My opinion is also asked for in terms of my personal impression of an applicant. This post contains a few hints and tips for applicants to being able to perform better in job interviews.

The obvious

There are a few obvious parts in a job interview that I would like to highlight. This is mostly due to my (again I have just started being a part of an interviewing team) experience:

  1. Be on time (5 minutes before is OK, 10 minutes is not). Being late is unacceptable! In case you are running late – call!
  2. Do not show up underdressed (in most cases unless you know better: wear a suite – tie is recommended though in our case not required – we are looking for developers)
  3. Do not look like you just got up

I am sure there are more important things, those three are the ones that I found were sticking out in a bad way that I thought would be a “best practice” for job interviews.

Do NOT be nervous

In case you missed it. The company you are having the interview at is interested in you. They would like to meet you just as much – maybe even more? – as you want to meet the company. OK, I know, most people will be nervous at job interviews, but most of the time (there are exceptions, too) the ones you will be talking to are just humans and yes, most of them are nice. They might ask weird/hard questions, but there’s a reason for that, too. They want to see how you react. They want to test you. There are really uncomfortable questions that in most cases do not even have a correct answer to see how applicants react on stress or how they would solve tough problems / situations. In any case, do not be nervous. Think about your answer, give the answer – what else would you do? What’s the worst that could happen?

Be interesting

So, you show up on time. You are wearing a suite and a tie. You did not just get up and look wide awake. You are not nervous ;-). What else should you do to perform well in a job interview? Have something to talk about. Be interesting.

In one of my first interviews as an interviewer I asked an applicant what his master thesis was about. All she could tell me was the title of the thesis. One sentence. I thought, well, someone needs to work on her thesis for let’s say 4 months minimum. After 4 months of working on one single topic I expect you to have more to talk about. This applies to all of the points metioned in your CV. My hint here is, know what you can tell about most parts of your CV, if it is too far back, people probably will not ask you about it anyways. The last job you had – be prepared to talk about it – in detail. Do not give one-sentence replies (Again, there are exceptions to this rule, but in most cases more than one sentence is better).

Another thing that kinda bothers me during some interviews is that applicants keep talking about what their company was doing. How the team did this and that. That’s OK to some extend, but during a job interview I want to know what the applicant was working on, what her role inside the team was, what barriers she took care of, etc. So, again, you should be interesting and have something to tell about your latest job(s) and your role(s) in each of them.

Disclaimer

All points given here are my own personal opinions. I am not really experienced in being an interviewer so do not take everything mentioned here for granted. Think about it, adjust it, ignore it – whatever you wish. I beleive that there are some good points made in this post.

Conclusion

Compliing to the given statements will of course not guarantee you a job, but it would increase chances of getting a job – at least if I am the one interviewing you ;-)

What are your thoughts on this? Am I missing something important? Am I totally wrong on one or more points? Let me know!

Aug 30

Coding competitions: node.js knockout

Just yesterday I came across the so called “Node knockout”. It was a large topic on twitter and a few of the guys I am following there were tweeting about it in general or about their submissions. The knockout is/was a coding competition using mainly node.js, which is target at building scalable network programs. This post will be more about coding competitions than the Node framework in general. To find out more about Node – which sure is an interesting framework – make sure to check their website.

node.js – an intro?

Actually I was just about to write and post an introduction on node.js. But I was also sure I am probably not the best to write an introduction to it and I am sure there were others with more experience on the topic to write an introduction, so I collected a few links for you:

Also make sure to check YouTube Vimeo and ontwik | NodeJS for videos and or presentations on node.js!

The Knockout

The Knockout is a 48-hour hackathon featuring node.js – meaning that each team (or single participant) has exactly 48 hours to hack on a project or idea using node.js. In the best cases teams have finished websites or apps up and running after this time frame. 48 hours might sound like a lot of time, taking into account that a team can consist of up to four members, so technicall that would make 192 hours of work. 192 hours, that’s 24 working days (when a day has 8 working hours). But those 48 hours are not to be split into several blocks over the course of one or more weeks. The Knockout started 12am on a Saturday night and finished on 12 am Monday night. So if you wanted to work on the project for 48 hours, you would not have been able to sleep. I am sure there were a few contestants that did not sleep (a lot) on that weekend.

Besides the time limit one had to use node.js as the tool for all applications. Not that a surprise when you take a look at the name of the competition. As one only had a short amount of time to work on her idea, one should have been fluent with node.js before starting. I think the time to get to know the tool and start working on a project during those 48 hours would have been too short.

The results

There were some really nice projects coming out of this competition. The actual judging of the applications, which consists of Utility/Fun, Design, Innovation and Completeness, has not yet been completed. I took a look at some of the entries and here are my Top 3:

  1. A service that allows watching YouTube videos with friends, providing full synchronization
  2. Pöng is an umlauted take on the classic game Pong with a multiplayer circular twist.
  3. A shared online noticeboard

Let me know what your favorites are?

Benefits for you

By looking at the prizes for the winner one could easily come up with a few reasons to take part in the competition, there are MacBook Airs, iPads, hosting plan, DropBox storage, boxing gloves and more to win. But, more importantly than any prizes:

This is a competition for fun

Most people do it for the fun. They do it for competing against other developers. I think most don’t do it for the prizes, though they sure help to keep the ideas innovative and the designs spectecular.

Coding competitions

The node.js knockout is not the only coding competition out there. Pretty similar to the knockout are other competitions such as

I am not sure if there are similar contests in the Java or .NET community. Grails, Lift (Scala), etc. might be nice tools to use for such a coding competition. Maybe even Java EE 6 and / or Spring might come up with a competition. I am sure there would be a few interested people in taking part. A Java EE 6 vs. Spring competition could actually be really fun, the teams decide what tool to use and the best result wins. Hosting could be handled on JBoss Open Shift or Heroku, which has Java support now, too. The more I think about it, the more fun that sounds.

It is up to you

Signing up for coding competitions is free (as in “no fee” is required). The only expense you are definately going to have is your time (OK, plus maybe a bit of hosting and Red Bulls to stay awake). Noone will ever tell you not to take part besides your inner devil telling you not to do it. Which of the competitions would sound the most interesting to you? Why are you not taking part? Do you have any ideas what to work on during a coding competition?

Let me know in the comments!

Jul 28

My new phone: The Samsung Galaxy S

I got a new phone. It is an incredible device: The Samsung Galaxy S i9000. It is not my first Android phone, I have owned a Motorola Milestone until last week. It kinda got slower and I felt I needed a new one after seeing how fast new devices are and how they make Android that much a better experience.

Why a Samsung Galaxy S

People who follow the “phone scene” might Be wondering if I got a Samsung Galaxy S II, As this has just been released. But no, I went for the previous model. Why? Money! As there was a new version of the device released, the market kinda had an overflow of older devices because of people upgrading. I got my one for around 250 Euros on an Amazon Warehouse deal.

Wait a minute, why didn’t you go for an iPhone? Again, money. But money is not all. As stated in a previous post (Switching to Linux) I am trying to get more independent of specific software manufacturers. Having an iPhone and not being able to sync to it easily using the tools I want … Well, you get the idea. It’s not that I am an Apple hater (I own 5 Apple products), my phone should just not be an iPhone.

At work, 8 co workers have the SGS. One of the reasons I got one, too, is that I was able to test it before buying one. Another reason is the recommendations of several people.

Technical facts

A short list of some (interesting) facts about the SGS:

  • 1 GHz processor
  • 119 gramm light
  • 4 inch super AMOLED display
  • WVGA (480 × 800)
  • 122 × 64 × 9.9 mm
  • 5.0 megapixel camera (geotagging)
  • microSD card slot for up to 32 GB

To the power of Android

My previous phone was running Android, too, and I got used to it and started to like it – a lot. The problem with the Milestone was, that it was basically in an Android 2.1 trap. Motorolla released Android 2.2 for it, but the update process required a Windows system, yeah, that Sicks, right? So I was not able to update (easily).

The SGS runs Android 2.3.4 like a charm and enables apps to use the ladest and greatest techniques included in the operating system. From the last Android version I was using to the new one were just two minor versions, but Android now feels a lot more stable and thus is more fun to use.

Typing w/o keyboard

When I got the Milestone, one of the reasons I chose it was the hardware keyboard that you could slide out and type away. The SGS does not have a hardware keyboard. Through the larger screen size, the virtual keyboard got easier to use with my big hands, but there is an even easier way:

Beta on Nexus One from bcpk on Vimeo.

Swype is a relief for me and my fight against virtual keyboards. It makes it fun again to swype longer texts and to my surprise, it knows a lot of words – even in German. If you own an Android device, make sure to give it a try. It is worth it. I have read bad reviews of swype on the web, too, but my experience so far was awesome and just enjoyable.

Was it worth the switch

Getting the new device was – so far – a really good decision. The phone weighs a lot less than my old one. It is a lot faster and makes Android much more fun. Android in general – the new version (2.3) – seems to be more usable and easier to interact with than with the 2.1 version. Nice work from Google there. I have only had the device for about a week and have mostly used it on W-Lan for surfing, my new phone plan for mobile surfing will be enabled tomorrow – at least that’s what they say. So, if you are looking for an kinda up-to-date phone (there are newer ones) that is not that expensive, give the Samsung Galaxy S i9000 a try. And don’t forget to give Swype a try, too, if you have not yet.

Feedback, comments, experiences are welcome – as always!

Jul 22

Meet Wunderlist - the task management tool

Last week I received an Email from a somehow forgotten service I wanted to try out: Wunderlist. I like the idea of having my notes/todo lists available wherever I am, so an online solution is perfect for me. Even better is the service offers clients for all major mobile platforms.

The Wunderlist interface

Wunderlist focuses on lists of items. Those items are kept pretty simple to one line at first. Once you added an item you can add more details to it and even add a due date which wunderlist will use to send you a reminder email so you do not forget it (as they did for the task I was talking about above). You can cross items off of a list by marking it done. Pretty simple, right?

Simplicity is key

As keeping things clean off distractions to stay productive, keeping the tools you use as simple as possible and as powerful as needed is important. Wunderlist is a pretty basic application with a wonderful and clean UI. Yet it is still doing a pretty good job at enabling you to manage your todos. You can also manage different todo lists – I keep seperate ones for work and private stuff and am currently thinking about putting a new list for things I can do while on the road.

So far I have been using Evernote for note keeping and todo-management, but Evernote has a different target group. Their primairy use case is a note. Where note can basically be anything – including file uploads and more. This is not the case for Wunderlist or I have not found the feature, but, to be honest, I have not had the desire to upload a file to my todo list yet.

Supported platforms

The easiest way to get started with Wunderlist is the web application. For me the Android and the iPad versions came pretty handy. The applications for both platforms are implemented pretty well and work perfectly fine, as one would expect after seeing the web application, which has a really nice user interface. There is also a native application for OS X in case you are a Mac user!

Conclusion

This is a wonderful application to manage my todos. It is a pretty simple todo list with benefits – such as reminders, due dates, web and mobile application. Wunderlist is so far the best and helpful application, be it mobile (Android/iOS) or web that comes out of a German company. The 6 Wunderkinder come out of Berlin, Germany. They are currently also working on a new idea – the Wunderkit. I am curious to see what that will be like, I sure hope it will be of the same quality as the Wunderlist app.

What is your favorite app – be it mobile or web? What are you using for your todo lists? Anything special or the good old fashioned notebook and pen? Do you keep a todo list at all?

Jul 01

Job: Two months in

Today ends my second months with the new company. As a follow-up to my last post Two weeks with the new company this post will be about my latest activities, my thoughts on a few things software and the feeling for further improvements.

Working around the core

Like 4 weeks before I joined the company another developer started working for my new employer. Both of us were surprised by how things are/were handled and decided we should change a few things for the product to get better. We gave a presentation on stuff that we think should be improved and asked for officially supported time to work on those things. This presentation was the starting point of stories that we as developers can suggest to put into a sprint (scrum). There are quite a few stories that are really interesting, most of them though are kinda around the product. One for example is the implementation of database migrations and how to handle them to keep track of different versions of the database.

Database migrations

As I was the newest to the company and did not have my special fields I worked on I was assigned with this task. It was interesting to work on it and I found a nice tool that we are now going to give a try and see how it will turn out: flyway – The agile database migration framework for Java During my tests the tool supplied basically all the features we expected and it also comes with a Maven plugin. Did I just say Maven?

Build system

The build system so far is pretty much tied to Netbeans, using Ant in the background to do the work. But it is started and maintained in Netbeans only. I am not a fan of that. Don’t get me wrong, building software using the IDE should be possible for sure, but having to use the IDE to make a build is just wrong to me. So, guess what, another task I got to work on was a concept for the build system. I took a look at different continuous integration (CI) servers and came to the conclusion that we should give Jenkins a try. But before being able to use a CI server, the build has to be decoupled from Netbeans.

Here comes Maven. The developer who started 4 weeks before I joined the company has already worked on trying to build our software using Maven (in his spare time) and has come pretty far. There were a few things that needed to be fixed, changed, optimized and all that, but the ground work was done and I could build on that. It was a big advantage as this was the first time I was really using Maven as the build / dependency management tool. This week I got as far as being able to build the software from the command line (and also in Netbeans) using Maven —> Using the Maven Glassfish plugin, I could even deploy the result of the build. I find that is pretty cool and once I got to know the Maven way of thinking a bit better, which I still think I did not fully get, it was not that hard to adjust the last few things and fix a few minor hickups.

As we are using a few older versions of libraries that no one wants to take the risk of updating, we needed some kind of a local repository. These older libraries were nowhere to be found in the public repositories so we need to have them locally. Fill in Sonatype Nexus which manages software artifacts required for development, deployment, and provisioning. It can be run in an embedded server and is pretty straight forward to use. One can describe it as

  1. a proxy for public repositories, so you would download a dependency from Nexus rathter than a central repository. In case the dependency is not in Nexus yet, it will download it from Maven central and such and keep it for future downloads that then will not be going out of your network.
  2. your own repository. You can upload your own jars/libraries and let Nexus be your repository. Maven will not see a difference, in that way you can use your own custom jars/versions that are not publicly available in your own repository management system.

Both, the build system and the database migrations were pretty interesting as both were a first-time for me! I had other stuff to work on, too, but those were the main areas I was working on. So I have been mostly working around the product, though both topics will improve development and thus the product. It is good and bad at the same time, because I kinda feel like not getting to know the system better, that I am supposed to improve the infrastructure around it. I hope you understand what I mean.

Things software

Tools are only as good as you know how to work with them (I am sure there is someone famous who said that before – so don’t credit me for it). During the last two months I mainly worked in Windows 7, which isn’t that bad I have to say. I have used Linux (Debian/Ubuntu), Mac OS X and Windows (2000/XP/7) before and one of the most important tools supplied by the OS I came to like is the command line on Unix systems. So, sorry Windows, but your command line sucks – really bad in my opinion. But, there is a fix for that: Cygwin – Get that Linux feeling – on Windows! Seriously this is one of the best tools I have found I need installed on the Windows machine. But once I had it installed I was ready to rock:

  • tail -f -n 100 someserver.log
  • split -l 100 -a 4 splittedfiles/
  • cat something* > combinedfile.txt

How would you do that on the Windows command line? Am I just wrong about that and don’t know the right commands and it is included, too? If so, feel free to correct me, I am more than happy to learn.

CI is for Continuous Improvement

CI can have many meanings:

  • Corporate Identity
  • Common Interface
  • Continuous Integration

I want to use CI for Continuous Improvement. As I am talking software development mostly, Continuous Integration can be ssen as a part of Continuous Improvement, because it can help you with it, a lot. I think it is really important to constantly try to get better. Especially in software development I feel there is always something one can do to improve herself, the software, the infrastructure, the performance and/or the user experience. Once you stop improving or start telling yourself: “Why should I change this, we have always done it like that!?” you should sit down, rethink and relook at the topic trying a different angle. There is always room for improvement. Always.

Sometimes you have to invest a certain amount of time (and we all know time is money) for improvement, but I think it will payoff. And even if it does not right away, sometimes it might as well be more expensive to not work on the improvement and leave it the way it is. The later you start the change, the improvement, the harder it will be and the more it will cost.

Nice coworkers

During my first two months I got the feeling that it is more like people working together. Sometimes it feels like some kind of a family. Maybe this is what it feels like to work for a startup, which I still consider us as. My colleagues also prepared my desk for my birthday which I found quite nice of them:

I think it was the right thing to take the opportunity and start this job. I will keep on working on my definition of CI and hope to get everyone on board! So here’s to the next 2 months! Let’s crush it

Jun 14

OpenPhoto - would you use it?

A while back I posted about a (for me) new website supporting the funding of projects: Kickstarter

OpenPhoto

The goal of the project is to build a top notch photo sharing service that stores photos, tags and comments into a users cloud service account.

Take a look at the video and let me know what you think of the idea!

Would you use a service like this?

In my opinion it is a good idea, I am still not that into uploading pictures to Flickr or S3 or Dropbox. But let me know what you are thinking of it? The idea is definately interesting and if well executed could succeed. On a side note – I think the target of US$ 25’000 is a little high, isn’t it?

Jun 06

Respect to Github

I have been a member of Github since like 2008 – a long time. I have not been as active as I wanted to. Probably due to lack of time. Well that might be an excuse, but it is obvious that I have had other priorities than just working on code. Another excuse would be the fact, that I develop code for a living and at work we are not using git/github. So too much computer for me during the day to keep coding at night, too!? Lots of excuses, but this post is on a different topic

Github for the non-users

As not everyone uses git (Git), though the number of users is increasing daily, I will try to explain what git and github is about:

  • Git is a Git a free & open source, distributed version control system, which means that users have a local repository on their computer, which they will sync with a server repository. So a local user can commit code (or whatever else) to their local repository before pushing it to the server.
  • Github currently has around 2 million code repositories and is the largest source code host in the world. It offers a free service and several paid plans ranging from $7 to $22 per month. The free one is just for public repositories. With the paid plans you get private repositories and collaborators, too.

As it is free and you want to give git / github a try, you can just try it out for free.

What makes github special

What I find interesting about github is neither their use of git nor github. It is more about the history of the company. It is not that I know too much about it, but the stuff that is available to the public is interesting. A nice little fact that can not be underestimated is viewable on the About page

And no – I don’t meen the fact that they have 4 delicious beers on tap (though it’s a fun fact to know)! Check out their VC funding. It is at $0.00, nada, niente, nothing, null. In times when startups are happy to release VC round numbers or receive the money, I think the fact that a company is not taking any VC money adds value to the company, too. Please don’t get me wrong, I don’t think VC money is bad, I just think that companies not taking VC money and growing organically are to be respected, too.

The perfect startup to work for

Another fact that can be taken from the about page is how they think about working and their employees. An no – it is not the beer fact that I am talking about again. It is one thing though that one could take into consideration when applying. But rather than the beer fact, it is this sentence I think is really interesting for employees:

''GitHub is headquartered in San Francisco with team members working remotely from all around the world.’'

Nowadays office are not that important anymore. One can work from home and use the internet and/or telephone to communicate with their co-workers. They currently have 123 job openings in a lot of different areas.

Update: Those job offerings are not at github. It is their job board where companies can posts jobs they offer. It is a service offered by github – not for jobs working at github. Thanks @tekkub

What this post is not

After rereading this post it kinda feels like I advertising for them or getting people to apply for a job there, so I wanted to state that I am not working for github and I don’t get paid to post this or anything like that. I just find it interesting to know.

Feedback

What do you think about github? Are you using it? If no, what do you use and why? Please feel free to contact me via @skohler.