Dark Moon Velvet

Archive for the ‘Daily automation’ Category

Not much to say, just to avoid repetition here’s the basic functions I recommend. I will complete the list as time goes by.

Test server, I recommend just using either whatever comes in more convenient (for Rails WEBrick for example). In the case of PHP, just install WAMP (on windows; also has a Linux cousin), not necessarily to avoid configuration but it installs itself in clean compact way and is easy to remove as well.

Source code editor, my recommendation is to always use the minimum effort for the job; so something like Notepad, SciTE or its more friendly cousin Notepad2. If you really need the power of a IDE then use one but remember that more features will slow you down if you are not really going to make use of them.

I also advice on minimizing the editor window to the 80 or 100 character margin, and possibly reducing its height as well. It is often times far more productive to simply see the code your need to write/analyze rather then a large mass of endless text.

For readability I found size 9/10 Courier New very pleasant, although Lucida Console is not a bad alternative. You should also try to minimize the colors used in the color coding as they can do more harm then good (between two and four colors per language is common for me).

As a scripting language, ruby wins hands down. It’s easy, simple to install and has convenient syntax and libraries. Your system may already have it, but make sure to get the latest release.

You should try make good use of your operating system‘s file handling. In windows, make sure to familiarize yourself with the path system variable (I also recommend having a batch folder added to it) and also make sure the files types are configured to your licking. Besides the default Open command, other options can be added; Edit is commonly set by some programs by can be added manually fairly easily.

Lets take the following problem: you have limited time in your day. It’s a really big problem is it not? So the question on everyone’s mind, how do you get more time!?

Well we can not travel back in time and we are already trying not to waste time (“I” am not included in the “we” aparently, but no matter) so that leaves one solution left: speed!

Lets work out what can get us that little bit of extra speed. We’ll consider the following defined “facts” (references) from our daily life:


The source of all our woes.

Something we need to accomplish.

Something we do to accomplish the objective.

For the many other things.


We need to beat the math!

Time = (Objective[Action])($planning.time + min($completion.time) * $knowledge / $wisdom + $errors * $stupidity) * Objective::Length + Objective::idleTime

Well opss, we kinda have a problem here. First of all your not going to get any smarter any time soon (yes really!), so not much we can do to effect knowledge. For what’s worth, you might end up losing far more then you stand to gain by trying to — with out purpose — expand it like a rubber band through reading words in books, the internet, or whatever your choise of letters-with-spaces format is.

Beating your objective count is posible (get yourself a team!) but beyond the scope I’ve set for this blob of text.

Ok, that leaves the time we waste on planning, the cheats we apply to help ourselvs — call this “wisdom” — and last not least the time we sit idly wondering what we need to do, should be doing or browsing the net and playing minesweaper. If your wondering about stupidity, don’t worry that’s just 1/wisdom (yea some people have it close to infinity but its ok as long as errors are 0). Lets hack time!


You may be surprised to know that the large portion of the time you waste with planning is not actually related to the hard decitions (hard: “I do not want to think about it.”) but determining what you should be planning next, when to stop planning and so on. Lets take that out of the way:

  • Do not plan, prototype!

    Much more productive and effective, no amount of planning is going to make gold into sewer mud.

  • Lucky 7 rules

    Less is more. Plan seven items then work on that, then plan another seven tasks for your current one and so on. What, why not plan everything? Can you think of everything at once? the answer is No! Planning is good to get things done, if your just planning and not working on it, planning becomes pointless. So why 7, well it actually does not matter as long as you have a number in mind; you can’t get everything in one go and trying too hard is both counter productive and error prone. It does not need to be seven, you can try binary and see how that works for you (I often think plans in binary this-that way).

  • Use applicable logic and order.

    A good idea is to avoid randomness or uniqueness when you make your plans; it makes them hard if not imposible to apply even if they are smart. Take a website, do not design on some obscure file structure on your server which you imagined think rather of the link structure in your site.

  • Copy and plan on the fly.

    To get good results look at how other people have done it. Emulate them, learn from their mistakes, adopt good conventions (more on this later). If you can’t find anyone to learn from, no problem, first start writing if it becomes obvious you got it wrong redo. The idea is: learn from your mistakes; its faster! Go figure… we actually learn more from our mistakes then any other source (people call it experience).

Order in your system

Not necesarly referring to your filesystem of whatever operating system you are using, but for the sake of clarity let us pretend that is the subject. Makes for easy reference points and copy logic applicability.

While a relatively simple task, we unfortunetly are not so talented in naming. Naming or ordering is really the same thing. Use good names and you get order as a bonus. Try to order first and you get bad names.

So how should we go about naming?

  • Do not repeat yourself.

    Name strings such as “Container”, “ContainerBottom”, “ContainerBottomForm” are not bad (initially) but eventually suffer from repetition issues, the more sub levels you have useless words you insert, first 1, next 2 next 3 etc.

  • Use associative thinking.

    Lets take a unordered list, try to order it: “Profile”, “Post”, “Topic”, “Message”. I’m sure you noticed that I’ve added one extra foreign element to try to confuse you, but that proves the point: you can distinguish via their semantic order rather then some weird personal naming convention. I am not going to discurage using two words or more words in the name but do try to avoid redundant word combination such as parent–sibling pairs (eg. “NavigationPagelinks”).

  • Use words not phrases.

    Why use words? they are catchy, people remember them easier then any other semantic symbol in your markup|document. If finding the right word is difficult conceive one, such as Page + Links = Pagelinks, Pagination + Options + Select = Pageselect (“options” is a redundant term; don’t be afraid to prune and minify).

  • Use codephrases

    Some things are just perfectly ordered for you already, why not use them. Can you think up one? Tic tac tic tac time’s up. Well take the simple date, it’s a very simple concept understood by, well everyone that is at least partially educated; its maintained by all sorts of systems around us. Great isn’t it! Well just use it. Are you clueless as to how to order your images? you can start by placing them by year, then month etc. If the sample is too low you can order them by a combination, such as month and day (meaning a flat layout). You have geographical location, that’s usable right. How can you classify a “something”: primary, mandatory, suplimentary, ancillary, secret, secondary etc. Adjectives are nice are they not, grammer has them in there for you, use them!

  • Keep it sweet and simple, stupid

    Topicbucket contains TheFlow where Posterfish roam.

Time to cheat

I’m sure as any sensible human being you have favorites! yes you do. And I’m sure as 95% of people out there you have some very sophisticated criteria spawned from the pool of muck created out of your fears of social abuse, alienation etc (I’m sure you have your own personal special word for it). Its simple really, even I can understand it, if you feel you are wasting time it means: “you are doing something wrong!”.

First take that skinny biased part out of your “what is favorite criteria” and throw it into the river! Don’t worry, it’s the spartan way, you are not alone.

You need to get the job done, now! You require…

  • One tool, or if that is imposible as few tools as posible.
  • Given the required features (you need) as a number or rating, a tool which has a rating closest to your rating among all the posibilities, is ideal. For example: You need to write html and syntax coloring. It’s safe to assume you do not need a hole IDE to do that, and having one is counter productive.
  • Given you have several choices, you need the one solution which requires the least configuration. It’s always best to get things done now! not after 7 holy days of “configuration”.

When you have the right tool, do you need someone to babysit you? you are spartan! bash it until it submits to your will. Seriously, just try, try, google and try again! The hard way is not necesarly the longer way round.

Exempli gratia

I have just freshly installed my operating system (not really; just a example). I have three programs to get around to Bloatfox, BooboogieMail and umm IMidiot. What should I use to handle them. The solution is simple, place them as icons on my desktop. If I find I use the desktops for other things to cut down on features I place them as entries in my quick launch or put them in a folder and drag that into a sidebar, something like that. That’s the control sample…

Time to expand, it has been a month since I installed my operating system and now I have thirty of the devils (I don’t know how it happed; I think they multiplied!). So now what? Well in this case I need to rethink my stratagy; a makeshift solution of applying divited-and-conquer algorythm, but really this is only a temporary solution (No compromises, they waste even more time!). So given I have a countless number of programs how to I go about openining them, the solution here is Launchy (a keystroke launcher), it doesnt do much but it does more then enough of what I want. Fast efficient and simple, job done.

Similarly if I’m writing a lot of text on websites and find constantly correcting or repeating myself I could eventually move to a solution to my owes such as PhraseExpress (a text replacement, typo correction utility). Wasting too much time creating those tisue master plans of word destruction, no problem, move to xmind and do it digitally. You get the idea.

Errors and stupidity

Well sorry to inform you but stupidity is a chronic illness, if there was a cure for it we would be pushing it in people’s throughts from long ago.

So stupidty being untouchable lets move to errors, the pwans of stupidty. There is a very simple way to avoid errors and that is to practice and also to practice good practice. Are you stil following? If you aim for perfection (while maybe harder) you aim for 0 errors and thus actually save time for yourself, where as compromise will waste you time. It’s simple as that.

So how do you aim for convention: conventions or if you wish standards although I do not like to call them that since, well, they are not something I’m obligated to follow particularly when the “standard way” is the wrong way applied in practice (note I’m not referring to actual standards such as would be W3C’s CSS3 Standard etc).

That is all, good luck.

Ok thanks bye.

I was inspired to write this after reading Darrell’s Unwrapp: Help for the Web App-addicted on Web Worker Daily.

Disclaimer: If you are very paranoid or “closed source” slowly back away now.

Wakoopa is a “application tracking site” but unlike things like online directories or recomandation lists and sites, which you may be familiar with (or not), Wakoopa literally tracks your applications! You basically install this small program and it will trace (likely looking at your processes) what application your using; remember process names are usually pretty unique and you can press Ctrl+Shift+Esc and copy paste to good old google to find what latest bloatware you have stumbled upon. This uniqueness is what it (likely) uses to track your down.

Wakoopa Profile Screenshot

Does Wakoopa track only some specific application? Well that’s it, there is no filtering, it tracks everything, although do not be alarmed it only tracks if you are running it or not, not sensible information regarding it (or so we all hope; just kidding). If you search the plentiful Wakoopa archives you’ll find such processes as explorer (the windows shell, no not a CLI shell silly) or the like. By all means you are free to turn it off at any time, but that defeats the purpose.

Descriptions on the applications are short and to the point, and generally user submitted; you can also check fun statistics on what people use; well wakoopa people anyway but hey! what do you care for the old geezers.

You do not need to join and get tracked to make use of wakoopa search, statistics and such, although that does offer the benefit of auto-discovery on good applications, lets say your searching using RocketDock, you may find such things like Launchy [Launchy is a open source keystroke launcher] (no I found it while working with jmatter, not wakoop, but you could!).

What left for me to tell you is that at heart Wakoopa is a social site so if you are into having pretty niftly profile chatting, knock yourself out. It also has a RGPish leveling system to play with, not that it telling you what junk you are actually using with your time (but pretend you are not) is not crazy fun in itself.

The site is nice and friendly Css design, with half decent code under the hood (well, nobody’s perfect).

That all, ok thx bye.