MW

Tag linux - page 12

Recent Posts

Dear Lazy Web: Hackable Mobile Phone with good Music Player? (July 06, 2009)

Hey all, I need your help:

I lost my Ipod and now have to live without music on the road… Sucks pretty much, I can’t live without music…

Since my current mobile phone is pretty shabby I thought about fixing both in one go: Buy a mobile phone which could replace my Ipod as well!

Now lets first say what I need most:

  • should’nt be too expensive: A new Ipod with 120gb costs only ~200€. So even though I hate that device, I doubt I’ll pay like twice the sum just to get something different…
  • It needs a “Klinke” stereo output, i.e. something where I can put my normal headphones in.
  • I need space for my music: My last Ipod (80Gb) was completly full… Ok, I think I can make a few cuts, though 8gb only is not enough. Hence the phone should support hot-swapping of SDHC cards at least.
  • If I buy such an expensive device, I’d like to be able to write my own software for it, or put existing software on it.

What I found is the Nokia 5800 express music. It costs like ~260€. 16Gb more space costs like ~45€… It has stereo output and SDHC support. But what I don’t know: Where will custom software be saved on? Also on the SDHC? That would make hot- swapping kind of pointless…

continue reading...

Progress in non-cpp KDevelop4 land (May 28, 2009)

Has been a time since I wrote the last update for PHP / webdevelopment related work in KDevelop4…

XDebug

First of all, Niko (nsams) is working diligently on the general debugger framework for KDevelop4. Of course gdb is still the main focus so far yet he always has his XDebug plugin (which is currently unusable) in mind. So expect some great debugging features once he’s done with the framework.

Remote Projects

Another thing I’ve not yet written about is a bunch of commits I did just after the Hackaton: Remote Projects! Yes, finally you can work directly on the server with KDevelop. I still have to make sure that the user does not try to open a remote cmake project (or similar), because that is of course not supported. Only the Generic Project Manager (basically a list of files in a dir) works. There’s for sure some things to polish, yet I’d like to see user feedback for that use-case at least.

Note : There is still some functionality missing in other areas, like creating a new remote project from a template etc.

continue reading...

KDevelop Hack Sprint 2009 - Day 2 and 3 (April 23, 2009)

Ok, just a quick update on what we are doing / have done the last two days except drinking beer and eating quite a lot of food (though it never seems to be enough somehow….)

  • Apol was polishing CMake support, speeding up KDevelop startup time when you enabled the QtHelp plugin, making sure that Kross plugins get loaded properly and some other things
  • Adymo started some refactoring of Sublime in an experimental branch (actually they had quite a long discussion right now about things in the UI which should be changed/fixed). Besides that he also fixed some little bugs in the includepath resolver for CMake
  • Nsams is fixing PHP support and adding new features here and there. Esp. completion inside a foreach over a Iterator class works now!
  • and as always ZWabel did fix quite a lot of bugs, most of them which only were discoverable in a few corner cases, very nice indeed.
  • shaforo who sadly already left us again to attend university fixed the sorting in the Project view among other things
  • With Apols help I managed to get started with a documentation plugin which (currently) integrates PHP.net. I plan to make it possible to use the downloadable PHP.net documentation as well to speed things up. Actually setting up a documentation plugin is very easy! Maybe I’ll take a look at writing a documentation plugin for Zend, Symfony, etc. pp. as well - should be fairly easy. Maybe I can come up with a generic documentation plugin which makes it possible to include any kind of .html documentation with some configurable mapping… lets see! Or maybe I should take a look at writing Kross plugins (Apol could help me here as well) for that purpose.

continue reading...

KDevelop Hack Sprint 2009 - Day 1 (April 20, 2009)

Ok, a short blog about the first day of our KDevelop Hack Sprint at Mykolayiv (see my first blog post). First up, being in the Ukraine is a very interesting experience since it’s totally different from any place I have ever been to. And thanks to the great hospitality of Alexander (adymo) we already had a city tour of Odessa and Mykolayiv.

Tomorrow will be the first real day of our hack sprint: Today we only hacked at our flat for a few hours. Before that we had the city tour through Mykolayiv. And tomorrow David Nolden (zwabel) and Nick Shaforostoff will arrive which will make the list complete.

Today I personally worked on making KDevelop support dark color schemes better which is still a work in progress (nothing comitted so far). Actually for a real good experience I’ll have to extend KTextEditor to make it’s color configuration available for the parent application (i.e. KDevelop). Let’s see when I get to that. Though I plan to push my patches to KDevplatform beforehand for an intermediate solution.

continue reading...

About being a Nerd (April 08, 2009)

A quick meta-blog about nothing directly KDE related, but I think those of you who can understand German should see it nonetheless. Hope you don’t mind me spreading it on the planet:

I just stumbled upon a great video about the definition of “being a nerd”. You can watch it here:

http://www.elektrischer-reporter.de/elr/video/115/ (note: it’s in German!)

I have to say that I can identify myself with the message of the video, very nicely done. Must see for anyone! I’ll spread it in my circle of friends so they understand me better when I talk (proudly) about being a geek.

continue reading...

Shell helper: running KDE unit tests (ctests) the easy way (March 26, 2009)

Unit tests are in my eyes a very important part of programming. KDE uses them, KDevelop does - the PHP plugin I help writing does as well. cmake comes with a ctest program which does quite well to give you a quick glance on which test suite you just broke with your new fance feature :)

But I am very dissatisfied with it. Right now I usually do the following

    # lets assume I'm in the source directory
    cb && ctest
    # look for failed test suites
    cd $failed_test_suite_path
    ./$failed_test_suite.shell | less
    # search for FAIL
    cs
    cd $to_whereever_I_was_before

That’s pretty much for just running a test. Especially all that cding and lessing became very tedious. Tedious is good, because I eventually fix it:

introducing kdetest

I wrote a bash function (with autocompletion!!!) called kdetest. Calling it without any parameter will run all test suites and gives a nice report of failed functions at the end. Here’s an example (run via cs php && kdetest).

continue reading...

Recursive Wordcount (March 25, 2009)

Yes, I am a Linux user and I really appreciate the freedom I get by using either an awesome desktop environment or the command line - or both!

The function I’m going to present you gives you a good overview of how many words, lines and bytes files in a given folder have. I’m speaking about wc.

The bash script I wrote applies wc to every web file in a folder and every sub folder. Web files are:

  • *.php
  • *.html / *.htm
  • *.tpl
  • *.sql
  • *.js
  • *.css
  • .htaccess
  • files without an extension (e.g. README)

Furthermore you can exclude folders by using the -e parameter. I needed that feature to exclude scripts which are not written by me (see below). But because of that I have had to commit a sin: using eval

Recursive wc

    #!/bin/bash
     
    # usage
    # -s = search path
    # -e = excluded paths
     
    # examples:
    # current folder:    ./wc.sh
    # other folder:      ./wc.sh -s ../foobar/
    # exclude folder:    ./wc.sh -e "*/foobar/*"
    # exclude folder:    ./wc.sh -e "*/folder1/*" -e "*/folder2/*"
     
    # default params
    SEARCH_PATH="./"
    EXCLUDE=""
     
    # read command line params
    while getopts  "s:e:" PARAM
    do
        case "${PARAM}" in
                s)      SEARCH_PATH="$OPTARG";;
                e)      EXCLUDE=$EXCLUDE" -not -path \"$OPTARG\"";;
                esac
    done
     
    if [ "$EXCLUDE" = "" ]
    then
        find $SEARCH_PATH \
            -regextype posix-egrep \
            -type f \
            -regex ".*(\.(php|html?|tpl|css|sql|js))$" \
            -or -name ".htaccess" \
            | xargs wc
    else
        # evil eval
        eval 'find $SEARCH_PATH \
                -regextype posix-egrep \
                -type f \
                \( -regex ".*(\.(php|html|tpl|css|sql|js))$" \
                -or -name ".htaccess" \)\
                '$EXCLUDE' \
                | xargs wc'
    fi

continue reading...

Building KDevplatform, KDevelop and the PHP plugin from Git (March 06, 2009)

In a follow up to my last post about the PHP plugin for KDevelop and Quanta I want to detail how I setup my build environment. Since I’m only working on KDevelop I only want to compile that. For all other applications, I use the packages my distribution makes available. Below you this is possible.

Note: I use Kubuntu and hence some commands like aptitude and the package names etc. will have to be adapted to your specific distribution. But the general idea should be the same and the packages should be called at least somewhat similar. You could always take a look at the techbase article on compilation of KDE 4 to get a more general HowTo.

It is generally a very good idea to read some articles on the techbase. Especially in the Getting Started section.

getting the dependencies

First, you’ll need to install some packages to satisfy dependencies and to get a working compile chain (think cmake, gcc and stuff). The following command only lists very few packages but they have a huge list of dependencies which your package manager will take into account automatically. Don’t be suprised by a possibly huge list of packages ;-) So some disk space will be required (though I doubt it’s more than 250MB in total).

continue reading...

Building KDevplatform, KDevelop and the PHP plugin from Git (March 06, 2009)

In a follow up to my last post about the PHP plugin for KDevelop and Quanta I want to detail how I setup my build environment. Since I’m only working on KDevelop I only want to compile that. For all other applications, I use the packages my distribution makes available. Below you this is possible.

Note: I use Kubuntu and hence some commands like aptitude and the package names etc. will have to be adapted to your specific distribution. But the general idea should be the same and the packages should be called at least somewhat similar. You could always take a look at the techbase article on compilation of KDE 4 to get a more general HowTo.

It is generally a very good idea to read some articles on the techbase. Especially in the Getting Started section.

getting the dependencies

First, you’ll need to install some packages to satisfy dependencies and to get a working compile chain (think cmake, gcc and stuff). The following command only lists very few packages but they have a huge list of dependencies which your package manager will take into account automatically. Don’t be suprised by a possibly huge list of packages ;-) So some disk space will be required (though I doubt it’s more than 250MB in total).

continue reading...

PHP support for KDevelop 4 (and eventually Quanta+) (March 03, 2009)

Hello Planet KDE!

I want to give you a little insight on the current state of PHP support in KDevelop4:

Me and Nikolaus Sams (nsams) are working diligently on a plugin for PHP support in playground. It’s somewhat stable, i.e. we fix any crashes we stumble upon, but I would call it Alpha state at most. It may eat your babies so to speak. Yet I’m happy to say that at least one user is already using it for production (hi leinir ;-) ).

implemented PHP support

Well, here’s a (not complete) list of features that are already working. Though I have to warn you: no screenshots included ;-) It’s actually all very similar to the C++ screenies you can see on the web.

sematic highlighting

Let’s start with a feature that only very recently was added for PHP - semantic highlighting. Niko moved some language independent parts of the C++ plugin from KDevelop to KDevplatform and now PHP has the same code highlighting features as C++.

continue reading...