Hackintosh Ahoy!

Hooray ye olde swashbuckling, grogg drinking plank lumpets! I’m writing this post on my very first hackintosh which I got to work after 3-4 days of fiddling around and reading, reading, googling, reading, and so on. You get the picture. I have to say, once I got myself the right parts, it was darn easy to install OS X and with the great tools provided by folks like puru.se (Kakewalk) or in my case (haveing a Gigabyte P55-UD5 board) “iBoot + MultiBeast” from TonyMacx86 it was actually rather easy. No command line hacking, no manual kext fiddling. :)

I started this “just for fun” because on one hand, I wanted to get myself again a dedicated gamer PC (I know, but I just can’t stop..). I also wanted to try out this hackintosh thing once and see if I could get it working. Why? Well, just “because”. And in the end, I now replaced my iMac with this very hackintosh setup.

The hardware

  • Gigabyte P55-UD5 (Bios F8)
  • Intel i7 860 (quad core @ 2.8Ghz, overclocked to 3.8 Ghz)
  • 2 x 2GB OCZ HyperX DDR3 Memory (overclocked to 1600 Mhz)
  • nVidia GT 240/1GB
  • A hotswap harddrive bracket which allows me to *physically* swap Win/OS X

Notes

  • If in doubt, boot into safemode using “-x” at the Chameleon-Bootloader prompt. Chances are high that your graphics card’s chipset isn’t natively supported. Booting into safemode allows you to install and run OS X for the first couple of times until you got the drivers properly working.
  • Forget booting off of USB devices. Get a SATA CD-ROM drive. Saves a lot of pain and nerves.
  • RTFM(&forums), *before* ordering the parts :-)
  • RTFM, especially the parts about BIOS settings :-)
  • Patience is a virtue: you’ll reboot about a hundred times but eventually you’ll manage to get it working. :-P
  • Once you get everything working properly, create a CarbonCopy off your OS X drive for easy recovery.


It really comes down to a simple rule: Look at the different hackintosh-methods, then buy the parts which most successful installations use. Not the other way around. The problem in my case was that the motherboard I was looking for initially is already EOL so I had to take the next best thing which turned out to not work using Kakewalk. So I stumbled across tonymac’s iBoot + MultiBeast method. This however didn’t work with the ATI card I bought initially and also, trying to install everything from USB devices turned out to be a huge source for all sorts of bugs and weird behaviours. So in the end, I got myself a SATA DVD-ROM and a cheap nVidia card to fill the gap until the fermi-based cards get a couple of revisions and OS X support. :-)

I guess I learned more about OS X trying to get it to boot on a non-Apple system than by using it every day for 12 hours in the past 5 years. :-)

Posted in hardware, software | Tagged , , , , , | Leave a comment

The Art of Pragmatism

The web (or let’s say, the technology underneath the hood) is once again facing an evolutionary step towards becoming more userfriendly for both developers and consumers. I put big hopes into CSS3/HTML5 and a more streamlined production process for creating websites due to less workarounds. With more and more websites haveing heavy usage of ajaxified user interfaces, there will be even more streamlining happening in the future. Of course I’m haveing browser compatibility on my mind as I’m writing this. It seems like even Microsoft is understanding now how important it is to support standards and I think they’re trying really hard to get back their share of the cake by starting to get less ignorant. I can only hope they actually walk the way and don’t fall back to old habits.

The numbers of people using old browser versions is still too high to forget about the annoying compatibility round at the end of every design process, but the trend is to force “nice degradation”, rather than “full conversion”. From my point of view, this is the best approach by far and I’ve been practically going there since about a year. This means, designing for state of the art browsers, but with nicely degrading fallbacks for old versions. This is reducing production overhead and costs. I rather spend the time on the initial design than on achieving the same looks with a fossil browser like IE6.

How does this affect the viewer? Well, basically not at all. The functionality has to be the same of course – it just looks a little bit different in the end, downgraded. The content is still being displayed perfectly well and the brave people using current browsers will enjoy the feature richness, while the fallback makes sure that old browsers at least display the information which is meant to be displayed in the first place. And well, if you think about how someone must perceive the web who is *still* using IE6, he might be used to a lot worse and what he doesn’t know, he doesn’t miss, right?

Well, I know, this isn’t exactly new but I know the fight some webdesigners might have over this, inside and with their bosses and clients. It is, however, a matter of displaying key points to why this approach is more efficient. There are tons of objective reasons which support this approach, be it efficiency or to create future proof designs. Be brave. :-)

Posted in design, my five cents, web | Tagged , , , , | 2 Comments

Understanding Clients

Dear clients, I don’t mean to insult you or rant about our sometimes tense relationships. We’re all “just” humans, with our very own personal goals and our very own approaches to problem solving. But try to look at it from our perspective, too. I know, you pay the bill so you are the boss. But then, this whole thing doesn’t work if what you actually want doesn’t end up in our place in a form which allows us to actually *understand* what it is, that you want.

It sounds so easy: meet, discuss, define, do. But it’s not. Every human being has a different approach to communication and it is our job to adjust to that. But it’s not just the designers job to take responsibility for understandement, it’s also the client’s job to provide spot-on definitions. In a perfect world, anyways. Don’t worry, we’re always going to figure out a way in the end, but it might turn out frustrating for both parties at some point: for the designer, because he feels lost in a bunch of cloudy definitions and for the client, because he doesn’t feel understood.

Also, you have to realize that you cannot expect quality work to be done on inhuman schedules or right on the first try. It just doesn’t work this way. Dear clients, please try to understand how the creative process works and give us the necessary time and space to come up with the dazzling solutions to the problems you ask us to solve.

Please, don’t expect us to read between the lines all the time. It’s a time consuming task, frustrating and it doesn’t help anyone in the end. Au contraire. It will kill the creative drive, thus affecting the outcome of the solution in a negative way. See, pressure is a good thing to achieve a lot of results in a short time and be productive. But quantity and quality are quite the opposite. No designer has a button on the back of his head which reads something like “Generate a Great Idea” or “Make it Snappy”. It doesn’t work like that. The “perfect solution” is something everyone wants, but realistically, it doesn’t exist. There’s always a gap somewhere between what’s possible and what’s perfect. You can get only as close as possible, which requires a constant stream of constructive feedback from your side, the opinions of others and realistic goals to be set upfront. I’ve been doing this for 10 years now and this is basically what it comes down to: Be communicative, be clear and specific if you know what you want and be open for everything if you don’t know what it is, that you actually want and let us do the job of developing an idea. It is obvious that the latter is the more time consuming approach. The “sweet spot” is somewhere in between regulation and creative freedom. Let us find this spot together and “make it snappy” together. Both sides want to produce great results, this is a fact. But also, both sides need to “adjust” their communication protocol to allow an error-free and clear communication to start with.

See, I love clients. But we expect some love in return, too. :-)

Posted in design, my five cents | Tagged , , | 2 Comments

Winter Impaired

This is why I don’t like winter: At some point half way through it, I start to get the winter-blues really hard. Like now. I’m constantly tired, no matter how much coffee I drink, no matter how much I sleep. I usually have a nap sometime in the late afternoon to get back to work and have a couple of actually productive work hours past six in the evening. Otherwise I’d just be zombie-ing around in front of my screen and clicking on links in Google reader. I already need more sleep than the average human being. But this is somewhat annoying. :P Or maybe I’m just hopelessly overworked. That’s another option. Can I haz some sunshinez, pleez?

Posted in my five cents | Tagged , | 1 Comment

Epson R2880: Proofing 2.0

I already wrote an article about printing proofs with the Epson R2880, little more than a year ago. Since then, I tried out various approaches. Here’s what works best for me and what I still consider a “low budget” solution, compared to a professional RIP of course. ;-)

  • First, the hardware: The Epson R2880 is a pretty reliable printer. If you use it frequently, that is. This printer needs to be used at least a couple of times a week to prevent clogging. Also, it doesn’t like low air humidity. Trust me, it *will* clog eventually. But otherwise, fantastic price/quality ratio.
  • Second, the ink. Using OEM ink will most likely cause your budget to explode. My first try in refillable ink was efillink.com. They resell a pigment ink which is slightly less glossy than the OEM ink. Saves quite a lot of $$$. There’s also a german store, farbenwerk.com, which offers different brands of refill inks. Once I run out of ink, I’ll get my next batch from there (shipping’s obviously a lot cheaper from .de to .ch than from the US..).
  • Third, the paper. Thanks to a friend of mine, I have access to original Epson paper with a small discount. Works for me.
  • Fourth, the software. If you run OSX, there’s no way around Printfab Pro. I run it on my MacMini server, network sharing works perfectly and so does the RIP software.
  • Fifth, and basically the most important part: The calibration. I use Spyder3 + color eyes pro for my iMac/Eizo CG24W screen-setup and Spyder3 PrintSR for printer calibration. This was the second largest expense all together, but well worth it.
  • Sixth, the knowledge: RTFM. I’m not kidding. Color calibration is by far the most “cloudy” technology I came across and everybody tells you something different. Especially on the internet. :P It’s best to stick to the literature that’s shipped with your software and hardware.


This setup enables me to create combinations of settings/profiles for every known printer, ink and paper and therefore maximum flexibility at the lowest possible cost. And for the same price for which you have to buy a RIP software license, you even get professional screen calibration and a color spectrometer to read color patches and make your own ICC profiles – and not just for one printer.. I think this is by far the best quality/price ration that you can possibly get. Total investment: Around 2’000 CHF, including inks, paper, software licenses, all hardware.

The result is by far better than I expected and can be labelled “pretty darn accurate®”. Maybe there’s even a way to get this workflow FOGRA certified. :P But afterall, I’m not a printshop. If your client wants a FOGRA certified proof, it’s safer to order one from your printshop and have your client pay for it. The difference however is ridiculously small. There’s a bigger difference from one offset printshop to another.

Posted in design, hardware, software | Tagged , , , , | Leave a comment

Nodes: Inserting Images

While Drupal provides a lot of extensions and gimmicks, one of the big downsides currently is image handling. Basic image handling, like inserting images into a node’s body field are quite the task to achieve – there’s plenty of approaches but almost all fail at some point. Mostly because of bugs or lack of basic features.

Basically, from the enduser point of view, a vanilla install of Drupal (stable/core) doesn’t provide any way of creating richtext content, including image embedding. Instead, there are like 7 different ways to do this. One of the things I would like to have changed in Drupal 7 is … While I’m typing this blog post in WordPress, I notice 2 things: first, I never had to worry a single second about WYSIWYG functionality. Second (and most important), media asset management and embedding options are already there, with all the gimmicks you can imagine. Or, to be more specific, with all the gimmicks you actually *need*.

I wish to see the same approach for Drupal. I don’t want to choose between 8 different richtext-editors, nor between 4 different approaches on inserting an image into text. I want to have TinyMCE in the Drupal core and a streamlined image handling using CCK/FileField: a) because CCK is moved to core and b) because Insert (formerly known as “FileField Insert”) does this thing with a few tweaks already and so far is the most promising approach to streamlined content creation and editing.

After all, it took me around half a year now to find an actually stable, easy to handle and overhead-less solution for this. Most of the functionality I’m currently using isn’t even marked “stable” yet, thus I’m taking a big risk for a feature which is considered “basic” from the enduser POV. Making content creation and media management easy is the whole point of a web content management system, isn’t it? Thus, I officially vote for a core solution for that! :-)

I previously wrote that ImageAssist is a nice solution for exactly that. There’s a number of problems with IA which made me switch to a simpler solution (FileField/Insert): a) it doesn’t support ImageAPI/ImageCache/CCK, which is becoming the new de-facto standard for filehandling with D7, b) avoid using unnecessary JS based UI functionality if you rely on a colorful selection of components, c) I ran into all sorts of basic styling problems and wasn’t able to find workarounds for most of them, d) the usability is a pain, e) buggy and slow release cycles, f) and that is a general rule: avoid anything which opens a popup-window and is a key component. :P Keep it simple stupid, please.

Posted in design, my five cents, software, web | Tagged , , , , , | Leave a comment

Byebye IE6

I am really really tempted to officially drop IE6/5.5/5 support and just show those browsers a big, huge “UPDATE NOW” image ASAP. I can’t tell you *how* very excited I am that it seems like IE6 is going to vanish probably during the next 6 months or so. Life is going to be so easy. Rainbows, hummingbirds, candy falling from the sky.. Ah.. and once again, knowledge to put away in the drawer. :P

Posted in design, web | Tagged , , , | Leave a comment

Well done.

I don’t get around writing down some thoughts about this topic. The law which was passed last week in switzerland is in fact absolutely ridiculous. It boils down to this: The campaign of the SVP was building upon fear. It didn’t really matter wether it would have been a law to prohibit anyone from building a mosque, a minaret or anything else which to some extent symbolizes Islam or anything connected to the word alone.

Yet expecting “Joe the Plumber” to rationally choose between “yes” or “no” in a state of existential fear was kind of naive. Self preservation is a very strong instinct and the campaign of the SVP managed to tickle just that – unfortunately. “Joe the Plumber” needs to be told that he gains security and stability. In a plain, german, direct way. That is basically the only thing our SVP does. Unfortunately, there’s only one political party in switzerland which – again unfortunately – seems to be mastering the technique by now. When does the social party realize that you cannot counter this sort of fear-mongering with “cuddle” politics? Where was the opposition to this law? Nowhere. Everybody expected an outcome like 60% no/40% yes, but hell, they barbecued that, didn’t they..

The problem however is not the law which has been passed, it’s that obviously a lot of people are frightened of “something”. This vote was to a big part a security valve for the social and economic pressure we faced in the past 12 months. It’s a known fact that in times of depression and economic crisis, people tend to get more consvervative and more nationalistic.

And from various discussions with people I know, there’s a huge gap between the intellectual switzerland and the “normal” folks. The only thing “Joe the Plumber” knows about Islam is that there’s some guys blowing themselfes up on a regular basis, in the name of some guy called “Allah”. That’s all they see, that’s all they hear. Doesn’t sound like security. And uhm, not very stable either. Especially they have something against America, which was so nice to give us the TV-Dinner, McDonalds and the neo-capitalism. Err… Easy game for party to tickle the fear-centre in those peoples brains. Not a particularly hard job. Most “Plumber”-kinda people I know gave up on the whole intellectual idea already, long time ago. They don’t care about concepts and this and that, especially not if their own liberty is at stake. Now, show them some burkas and a couple of towers that look like rockets on a swiss flag, all black-white-red.. This is the most violent form of advertising you can actually go for. Visually violent, I mean.

What’s even more scary is that this vote was used by some other factions to “prove” a point, whatever that point might be and even if they’re on the outmost left wing. Like those ultra-feminists voting “yes” to prove their point. It was just the wrong opportunity, ladies. I’m sorry, but that was *really* not helping anyone. You can’t prohibit any neoconservative islamic society from doing what they do to women’s rights if you prohibit moderate muslim groups to build a little minaret here and there. (I get the feeling someone was kinda “horny” to get his TV air-time here.. hmmmm.. hmm.)

And thanks to our narrow minded, well-trained fear-mongering, “beloved” SVP, Switzerland is now considered the right wing of europe. On the other side, .. I find the reactions of most countries to some part even more ridicoulous than the law which was passed here. Especially those parts of europe which have a *really* huge problem with this topic – or the connected issues – themselfes (integration, et al). Mind you, Germany, last time I checked, it was *your* streets neo-nazis were marching. But we know, your past, you don’t like to talk about it. Mind you, France, last time I checked it was your banlieus on fire because you obviously can’t handle the situation very well. But we know, at some point the problem was “gone”. Mind you, USA, Guantanamo is still there. Mind you, parts of the islamic world, we don’t even get started about woman’s rights. Now I ask you, is switzerland doing the first step towards a less liberal future or .. have we ever actually been a liberal, open minded culture in the west? The only “openmindness” I can see is trade-related. As long as people earn money, it doesn’t matter what they believe in or from where they come. But as soon as you take out the factor of money and wealth, and you’re stuck with mind and beliefs, shite, that’s the point hell breaks loose. Now that’s not much different than the world 2000 years ago if you ask me. It was always the free market which was more important than free speech. Humans can get very quite, calm and happy, as long as they have bread and games. But if someone has to fear to not get his bread tomorrow because of whatever reason, oh boy, that’s one angry mob you’re gonna end up with.

There have always been both sides, nationalist and liberalist movements, the only thing that varies is the balance of strength. To be really honest with you, I began to wonder when that valve was gonna break. It was obvious to me that *something* smells funny in the current society.

We should be a good example for a democracy to the world – and a good example on how it is possible to live together in peace. Actually, last time I checked we have a pretty peaceful place here and there’s quite no tension resulting in violence towards immigrants. And I would really like to keep it that way. But now it seems we have a problem here, so let’s face it and do something about it, heck. But it’s another thing to sit down at the “Stammtisch” and tell those good folks that they don’t really need to fear anything. Who’s going to do that? Any volunteers? You know sure as hell as I do, that a 30 second TV spot between “Schweiz aktuell” and the news-journal won’t change anything about the situation, do you..? The only way to do anything about this is to bring people together on a very basic level. “Joe the Plumber” isn’t really going to go to an art exhibition or a podium discussion on immigration, I think. It needs a little bit more than that.

Posted in my five cents | 2 Comments

Say “hi” to drupdater v0.1

Ohhh!After some bugfixing and testing, Drupdater version 0.1 is ready. Not for download yet, tho. I am still trying to find the perfect balance between stability and ease of use. I also rewrote the update procedure to gain performance and stability: Instead of running a synch over the whole “modules” directory, I know Tar/BZip the local module folder, upload the file, “rm -rf” the remote folder and extract all modules on the server directly. This saves really a lot of time and there’s always a clean modules directory on the server.

I also implemented a procedure to backup userdata per installation (avoiding packing/downloading cache-data and/or duplicate data, i.e. the modules-directory) and download the Tar/BZip file to a local folder. Security got enhanced too: the token is now automatically generated and uploaded to every server before any action takes place.

The “Module Shortlist” makes it possible for the user to specify single modules – i.e. if there’s only 1-2 modules which need to be synched. This also allows some special-cases, like updating TinyMCE only (which is now located outside the modules directory since WYSIWYG-module version 2.0-beta).

My goal is to offer this small tool for free soon. But until then, some things need to be handled a little more generically. It works very fine for my needs, but the needs of you might be slightly different. I also need to implement a diagnostic routine at some point to examine the server’s capabilities before trying to do any drush magic.

Posted in software, web | Tagged , , , | 1 Comment

iPhone game “iFluenza” available!

We just published our first iPhone game in the AppStore: iFluenza is finally available. :) Here’s a little gameplay video. “We” being Michu Vogt who did all the coding and yours truly, responsible for the weird colors and music. ;)


iFluenza – just another iPhone game…

Save the world! Stop the evil virus. Kill all viruses and collect some power ups.
Touch an antibody to start the chain reaction.

Features:
• 25 entertaining levels
• Simple and addictive gameplay
• Progressive difficulty
• Onling leader boards: best scores und best failed scores
• Unlock Awards
• Friends lists
• Facebook and Twitter integration
• Listen sound from the library or listen to the atmospherical gamesound
• Persistent player profile (Online and Offline)
• iFluenza uses AGON Online by Aptocore


Get it from the iTunes Store now. :)

Posted in design, games, releases, software | Tagged , | 1 Comment

Drupal: Limited drush magic (update)

I was trying to figure out how to create a simple way to keep my 15+ drupal installations clean and up to date with a single mouseclick for a long time now. Of course, drush was the first thing I looked at, but since it is a command line tool and all my clients are on shared hosting servers without ssh access, that didn’t seem quite the solution.

My first goal was to create an easy way to keep the codebase up to date with the rather frequently updated sources from drupal.org. My base install consists of around 68 modules, some of them get updated at least every two weeks. If you try to keep up with that on a regular base by overwriting/synching every install by hand, it will take you approximately 2 hours every week to do so, including clicking yourself thru each sites database update procedure. At first, I used an Automator action in combination with Transmit, an FTP client providing plugins to Automator for synching files. This was quite ok, but really slow. Slow because of Transmit, as I found out later.

So, long story short, I found the following procedure kinda solid enough for production websites. To be able to execute shell scripts on a webserver, PHP’s exec(); function needs to be allowed to run. Second, you need a fast and scriptable FTP client: I found Yummy FTP to be quite versatile and *fast* for synching. At least twice as fast as Transmit FTP. Also, since there will be the need for drush, you need that, too. :)

I created an AppleScript which works as the core of my update procedure:

  • The Script takes a predefined directory which has Yummy FTP bookmarks to all drupal installations base directories and loads them into an array which will be looped thru, one by one.
  • Yummy FTP does all the FTP work: connecting, synching, error handling, etc.
  • First action is to switch the current drupal into maintenance mode using drush.
  • Second, the synching of all files takes place.
  • Optional: Possible calls to deactivate/activate certain modules on all installations before the site leaves maintenance mode, emptying the watchdog tables, file actions (checking to see wether the drush script is executable or not), etc.
  • Third, calling drush to update the database after successfull synch and switching the site back to normal mode. The calls are being executed by loading the drush PHP file/wrapper via URL in Safari. I will change that to use a silent wget call later on, just like calling the cron.php serverside via cron-tabs.


All drush executions are being called by a PHP script which I wrote to function as a wrapper using PHP’s exec(). To make it secure, I use a token/secret which can be replaced at any given time on both ends. For now, this will have to do it.

The PHP script takes parameters: Initial settings called before the update, optional calls to activate/deactivate modules and finally, the db update calls.

Basically, it is possible to call all drush functions which do not require direct access to the filesystem (database dumps and installing modules via drush do not work very well at this point).

I was running this procedure a couple of times to see wether it’s ready for production use. I will have to refine the error handling of the AppleScript slightly to have more info on wether the FTP actions actually succeeded or not. So far, if Yummy FTP fails, the whole thing just crashes. The fail-rate is pretty low tho and with some more work, this is basically the only way to have an automated update procedure over multiple sites on shared hostings. Right now, synching about 17 installs takes around 30 minutes, completely unattended. This is all I need. :-)

[Update:] I extended the functionality of the script to include

  • using cURL to trigger the PHP drush wrapper script, needed to send a browser identification string for drupal installations using “boost”-module.
  • create a tgz archive of  sites/ and themes/ before any file and update actions take place, download the archive and delete it on remote site. This ensures all user generated content including the daily database backups created by backup&migrate are stored locally before any action takes place.
  • instruct drush to expect “y” for the “update db”-statement
  • Pitfalls: The script now connects 3 times to the server: Pre-Update functions (upload current drush-wrapper, download tgz archive), Synch, Post-Update. Unfortunately, Yummy FTP delivered a number of errors when trying to do all in one FTP session. So far, I don’t know wether that’s an AppleScript problem or a limitation of the AS API Yummy FTP provides.. no idea. :P

 

[Update 2]

I was very productive.

  • GUI added using XCode (AppleScriptObjC/ASOC). Fancy buttons! :)
  • Textwindow showing the progress and displaying drush/other results and info.
  • Now multiple chunks instead of one big loop: Different maintenance tasks can be launched separately, like wrapperscript update, backup, custom drush-jobs deployed via wrapperscript, codebase synch, database updates, cron.php trigger, …
  • FTP-Actions moved to background/hidden
  • Ability to choose wether the tasks should be run on test servers or production servers

 

Todo

  • Add preference pane to configure file locations and ability to generate the wrapperscript on the fly (once I figure out how to do that :P ).
  • Add table view to check individual sites/bookmarks (once I figure out how to do that :PPPP).
  • Make the whole thing localisation-ready

Right now the stuff is all hardcoded which isn’t particularly nice but is enough for me. That’s why you can’t find a download link anywhere here. :) If you’re interested in the project’s sourcecode and want to help me build all the remaining pieces (i really could need some help..), let me know.

Note to self: Learn cocoa

[/Update2]

Posted in software, web | Tagged , , , , , | Leave a comment

Drupal: Columns for the Body

Probably not entirely groundbreaking, but a nice way to achieve nice layouts using Drupal + WYSIWYG occured to me about 3 projects ago when I was trying to figure out a way of haveing multiple columns in a page’s body field. Sure, you can do the same thing by using CCK and define a couple of add-on fields and assign each to a column and code the necessary logic into the template for generating the layout.

This is possible without a single line of code (except for CSS), using only already existing modules. I’m not going into the details here, just want to give a general overview. If you refine the process or have a suggestion, I’d be happy to hear from you in the comments.


Drupal: 6.x current

Additional Modules: WYSIWYG with TinyMCE, WYSIWYG Templates, FlexiFilter


  • Download and install the modules if you haven’t already.
  • Config WYSIWYG to use Templates and make to use the following settings in the “Cleanup and Output”-section of the desired profile: “Check HTML: ON”, “Preformatted: OFF”, “Convert <font> tags to styles: ON”, “Remove Linebreaks: OFF”, “Format Source: ON”, “Force cleanup on standard paste: ON”
  • Config the Templates module: follow the modules instruction.
  • Create a template file to start with: let’s say we want to achieve a 2 column layout. The source of mine looks like this:

<p>2 Columns</p>
<table class=”layouttable” width=”100%” border=”0″ cellspacing=”10″ cellpadding=”0″>
<tbody>
<tr>
<td class=”layoutcolumn” width=”50%”><p>This is the first column.</p></td>
<td class=”layoutcolumn” width=”50%”><p>This is the second column.</p></td>
</tr>
</tbody>
<!– layouttable –>
</table>
<p>&nbsp;</p>

  • Check if you can select and include the HTML data into your editor by using the Template Selection button. If not, empty your browser cache and try again. The JS of the template inclusion file has a tendency of not refreshing.
  • Enter some text (or images) into both columns and save the page. Now we want to get rid of the table we used for layouting and convert it into a nice layer based layout on output. I used a table because layers have a tendency of being deleted when you hit backspace one time too much.. Doesn’t happen with a table. :)
  • Go to the Flexifilter module and create a new filter.
  • I guess you know what comes next: Create a series of filter which converts the table tags to div tags accordingly. You can create regex-matches or just simple search for a block of text and exchange it properly: <div class=”layoutcol1″>, </div><div class=”layoutcol2″>, </div>.
  • Create both classes for your tinymce layouttable and the cleaned div layout in your stylesheet.
  • Finetuning!

A note from the typographical point of view: IF you use 2 text columns side by side, make sure the line-heights match eachother properly. To achieve this, it’s useful to use multiples of the standard lineheight of your text for margins following or preceeding titles or paragraphs. Grids are your friends.


Posted in design, web | Tagged , , | Leave a comment

My Drupal Arsenal V1.1

I previously introduced you to a list of my favourite plugins. Some time has passed and I am able to present to you an updated version of it. New plugins are marked with *, removed plugins are marked with † and the “swiss knife of modules” is marked with a +. Keep in mind that some of these modules are basically only libraries which provide functionality for other modules to work.



All in all, there’s 18 new modules since V1.0. :) Probably the next thing I will get rid of is the Textile module. Thankfully there’s only one install without any WYSIWYG setup. Another module providing overhead is DB Optimizer, which also offers Backup capabilities. I wish that running table optimising could be done by Backup and Migrate instead.

Posted in design, software, web | Tagged , , | Leave a comment

SGU: Stargate Universe

It was too bad that SG Atlantis was cancelled. I got to really like the plot and the characters. But shortly after, we are now blessed with it’s “offspring” – which has not much to do with it’s parents, honestly. I like the change of direction they introduced with the new series. Before, every character was the highly skilled professional at what he was doing, which was cool on one side if you’re into the whole nerd-thing, but on the other side kinda kills the realism.

In SGU, the characters are more “down to earth”, still professionals, but you instantly feel more connected to them on a human level: It’s harder to see thru their facade, there’s normal problems of normal people in probably the most anormal environment you could imagine, a billion lightyears away from earth.

I think what was told of the story so far leaves a lot of room for interesting developments. I just saw the 3rd episode this afternoon and it’s not getting boring so far. Let’s keep that up, shall we. :)

Posted in movies, my five cents | Tagged , | 1 Comment

StarTrek

Oh my, the new StarTrek Movie is really nice. It’s pretty much a break to all of the previous movies and it opens a wide area for new timelines and events. Already looking forward to the next one. :-) For those of you not into the whole StarTrek thing: This movie isn’t as “trekky” as the previous ones. It’s probably a bit more mainstream oriented.

Posted in movies | Tagged , | 3 Comments
  • Interesting stuff

  • Shortcuts