Awasu
Thursday 18th January 2018 6:34 PM [Awasu News]

Awasu 3.1.1 has been released here.

Lots of Awasu goodness in this release, with numerous changes to speed up the search engine, and also to optimize the shutdown process, which is much quicker and snappier now.

This release cycle will be shorter than the others, so get yourself set up with this one; the 3.2 release candidate is just around the corner... :jig:

Monday 11th December 2017 7:49 PM [Awasu News]

Just a quick alpha release to tie up some loose ends from the rather extensive work done in the previous release. Nothing earth-shattering to report, just more of the Awasu goodness we all know and love :-) , and the 3.1.1 beta will be hot on its heels in the new year...

Thursday 30th November 2017 5:11 PM [General]

OMG, this is just so freaking cool!

I can't remember exactly how, but I stumbled on these a few days ago, and I simply had to order a bundle, and they just arrived today :jig:

If you don't understand what it means, vi is a text editor for developers that is, while extremely powerful, notoriously difficult to learn and use, and :wq is what you have to type in to save your file and exit - ":" puts you into "command" mode, "w" writes the file out, and then "q" to quit.

This is, of course, not particularly intuitive and it's a rite of passage for Linux newbies to get insanely frustrated trying to use Ctrl-C to exit the program, to no effect, to the point where the developer of a popular clone felt it would be worthwhile to show a hint about how to exit if the user presses Ctrl-C[1]Although even doing this doesn't always help :-D .

The story of how these stickers came to be can be found here, and if you feel like getting a few for yourself, they're only a buck each! Even shipping to Australia was an extremely reasonable $2.20, so you really have no excuse, no matter where you are in the world.

I'm doing a lot of work right now for a client where I'm stuck on a back-end server, writing Python in vim[2]Lots of print() statements :cry: I got a license for PyCharm, but that turned out to be a complete waste of time :wall: , and while I'm not one for putting stickers on my laptop, one these these will brighten up my day enormously.

Almost enough to overcome the ignominy of having to use a Mac[3]Almost. :-(

   [ + ]

1. Although even doing this doesn't always help :-D
2. Lots of print() statements :cry: I got a license for PyCharm, but that turned out to be a complete waste of time :wall:
3. Almost.
Saturday 23rd September 2017 1:25 PM [Awasu News]

And the Awasu juggernaut just keeps on a-rollin' on... :-)

If we were ever to adopt the WordPress practice of naming releases after people, the 3.1.1.alpha1 release would surely be called "Jacek". He's a data analyst in Europe who has been pushing Awasu into territories far beyond where it had gone before, particularly wrt its search engine. To be honest, I was impressed that Awasu held up as well as it did, but even I would have to admit that it was a bit sluggish and crashy when under load, and so we've been working closely together over the past few months, sorting all these issues out.

A lot of the improvements relate to search, both in how the search index gets updated, as well as how search results are generated. In one case, I managed to speed up the code by 50 times, which made preparing search results significantly faster ::-): It's rare to get this kind of a win, so yes, I was definitely jumping around the room, pumping my fist in the air :jig: And since that bit of code is used elsewhere in Awasu, those operations will be noticeably snappier as well.

The other area that received attention was shutting down Awasu, which was prone to stalling or crashing. You might think that this is a funny thing to be focusing on, but startup and shutdown are often the fiddliest parts of a program. Large programs are split up into separate modules that do different things, and so while the program is starting and module A is coming up, it might need a service provided by module B, so you need to bring that up before module A. Except that module B needs a service provided by module A :wall: , so you need to partially bring up module A, just enough so that module B can start, then go back and finish bringing up module A. Sigh...

At least during startup, you're in a known state i.e. nothing. During shutdown, literally anything could be happening at that time e.g. the part of Awasu that updates channels finishes updating a feed at just the wrong time, and it wants to notify the database module that it needs to store some new content, except that the database module has already shutdown, or is half-way through shutdown, and Awasu gets confused. It's very easy to have problems with this kind of thing going on, and it's very difficult to debug since it's so dependent on what's happening at that exact moment :(

But things are much better now - I haven't received a crash report for, oh, at least a few days now (joking!) - and Awasu shuts down much quicker and much more reliably now.

Not that you would ever want to shut Awasu down, of course... :-D

Tuesday 18th July 2017 7:45 PM [Awasu News]

The first translation of Awasu 3.1 has been baking for a while, and is now ready to step out. Cláudio Mantovani Vieira was kind enough to do the translation, and it looks great :clap: There's just something about seeing Awasu running in a different language that is way cool; you shoulda seen the Arabic one, that was seriously freaky :-)

If you'd like to translate Awasu into your favorite language, drop us a line, and if you happen to speak German or Russian, since we have translations for Awasu 3.0, the job's already half-done!

Thursday 13th July 2017 7:47 PM [Tutorial]

An Awasu user recently asked for some help in getting their Python code to work with Awasu, and while the problem turned out to be related to text encoding (which is not, strictly speaking, anything to do with Awasu), since this is such a common issue, I thought I'd write up some notes on how all it works.

The canonical introductory article on the subject is, of course, Joel Spolsky's The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)", but these notes will be a more practical guide, along the lines of "How do I get my code to *?@#'ing work?!?!"[1]Now, there's a meme for you :-) .

Note that while this tutorial has separate sections on Python 2 and Python 3, even if you're only using one version of Python, you should read both sections if you want to really understand how things work.

This stuff is tricky to get your head around at first, but once you figure it out, it's actually not too bad. The problem is that even when you've got your code right, you start receiving content from elsewhere that is wrong, which breaks your code, so you change it to handle that content, but then your code breaks when you receive content from somewhere else that is doing things correctly[2]Or also doing things incorrectly, but in a different way :wall: , and you get stuck in a cycle where your code never works properly :wall: Hopefully, these notes will help you know when your code is right, and you can stick to your guns and start yelling at the other guy to fix their code... :)

   [ + ]

1. Now, there's a meme for you :-)
2. Or also doing things incorrectly, but in a different way :wall:
Wednesday 26th April 2017 9:53 PM [Awasu News]


We have Pi Day, we have Square Root Day, there's even a Weed Day; well, today is Awasu Day.

Awasu listens on port 2604 for HTTP API requests, and while I realize y'all in the USA write your dates backwards, here in Australia, today is 26/04, and so it's insanely appropriate to announce the release of Awasu 3.1 here.

It's better, faster, sexier than ever before - check out the features here and here - and even better, no price increase! :clap:

So, grab it while it's hot, and I'm off to the pub... :jig:

Wednesday 22nd March 2017 2:39 PM [Awasu News]

Awasu 3.1.rc1 has been released here.

Most of the work for this release was for the installer, which will upgrade your existing installation to 3.1, if you're running 3.0, or any of the 3.0.x betas. If you're running a 2.x version, or (eek!) a 1.x version, please contact us for details on how to upgrade.

The documentation has also been updated, and is available here (a CHM version will be coming later).

Note to self: if anyone asks you to do installer work, run away! It's a horrible job, testing on different versions of Windows, with many different scenarios that need to be verified. But it's all done now, so I'll let this release bake before pushing out the final 3.1 general release in a few weeks. Woo hoo!

Thursday 16th February 2017 9:21 PM [Awasu News]

Awasu 3.0.4 has been released here.

A final round of optimizations, enhancements and bug fixes - this'll be the last one before the 3.1 general release, which shouldn't be too far away.

Tuesday 31st January 2017 9:27 PM [Awasu News]

Awasu 3.0.4.alpha3 has been released here, mostly minor bug fixes and enhancements. Only a few things left to do, and that'll close off this release cycle - woo hoo! :clap: