skoop.dev

  • About
  • @skoop@phpc.social
  • Open Sourcing LinkTuesday.com

    October 10, 2011
    linktuesday, php, symfony, Symfony2

    It did run into some issues, some of which I couldn’t immediately fix because I was occupied by other things. Really annoying, and it made me feel guilty, not being able to fix things. I considered open sourcing the source code, but decided against it because I thought nobody was waiting for it. Until people started suggesting I open source the code so they could help fix it. So there were people waiting for it!

    So last weekend at the PHPNW11 conference in Manchester, I published the code to it’s own Github repository. I have to warn you though: this is code written on preview releases on Symfony2, and the project has not yet been converted to the latest release of Symfony2, so there may be strange things, inconsistent things or plain out wrong things. Something could be done better? Make sure to send a pull request and your code may make it into the next release of LinkTuesday.com 🙂

  • About your job opening…

    October 5, 2011
    drupal, HR, job openings, joomla, php, symfony, wordpress, zend framework

    PHP is an awesome language. You can do many things with it. And people do many things with it. In the open source world alone, lots of different products have been built on top of PHP. Drupal, Typo3, Joomla!, Zend Framework, symfony 1 and Symfony2. Some are better than others, and sometimes that statement depends on who’s telling you.

    A lot of the above-mentioned products (and a lot of products I didn’t mention) need some form of specialization to be good in it. I am personally mostly specialized in frameworks and custom applications built on top of frameworks, but even then am I mostly proficient with Zend Framework and both symfony versions. However, if you give me a Drupal or Typo3 project it probably takes me ages to finish my tasks, because I have to figure out how those products work. I can do it, it just takes longer.

    With that knowledge in mind, it keeps surprising me that companies still write texts for their job openings that list all of the popular PHP software as “nice to have skills”. It may seem like you attract a lot of response to your job opening that way (because most developers will have at least one of their favorite products in such a list), but in the end, you are wasting your own time, and the developer’s time. Why? Because if I come to interview for your job, and it turns out your listing symfony in the text was only to attract people but you actually work with Joomla!, I will go home after the interview with a disappointed meeting, and will reject any offer you might make (if you even make one). And why would you make one? You were looking for a Joomla! developer and now you just interviewed this symfony addict.

    Do it right

    The next time you’re writing the text for your open position, start thinking about what software you work with a lot. You can of course still list multiple PHP projects, but make sure your company actually uses those projects. So if your company has standardized on Zend Framework, list only that. If your company has standardized on using symfony in combination with Zend Framework, list those two. Are you mostly building on top of WordPress, make sure to list that one, and only that one.

    In the past days, I’ve seen many bad ones, but I’ve also seen a couple of “WordPress Developer” and “Drupal Developer” positions come by. These companies are doing it right. Even if the position also includes using Zend Framework components in their projects, the description “WordPress Developer” clearly indicates what the majority of the work is, and I can decide in a split second whether or not to read the rest. I hope more companies will start doing this, as it will make the life of not just “us developers” easier, but also of their HR departments.

  • My tools: Keeping up with the world: NewsFire and Zite

    July 21, 2011
    blogs, newsfire, tools, zite

    NewsFire

    I’ve tried many feed readers in the past. Online readers like Google Reader and Bloglines, and native software (of which I strange enough can not remember a single one). NewsFire isn’t special in the RSS reader space, and that’s what I like about it. It does one thing, and it does that well: It allows me to read my feeds. It supports categories of feeds, and browser through the posts in a certain feed. It keeps track of which items you’ve read already. There’s some smart stuff (such as if you’ve copied a blog or feed URL and choose the option to add a feed, it will automatically take the URL from the clipboard and fill in the blogname and feed URL), but that’s about it. And you know what, that’s enough. Nothing to fancy, just something that works.

    Zite

    Perhaps slightly more fancy is Zite. Zite is an iPad app that finds blogs/articles/links you might enjoy. Where NewsFire is just for keeping up with what’s being blogged about, Zite is about inspiration, about finding the new stuff, the things I have missed. Obviously, stuff pops up in Zite that I have read already or at least have seen come by, but Zite is relatively good at guessing what I think is interesting. It does this based on some information I gave it, of course, but the result is a custom “newspaper” full of mostly interesting information.

    Zite also allows you to tell it whether you liked something or not (and I’m guessing it uses this in the algorhythm that determines what it should show you). It also integrates with Twitter, Facebook and a bunch of other services, so if you read something really good you can directly share it with the rest of the world. I’ve found Zite to be quite smart in how it determines what you might like, as I’ve rarely gotten stuff in my “personalized magazine” that I thought was really bad.

  • Conferences for the rest of 2011

    July 15, 2011
    conferences, pfc11, pfcongres, php, phpnw, phpnw11, symfony, symfonyday, zendcon

    PFCongres

    Earlier in the year I stepped back from PHPBenelux and joined the ranks of the PFZ.nl event team. Of course, with PHPBenelux we just had our annual conference, so I was already involved in organizing one, but PFZ.nl did not yet have theirs. That one is now scheduled for September 17. I am not speaking there, however I am helping it organize, so it will be a busy day. 🙂

    PHPNW11

    The conference that I bought a ticket for before I even knew I was speaking, because I knew for sure I wanted to attend this one regardless. Manchester usergroup PHPNW has their annual conference on October 8th and 9th (with a seperate training day before that, but I won’t be there). It should be lots of fun (as it always is) and I’m doing not one but two talks there (one on Symfony2, the other on Git). If you’re in the neighbourhood (and in this case, Europe is the neighboudhood, it’s not *that* expensive to fly to Manchester 😉 ) then definitely come to this conference. It’s awesome!

    ZendCon

    After 4 or 5 years of submitting proposals, I’m proud to be able to attend and speak at ZendCon this year. I will be doing the same Symfony2 talk there that I’m doing at PHPNW just one and a half week before. I am really excited and looking forward to being in Santa Clara with all the other ZendCon-ians. The schedule looks awesome, and I’ll meet lots of friends, old and new, at the conference for sure. I will be flying out before the end of the conference though, because of…

    SymfonyDay

    The annual symfony conference in Cologne organized by Interlutions will be lots of fun again. This conference is the only reason I was not able to attend PHPNW last year, and the fact that I’m skipping PHPNW means something here. The best of the best of the symfony world will be there, and with a brand new training day the day before the conference, symfonians should try to make it to Cologne on October 20 and 21. I won’t make it to the training day because I’m probably somewhere up in the air at that point, but I will make it to the conference, I know this for sure. Whether I’m speaking, I don’t know yet, the CfP runs until the end of this month. You can still submit if you want!

    Taking it easy

    There were lots of other opportunities (OSI Days in India, International PHP Conference in Germany, Australia has a new conference coming up, just to name a few) but I decided earlier in the year that I would take it easy the rest of the year. Easy, in this case, is not that easy, because most conferences are all in a period of about two weeks time, but well, that means I can take it easy before and after that.

  • Make them pay

    July 6, 2011
    community, conference, joomladays, php, python, speakers

    Everybody pays

    The concept of “Everybody pays” is not new. It is actually quite normal in the Python world for community-organized conferences. It also depends on the conference. Nobody expects to get reimbursed for a barcamp or unconference. It’s “part of the deal” when going to such events. In the case of community conferences it is in the PHP world different. Some conferences reimburse part of the cost, others pay the full cost, some of them (like PHPBenelux) try to spoil the speakers to death 😉

    Most important thing to note, independent of which approach a conference takes, you can usually find information on how a conference is organized and what is reimbursed on the Call for Papers page of the conference, so you know what to expect when you submit your proposals. When a conference doesn’t mention anything, you can ask but I usually assume that means they pay for at least hotel and travel, as that seems the most common deal in the PHP world.

    Speakers are always important

    Now I want to make something very clear: Speakers are always important. As a conference organizer having been involved now in all kinds of different events, I know that speakers are important for a couple of things. First of all, they determine the content of your conference, which in turn determines how interesting your conference will be. Second of all, who you invite also determines how many delegates you will get. A good mixture of “big” names and new speakers is important to get to the amount of delegates you’re aiming for. So, speakers are very important. This does however not mean that you can always pay for all expenses. This highly depends on how many sponsors you get, how high your ticket price is, etc.

    It is important to realize though that speakers put a lot of effort into preparing their talk, and make quite a few expenses to get to your conference, whether you pay their expenses or not. So it has always been my focus to try and reimburse as much as possible for speakers, and I think most conferences do. Eventually, though, you need to make sure you don’t lose money when organizing a conference, so choices are necessary.

    Take PHPNW as a good example. This is a conference that pays for hotel and offers a free conference ticket, but speakers have to pay for their own travel. Has that ever made me feel unwelcome? On the contrary! It is probably the only conference where I go whether I get accepted or not (I have just been lucky to have been accepted to often). I had already bought my ticket for this year’s edition before I knew I was accepted, because I already knew I would be going anyway. PHPNW is probably one of the best conferences to be a speaker at, even if they don’t pay for all of your expenses as a speaker. So it definitely is no requirement to pay for everything to be seen as a good conference for speakers.

    Would you pay for your own ticket?

    Another example: Earlier this year I sent in a proposal to the Dutch Joomla Days. A conference outside of my normal scope because I usually don’t work with Joomla!, but recently I’ve come to know quite a few people there and the community is very nice. I was accepted into the conference, when I got an e-mail from one of the organizers asking me “Would you be willing to purchase a ticket for the conference?” It was in no way required for me to get a ticket, I would get access to the conference (well, at least the conference day I was speaking at), but they still asked, because it would help their budget. Fair enough, so I ended up paying for my day ticket.

    This is where you can go wrong…

    And this is where you can go wrong as conference organizers, and where I feel the earlier mentioned conference went wrong. They had a Call for Papers which at no point mentioned speakers were required to pay for the ticket themselves, yet after they accepted the speakers they mentioned that speakers should purchase a ticket as well. Now, I prefer the Joomla Days approach where you kindly ask the speaker to pay, but it is a valid choice for a conference organizer to simple require speakers to purchase a ticket. But if you do so, communicate this fact before speakers send in their proposals. Make it very clear in the CfP process what you ask of your speakers. Then, speakers can make the choice of submitting, knowing perfectly well that they will have to pay for their own ticket.

    Be explicit

    So I guess the most important lesson to learn from this is: If you organize an event of some sort, be explicit about what you ask of speakers and what they get in return. Well, not even just speakers. Also for delegates, staff, volunteers, everyone. And sure, assumptions are probably the root of all evil so if certain information is not available, people should not assume but ask about it, but if you’re an experienced speaker, you start expecting certain things unless mentioned otherwise.

  • My tools: Alfred

    June 29, 2011
    alfred, gnome-do, launcher, launchy, tools

    When I first got a MacBook Pro when I started at Ibuildings, I asked around which apps I would really need in my day to day work. One of the suggestions I got was Textmate, which was definitely a good choice. Another suggestion I got was Quicksilver, a launcher app. For years I used Quicksilver, but no new updates were being released for a long time and I had some (admittedly small) issues with it. While working for AngryBytes last year, a developer there pointed me towards Alfred. Alfred is another launcher, very similar to Quicksilver, but with active development as some additional features.

    What I like about working with a launcher app is that I don’t have to open the Applications folder, browse through a long list of installed applications then select the one I want and launch that. Instead, I just press alt-space (this is the hotkey I’ve configured for Alfred), type the first couple of letters of the application that I want to start, then type enter. Alfred will autocomplete the title. If there are multiple applications that match the name, I can select the one I want. This saves me a lot of clicks and some time

    But Alfred can do more. In the same way I can start applications, I can also open documents. Alfred will index the documents on my Mac and allow me to open a document directly from the Alfred interface. In a similar way, if you configure this, Alfred can give access to your e-mails, contacts and a lot of other information on your computer.

    To prevent pollution of the results Alfred returns, you have the option to configure a certain search scope. Alfred won’t index files that are not in the search scope, so that you don’t get a huge list of results when you search for generic words.

    For me, Alfred (and Quicksilver before that) is a huge timesaver. When working on Windows, I usually install Launchy immediately, and when working on Linux I use Gnome-do for this. I can not do without a launcher anymore.

  • My tools: TODO: Wunderlist

    June 22, 2011
    todo, tools, wunderlist

    Wunderlist is a free TODO system built by 6Wunderkinder. In essence it is very simple: You can have multiple lists, and each list can have multiple TODO items. There are some additional features, such as “starring” an item, which then gets a higher priority (is put on the top of the specified list), the option to put notes with your item, some filtering options (show me all starred items) etc. So far, it may sound a bit standard, and I guess it is. That is what makes it so good, because it doesn’t bloat itself with too many features, but just keeps to the necessary basics.

    There are two specific features though that I want to highlight because they go beyond the basics but are so enormously cool that they make Wunderlist the tool for me over all the other TODO tools.

    Synchronization

    Wunderlist supports synchronization. Now this in itself is already useful, but it is especially useful when you consider that Wunderlist is available for just about any platform. At the moment, I have the OSX desktop app, the iPhone and iPad apps but also the Windows app running. OSX is my laptop, the iPhone is, well, my iPhone, and the Windows is my desktop at my current client. And they all have the same list of items I need to finish. So if I get another task, all I need to do is put that task in the Wunderlist instance I have open at that time, and it will be available on all the other ones as well. This is really useful if you think of something while at work that you need to research when at home, or when you’re in a bar discussing something with a friend and want to follow up on it.

    Sharing

    Another very useful feature of Wunderlist is the sharing option. You can share one (or more) of your lists with other people, providing of course they have Wunderlist. This makes it easy to manage TODO lists also for teams of developers, or between you and your partner, whether it’s about things to do, groceries to get or even concerts that you hear about and want to go to. Where the synchronization is useful for individual users, the sharing makes collaboration a lot easier.

    Free

    The only thing I don’t like about Wunderlist is that they offer this tool for free, without having even a donate button on the website. I’m not complaining here (of course!) but I believe in paying for the software that help you earn money or that are simply really useful. Wunderlist definitely earns me money (or saves me from losing it) because it will help me remember the things I would otherwise forget. And even if not, it’s really useful just for keeping track of my tasks. So, 6Wunderkinder, well done! Thank you!

  • My tools: Git and Github

    June 20, 2011
    git, github, php, symfony, tools

    Git

    When I started with PHP and version control, CVS was the main VCS to use. Not just because it was the best (this is actually not a fact), but mostly because all the hosting services out there supported it, most specifically, SourceForge did. It worked in terms of version control, but it was not that easy to use. So when Subversion came around and became the major version control tool in the PHP world, this was a welcome change. I’ve used it for years and I’ve loved it and hated it at times.

    Then some years ago, this new VCS started making it’s rounds in the PHP community. Git quickly became the talk of the town and when project after project started switching to Git, it was time to have a good look at it. The main difference was clear: Git was a distributed VCS as opposed to the centralized VCS’es I was used to at the time. And while this was mostly an advantage for (distributed) teams of developers, even when working on a project by yourself it was quite useful.

    One of the immediately advantages I saw was the fact that you can commit and thereby create a history while disconnected from the Internet. Since I travel quite a bit and don’t always have a data connection available, this is an awesome feature for me. Now I didn’t have to save up my commits until I got to a connection, and it was much easier for me to adhere to the atomic commits best practice.

    There are definitely many more advantages to me though. The easy branching for instance, making it much easier for me to work on functionality and then merge it back when done. This makes it much easier to work on different functionality in parallel as well, and even also do bugfixes in the meantime.

    And of course the team functionality. You only have to look at, for instance, the Symfony2 repository to see how easy it becomes to contribute to an open source project. And it’s no different for private projects. Additionally, if you set up your processes correctly, there is much more quality control, making the code of a higher quality.

    Github

    I think Github contributed a lot to the success of Git in the PHP world. I’ve heard a lot of stories from people I trust that Mercurial is actually a much better, easier dVCS than Git. However, at the point where dVCSes started to become popular amongst PHP developers, Github actually made the difference. The collaboration features Github adds to the Git base enhances Git to a level where collaboration and contribution becomes so easy it would be stupid not to contribute and collaborate. Pull requests, the ease of setting up private repositories, easy integration with other tools, clear and well-maintained documentation, it all helps.

    I personally use Github for most of my projects these days. Whether it is private projects I do either for myself or my company or it is public projects, Github is my main hub for VCS-hosting these days.

  • What PHP needs (well, what I think it needs)

    June 10, 2011
    community, contribution, fork, php

    Disclaimer

    I think I need to add a disclaimer first. First of all, I have much respect for all those that have contributed to PHP. The whole core team, the QA and documentation teams, the accidental developer, the extension writers, and all those I’m forgetting in this list. They all have made a difference and have enabled me to earn the money I’m making these days. I earn my living from this awesome language that has been created and evolved over the years. So even though I might be a bit critical of people or processes, I don’t mean to insult anyone.

    I do think, however, that PHP needs change. And hopefully the discussion triggered by the fork will actually accomplish this. It may take a while, or it may only take a short while, but change is needed. Now, I have not contributed anything to core. I write a couple of tests during the PHP TestFest events that PHPBenelux organized over the years, but that’s it. I have, however, seen things happen. Or sometimes not happen, while they should.

    The background

    Earlier this week, a link started popping up on Twitter. The link was to a fork of PHP which contains some changes/improvements, all developed by the same person. The comments to the blogpost ranged from positive to bashing and negative to simply business-like. Where I like the first ones, and can appreciate the latter (Derick commented about the fork not being allowed to be called PHP by the PHP license), the negative comments seemed useless. And this became an issue when (from as far as I saw it) Jonathan Wage brought this up on Twitter, wondering whether it wouldn’t have been better to be constructive instead of calling names and bashing. Early on in the discussion already, Rasmus chimed in stating that he already had been in touch with the developer and was trying to get him on board PHP as a contributor (which I was very happy about), but the discussion raged on and exposed an issue that has been there for quite some while already: Attitude.

    Attitude

    Now, first of all, all of the members of the core team I’ve met so far have been really nice people. It’s nice to talk to them, discuss PHP and related topics, and they’re usually very helpful when I have a question. But some seem to have a dark side that only comes up online, once in a while. Either on Twitter, or on the internals mailinglist, or as exposed today, in comments on blogs. This attitude problem is holding back people. I’ve talked to people outside of the core team with great ideas that did not dare send an e-mail to internals because they were afraid of being flamed. And the problem is: They are right. This happens regularly.

    Internals

    I think books could be written about the internals mailinglist. I myself was only subscribed for about 5 minutes. Why? Well, apparently I subscribed in the middle of one of these “discussions” about a feature proposal (I can’t even remember which one). Anyway, in the timespam of about 5 minutes after subscribing, I literally got tens of e-mails. Now that in itself is not a problem, but the general tone of the e-mails was very negative. All this hatred and negativity got to me, and I unsubscribed. Done. Since then, I’ve only in a while read through the archives, and while there are definitely enough decent discussions going on, the negativity seemed to pop up on a regular basis, so I never resubscribed.

    Now I’m not a core contributor, neither am I a very likely potential contributor (since I don’t do C), however if I already have these issues with the internals-list, I can imagine how potential contributors will feel when they have this idea of a contribution that they want to propose. Sure, the proposal might be received very well and there might be no problem at all, but because of the regularity of the negative responses, I’d definitely think twice before posting the proposals. Truly, internals is not newbie friendly. And this is definitely something that should change if we’d want more contributors outside of the current core team. And I think we should want that, because the core team is busy with other stuff as well (work, life, such things).

    Public statements

    Another thing that should be changed is that the core team members should be more careful with what they say “in public”. Here, I mean on Twitter, Facebook, in blog comments etc. Even if those statements are not targeted directly at people, a lot of people still read them. And if they’re negative, bashing people, calling them fools or whatever, then that will stick. And at some point, it might stop people from trying to contribute to PHP. We should embrace them (even if they take a wrong approach in your opinion). Try to be constructive, try to convince them in a positive way about the way you think things should be done. This helps the overall community a lot more than bashing people and spreading negativity and hatred.

    Management

    Right now, the core team takes care of whatever they come by that they can handle in their precious “PHP-time”. They do an awesome job, but perhaps it would be good if one or perhaps a small group of people would try to manage this a bit more. Have an overview of open tasks, bugs, feature requests, anything that needs to be done. I sometimes get the idea that a lack of organization is sometimes preventing speedy response or handling of things. It would be very good if someone or a small group of people would have this overview, and be able to chase people when things don’t get done. Not to be angry at them, but to check if they can actually do it, and otherwise find someone else that can do it. Again, we don’t need negativity, but we could use a bit more progress.

    We’ve seen this management work well in other projects, for instance Zend Framework, symfony, Agavi, you name it. You can like those frameworks or not, but the fact that there’s people that have an overview on those teams and that dare to make decisions definitely benefit the progress of the frameworks.

    Community manager

    Perhaps community manager isn’t even the right word for it, but I think we could use someone that can try to keep the internals (and other?) mailinglists in check a bit, trying to keep flamewars from erupting, but also reporting to the community at large what things are discussed and what decisions were made and why. Especially the why-part is important. One example, if the why was explained to “the wider community” a bit better, I’m sure we would’ve had a lot less discussion on the namespace seperator. The choice for the current seperator is not a bad one at all, but many people thought it was a best one because they didn’t know about all of the pro’s and con’s (probably also because they, like me, didn’t want to subscribe to internals).

    Make contributions easier

    This has already popped up on Twitter as well in the discussions, but I think contributing to PHP should be easier. Right now, the process is hard. Discuss, make a patch, discuss the patch, alter the patch, discuss it again. And all this on a mailinglist that has a lot of other discussions going on. And there are tools available that make this easier. Github for instance. Funny enough, when migrating away from CVS, the majority of the votes was for moving to Git and Github, yet for some reason we ended up on Subversion. But Github makes is a lot easier to contribute by forking, committing to your own fork, then sending a pull request. All discussions are grouped into the pull request, as are any changes that are made because of the discussions. And in the end, it’s a matter of merging those changes into the central repository. No noise to disturb the feature discussions, more to the point discussions, and easily merging stuff into PHP itself. I’m sure there’s similar tools also for other DVCSes. I don’t really care, but I think this approach is much better for the ease of contributing.

    Concluding

    PHP is an awesome project but due to the popularity of the language the current processes have became a problem rather than an asset to the community. Change is needed, and there are people that can do that and are probably willing to do that. I hope the discussion triggered by the fork will result in some good changes. Let’s be more constructive, and do less hating. It’s not necessary to hate this much. In the end, the PHP community is like a second family. And a good one at that.

  • My tools: Google Calendar

    June 9, 2011
    calendar, google, google calendar, tools

    The web interface

    Google’s web interface is already really useful. It allows me to have a quick overview of my week or even month. What I really like about this is that I can also have external public calendars added to that view. For me, these would be things like Dutch holidays (since I have nothing with religion and most holidays are based on religion, I sometimes don’t know about them until the last moment) but also the matches of FC Utrecht, my favorite football (soccer for you Americans) team. Additionally, I can also see the appointments my wife makes because she shared her personal calendar with me. This ensures that we don’t both make an appointment at the same time, which would cause issues because there would be no one at home for the kids 😉

    Integration

    The most important reason for choosing Google Calendar over any other solution though is the tight integration with other tools. Since I run a Mac, I want it to integrate with the Calendar app on OSX, which Google does perfectly well. And additionally, I want it to integrate with my iPhone, which again works perfect. The only thing I’ve not been able to do (but I must admit I haven’t really made a big effort here so far) is to have it integrate with the calendar application in my Windows Phone 7 phone. I definitely need to look into getting that to work. Additionally (but again, I haven’t looked into this yet), I would want it to integrate with the CRM solution that I soon need to set up. If anyone has tips on which (preferably free and open source) CRM solution has a good Google Calendar integration, I’d like to hear from you!

    Issues

    With me using the calendar on so many different platforms, Google is my central point for all my appointments. And since I basically live off of my calendar, I need it to work, and I need it to work well. So far, in the years that I’ve been using Google Calendar, I’ve only once had issues with it where appointments I had disappeared, effectively making me miss some. Obviously, this is rather annoying, but given I’ve been using Google Calendar for quite some years already, I still have big trust in it.

Previous Page
1 … 16 17 18 19 20 … 61
Next Page

skoop.dev

  • Bandcamp
  • Mastodon
  • Bandcamp