More database optimizations (this sucker really flies now! ) and a new feature that lets you filter feed items. Right now, you can set colors and icons for matching items but I've been thinking about adding the ability to remove feed items as well. Thing is, it's a fair bit of work to implement this and I can't think of why I would want this ability. Some people have asked for this in the past, which is why I'm considering it, but I'm still in two minds about this one. If it's something you'd like to see, post in the comments or shoot me an email (preferably explaining why it would be useful 'cos I don't really get it 🙄 ).
Following on from yesterday...
Finding new ways to fill my stomach is one of the better reasons why I travel so much and most countries have at least one dish that can send you into raptures of gastronomic delight, some culinary magic that makes you want to settle down, marry a local girl and have kids just so that you can keep on indulging yourself until your dying days. You can find sate fit for a king on the streets of Indonesia, Philadelphia cheesesteaks in the U.S. while in Thailand, just about the entire menu would qualify.
Here in Turkey, it's the bread. Or rather, it used to be the bread. During the time I was here, the country was in the midst of a public uprising against new laws regarding the distribution of bread. Previously, you could pick up your loaves, still warm from the bakery, from large bins at most stores but to meet new E.U. sanitation standards, bakeries were now required to wrap them in sealed plastic bags after having let them stand for at least six hours to avoid any condensation in the packaging. No more fresh bread. Turks were being forced to eat cold, lifeless bread just like the rest of us in the modern, sanitary world and they weren't happy about it!
At three in the morning, however, no-one bothered with such nonsense and we were able to get our bread straight from the ovens. After the gig was over and the last customer had staggered off home, one of us would order bowls of soup from a kitchen around the corner while another pedaled off to the bakery on a rickety old bicycle to get a bagful of loaves, timing it so that the two would arrive back together.
And while the soup was good, the bread was sublime, enough to bring tears to the eyes of even the most jaded World Traveller. The hard, shell-like crust crackled satisfyingly as we broke open the loaves, releasing clouds of steam into the cold night air. It was quite a shock to our poor noses, long frozen over during the lengthy wait and the aroma of fresh bread - there's nothing quite like it, is there? - swirled around, teasing us. The bread was far too hot to eat and we waited impatiently for it to cool, using the time to prepare our soup, adding dried chilli, salt & pepper, slicing up tomatoes, breaking apart fresh onions.
A frantic silence fell over the table as we plowed into our food, broken only by the slurping of soup and the occasional groan of sheer delight. No-one said a word since opening your mouth to speak would require you to stop stuffing food into it. There was a constant buzz of activity as people reached over one another for bread, more onions, more chilli, more bread, until every last bit of food was gone and we were left staring at the debris on the table, wondering if we could possibly persuade someone to go get more bread. Sated, we would sit back and give thanks to our respective Gods that life could be so good. One can only imagine what Paradise must be like but surely the soup kitchens of Heaven are run by the Turks. Now all I have to do is find me a nice little Turkish girl.
I've just updated the weblog Best Bits and noticed that a while back, I talked about Kadri, quite possibly my favorite, but most terrifying, cat evar. This is the entire post, from when I was in Turkey in '98.
Deep in the heart of the tourist belt that runs along the Mediterranean coast of south-western Turkey lies a string of small towns that European holiday-makers have taken over and called their own. Dalyan is one of the smaller, more laid-back places and caters mostly for middle-aged office workers on their annual two-week break. The pace is somewhat slower than that of the raucous party towns of Marmaris and Bodrum. Here, there are river boat trips, turtle-spotting boat trips, boat trips to the nearby Lycian ruins, boat trips to..., well, you get the idea.
I was lucky to stumble across the Blues Bar on my first night, hidden away in a little backstreet with only a barely visible sign to attract people in off the main road (although some of the lights were broken so that it actually read "Blu:s Bar -->"). It was a tiny, open-air venue dominated by numerous pictures of famous jazz and blues musicians on the walls: Miles Davis looking, as always, seriously cool, an amazingly young (and thin) B.B. King, Thelonious Monk, Buddy Guy, Aretha Franklin - this was my kind of bar!
Most of the seating was outdoors and being next to a restaurant, the place was overrun with cats looking for scraps of food and a bit of attention. King of the alley was Kadri, a huge, jet-black panther of a cat that everyone was scared of, customers included, not just the other cats. Bad-tempered and grumpy, he would perhaps allow you to pet him for a short while before ripping your arm off when he'd had enough. And it was just too bad if you left your seat and came back to find him curled up there - no-one was brave enough to try to shift him and you just had to go find yourself somewhere else to sit. Nevertheless, the two of us got along just fine, obviously sensing a kindred spirit in each other.
The owner of the bar was a big, hairy Turkish guy named Murat (in Turkey, all the guys are big and hairy) who had studied American Literature and spoke English well. He had done his thesis on the American Blues and was an avid connoisseur - the cupboard behind the bar was jam-packed with old shoeboxes stuffed with cassettes from the obscurest of blues musicians. We listened to them incessantly and he would get quite upset if I tried to spice things up with a little jazz or fusion, yelling at me to change the music and put something on that the customers really wanted to hear.
He also tried to teach me some of the language but I stubbornly resisted, Turkish being one of the world's most useless languages to know (after Thai) but I did pick up a few Turkish proverbs and learnt such gems as "to hit a tree while driving through the desert", "if you can't avoid being raped then you might as well lie back and enjoy it" and my personal favourite: "a man without a belly is like a house without a balcony".
Each night he would sing and play guitar while his Australian wife served drinks and made pleasant conversation with the customers. I had brought my horn along and sat in for a few nights - the two of us worked well together and before I knew what was happening, I was being offered a job. I was forced to accept, unlimited free booze being part of the deal, and so it was that the World-Famous Dalyan Blues Machine came into being.
There was a constant stream of people passing through town who would come join us for a session: a really sweet couple from the U.S. who played bluegrass and country to a standing ovation, a skinhead from Ankara with a permanent snarl on his face who had mastered the art of playing his guitar and giving the audience the finger at the same time, a really good English saxophonist, a really bad English saxophonist, some short, fat guy who came several times and would sit in for the entire night with a stupid grin on his face, doing nothing more than keep the beat on a Turkish drum (which drove me nuts - he had no idea how close he came to death, or at least serious injury each night). But always, every night, there would be Murat 'n' Taka banging away on our instruments, just waiting to see what would happen next.
And when we weren't blowing the Turkish blues, we were fighting it out over a backgammon board. As soon as the gig was over, out came the set and the testosterone really started to flow (in Turkey, "tavla" is not so much a board game as a test of manhood). We swore at each other in Turkish and Thai as our fortunes ebbed and flowed - he would roll his eyes towards the heavens, urging Allah to give him the best numbers while I spent my time trying to learn how to rig the dice roll. We were evenly matched with neither one of us really able to get an edge and so the sound of wooden backgammon pieces being slammed down onto the board would ring through the night until the early, early hours.
Thing is, people have started acting out the cartoon in real life and sending in photos of themselves doing it
Still waiting for the skydiving one... 😉
OK, it's official, I admit it, I have the soul of an engineer. Not that this is necessarily a bad thing - Awasu is a pretty solid program because of the development practices I have in place - but it's still kinda icky to have to admit it 🙁
Now, I've never been a prototypical geek, gadgets hold no interest for me whatsoever, I do a lot of things outside of IT and anyone who's ever seen me perform live would never walk away thinking "man, he's such a nerd." But a couple of things this past week have left me scratching my head, mumbling "WTF was I thinking?!"
First up, jrmarino posted a question in the forums asking if there was some way to stop Awasu from trying to update channels if the computer was not connected to the net. Of course, there is (Auto-detect an internet connection), and so the obvious next question is why this isn't turned on by default.
You'd think it'd be easy to do but as it happens, figuring out if there is a working internet connection is insanely tricky. Awasu has to jump through quite a few hoops to do this and unfortunately, the process is not 100%-reliable (especially if you connect via a LAN). In other words, sometimes it will think it's online when it isn't, or worse, vice versa. Worse, because if Awasu thinks it's not connected, it won't automatically update any of your channels and will just sit there on your desktop like a fat lump.
So, when deciding what the default setting for this feature should be, I had to choose between two less-than-ideal options. Having it on means that Awasu will sometimes not correctly detect if there was a connection and thus not work properly, but having it off means that people like jrmarino have to struggle with Awasu blindly trying to update channels even when it's offline, barfing up error messages left, right and centre, until they find the Auto-detect an internet connection setting (if they find it at all).
The engineer in me instinctively recoiled at the prospect of having Awasu's default behaviour be "sometimes doesn't work properly" 🙄 and so I chose to have it off by default but in hindsight, it should've been on since it works most of the time, while the problems jrmarino described are guaranteed to affect everybody who doesn't have an always-on, 100%-reliable connection.
In the same vein, I've just checked in another database optimization that makes Awasu simply fly. I've had the option of putting this optimization in for quite a while but haven't done so because there is a very small chance, if Windows crashes or you lose power at just the wrong instant, the moon is in the right phase and you happen to be looking to the left and up a bit, the archive database might get corrupted. Of course, Windows is fairly stable these days (since NT4, at least, the oldest version Awasu is supported on) and power cuts are rare so the chance of a corruption is pretty remote but again, to design things in such a way that a corruption could happen (and didn't have to) is anathema to the engineer in me. But Awasu running slowly affects everyone, all the time 🙁
For the next alpha, this optimization will be turned on and we'll see how it goes, but even though my brain is telling me otherwise, I'm still loathe to turn these things on by default, knowing that they can sometimes not work properly. I mean, a database corruption is pretty serious, right? 🙄
What do you think?
The first release off the block in a new release cycle would normally include an update of the various third-party components we use but this has been deferred for alpha2 since I really wanted to address the issue of Awasu affecting the usability of your PC when it was working hard, updating lots of channels.
Some people mentioned that Awasu was using up lots of CPU but this, in fact, is OK since it would give it up if someone else wanted to use it. As I described here, the problem has always been disk access and this release contains two optimizations that address this.
Firstly, the way Awasu tracks read/unread items has been re-architected and the new design is faster, hits the disk less and gives better results (win-win-win 😎 ). One of the big culprits in this area has always been showing in the My Channels window how many unread items each channel has, so if you can live without this feature, turning it off will speed things up even more.
Secondly, the way Awasu saves new content in the database has been tweaked and there is a debug switch that lets you experiment with this. This is an audience-participation release and feedback I get from you guys will determine how this optimization will eventually work when the 2.3.1 beta is released.
Awasu should run a lot better now so please let us know how it goes (post a comment here if you're over the moon with the improvements, private email (ahem) otherwise 😉 ).
I've written several times before about some of the places I've traveled to and there's no doubt it was enormous fun. Having big gaps in my work history has sometimes made it a bit hard finding a gig when coming back home, but certainly when I'm looking to hire people, I see this kind of thing as a plus, not a minus. If you can arrive in a strange country in the middle of the night and not have a clue where anything is, not be able to speak a word of the language, not know how the public transport works (whether it be bus, taxi or camel), but you can still find a roof to sleep under and something to eat, quite frankly, anything that might come up in the office is probably going to seem pretty minor in comparison. And traveling through the third world really gives you a perspective on how good we have things in the West, how trivial most of our day-to-day "problems" really are.
Now, running a startup is hard enough under the best of circumstances but Adam Benayoun writes here about the added pitfalls of trying to do it in a war zone.
One problem is that business owners are obligated to give employees leaves-of-absence for their reserve service [in the Israeli army], up to 30 days at a time. This especially impacts start-ups, where every employee has a key role. Try to manage a month without your lead developer or VP of marketing! Best case: you lose days of development and customers who can’t wait through a product delay. Worst case: your employee gets hurt – or doesn’t come back at all.
Man, I fret about getting online to take care of customers when I'm on the road but these guys had it a bit harder.
I had to tell [clients] that their projects wouldn’t only suffer delays. Our clients’ projects would stop all together until–and unless–we both made it back. Eran and I would have no cell service, no Internet, no contact even with one another–much less with our customers in the outside world.
There wasn’t much we could do for them from the back of a Humvee on the northern border, under fire.
It was stressful.
Part 2 is here. I wonder if any of this appeared in their project plans...
I wrote a while back how I was rejigging a few things in my personal life which is well underway now, and a big part of it is spending more time playing music.
It's been about two years since I left my last band and I've not played much since then. But I dusted off my horn a few months ago and started dragging my ass out to a few gigs and, as often happens, it seems that the break has done me good. I've been stuck on a plateau for quite a while now but I could tell that I was ready to move up to the next level so I've been doing some serious wood-shedding.
The term woodshedding in jazz means more than just practicing. It is a recognition of the need to sequester oneself and dig into the hard mechanics of the music before you can come back and play with a group in public. There's something philosophical, almost religious, about the term. The musical treasures of jazz are not easily accessed. You have to dig deep into yourself, discipline yourself, become focused on the music and your instrument, before you can unlock the treasure chest.
Philosophical and religious it may be, but it's definitely hard work, swinging between intensely boring, insanely frustrating and extraordinarily uplifting. People who've played with me before know that I absolutely detest The Girl From Ipanema (it's Stairway to Heaven for sax players 🙄 ) so practising this song in 12 keys, with it's fiddly bridge, well, I'd rather be gouging my eye out with a rusty fork. But I can pretty much nail it now, so the next time someone requests it, I might even say "yes" (I still draw the line at anything by Kenny Gee, though 😐 ).
One of the bands I've been playing with recently is a The Commitments-style soul band and one of the guitarist's favorite lines from the movie is when the trumpeter is bitching to the sax player about his playing. "Soul has corners! You were spiralling, that's jazz!" 🙂
And indeed it does. My background is very much blues, rock and fusion, which are much more structured, but I want to start playing more jazz and it really is about taking old songs, simple chord progressions and tearing them apart and putting them back together again to see where it goes.
Now, this has been an incredibly round-about way of getting to what I originally wanted to link to but I really dug this because I think it's in the same spirit. Kent Rogowski takes teddy bears, rips out their guts and turns them inside out, then photographs them.
Teddy bears are designed to be innocuous and non-threatening creatures. Inside-out the bears are still sometimes recognizable but are now much more complicated and contradictory. The seams of the bear now look like scars, and some bears lose their limbs and other appendages depending on how they were constructed. When you look at the inside-out bears they appear to have a history or a past. They no longer offer comfort but instead seem to want our empathy.
More insanely cool photos on the website. Jazz teddy bears, indeed
I just nailed a bug in Awasu that has been around for quite a long time but has been incredibly difficult to track down, resisting several attempts on my part to find it.
Until now, and I'm so happy it's gone 'cos it was really pissing me off 😡
The problem was that Awasu was getting stuck during shutdown and either not exiting properly or crashing. Most of you probably won't have even noticed it unless you were watching things in Task Manager but I have special diagnostics turned on that alert me when Bad Things like this happen and it was happening a lot 🙁 The bug was groan-inducingly, head-bangingly obvious, once I found it, but finding it proved to be incredibly difficult.
One of the fun things about working in I.T. is that computer programmers are well known for their love of wordplay and a lot of the jargon has a definite bent feel to it. One of my favorites is heisenbug a reference to Heisenberg's Uncertainty Principle. An important concept in physics, the usual lay description of it is that the very act of observing something affects what is being observed, making experiments and the like difficult since simply looking at what's happening changes the result!
In computers, a heisenbug is a bug that goes away when you start looking for it, the process of trying to figure out what's happening changes the environment enough to make it not happen. Obviously, these kind of bugs are insanely difficult to deal with.
It turned out that this particular bug happened if new content arrived at just the right time when Awasu was shutting down. Since I suspected the problem had something to do with channels updating, I'd be sitting there constantly updating all my channels trying to get it to happen but the more often I did this, the less likely it would be that new content would arrive. In other words, the longer I spent looking for the problem, the less likely it was to happen.