4 Hugues Ross - Blog: 11/01/2014 - 12/01/2014
Hugues Ross


Singularity Update 9


-Fixed the bug with automatic deletion, and boy was it something!
-Added a 'rule' system. It replaces the automatic deletion, but provides the same default function.
-Made the settings pane look nicer.

The Rules

The new rule system is working! The way this works, users can set 'rules' based on time and item type. The simplest way to explain these is with a couple of examples:
"After 7 days, delete unread unstarred items"
"After 3 months, mark unread starred items as read"

As you can see, this sort of thing gives the user much more control over what happens to feed items. Eventually, I want to add overrides for specific feeds, multiple rules per type, and more actions. For now, though, it's a nice step up from the old auto-delete feature.


My desktop: Wait, what?!


Around Halloween time, I had a "Brilliant" idea to deter people from borrowing my laptop. There is a single key on my keyboard that, when pressed, summons a skeleton as shown above. It was pretty easy to set up with my current desktop, but before we talk about that, I think it's best to give some background about my system.
My current desktop. Click to view it in all of its glory!
I switched to Arch Linux on my laptop last summer, since interesting things happened, and I haven't looked back since. I took this opportunity to learn how to use a tiling window manager, and I fell in love with suckless' dwm. The cool thing is that dwm is very small, and intended to have its code edited instead of using config files. So far, I've built up a wonderful collection of scripts designed to let me have some fun with it.

  1. My biggest script handles the information displayed in the upper right-hand corner. Most of it is fairly simple, relying on a ton of basic Linux tools, so I won't bother talking much about it here. If you're interested in any specific part of it, just send me a message or comment here and I'll happily explain. At some point the source will be available, but I'm not quite ready to share it.
  2. Remember the Skeleton? Here's how I did it:
    1. I drew a grinning skull using Krita, and my drawing tablet. I could've done a better job, but I really liked the sketchy look.
    2.  I animated the skull opening and closing its mouth using Blender. I used to know Blender inside-out, but my coding has gotten in the way of using it. This seemed like a great opportunity to get back in the game.
    3. I found a bunch of spoooky sounds on Freesound.org.
    4. I put the whole thing together in Blender, and added the special effects.
    5. I rendered the result to be my exact screen resolution, 1600x900. I still have the files, so on later machines I can remake this.
    6. In my dwm config.h file, I added these two lines of code:
      static const char *spookycmd[] =
       NULL };
      // ...Later, inside the keybind array
       /*Your key goes here. Mine's a poorly-kept secret ;)*/,
       {.v = spookycmd} },
    7. As you can see, it's really quite a simple process. This whole mini project took just an afternoon to do!
  3.  Now, if you use dwm you might be wondering how I got a pretty little albumart box on my desktop, and a drop shadow for my top bar. In reality this is a bit of a hack--I just use ImageMagick! I've been working on an ImageMagick script that runs when a new song plays, when I start up, and when my background switches. Currently, it's slow, doesn't look great, and isn't finished yet, so I won't be sharing the script. However, expect a small post about it in the future! Just like with my bar script, I'm still willing to discuss the topic in greater detail if you want.

So, what do you think? If you have any suggestions or requests for me to implement and explain, I'd love to hear them!

General Update: Something New

If you've been following this blog, you've probably noticed recently that my posts have dropped off. I've been thinking about this blog and my work, and I'm not very happy. Thus, I'd like to talk about what happens when I fail to make a weekly update post.

There are a few reasons fir this generally:
  1. I haven't gotten much work done on anything that week.
  2. I forgot.
  3. I've been working on some undisclosed project.
All of these happen, but I'd like to look a biut deeper into each. The first one is the rarest, for sure. I usually get something done,  and it's only when I'm super tired and burnt-out that I fail to post. The 2nd one is more common than I'd normally like to admit. I'm a very forgetful person, and frankly This is probably my 3rd or 4th blog at this point. The others survived a few weeks, then were forgotten, so I'm slightly amazed that this one has lasted as long as it has.

Finally, let's talk about the last reason, and my projects.
I have a ton of reasons for which I might not talk about a project:

I might consider it too personal, or odd, at which point I feel like I shouldn't share it publicly. These projects will probably not get talked about in any setting, much less a public blog.
I have smaller 'Toolkit' projects that I make solely to make my life easier. Oftentimes they're the product of a single weekend, and I don't think they'll stick around. Usually, they'll get small occasional updates over a long period of time, and once they've grown it feels too late to discuss them.
I have school work, which seems pretty mundane for obvious reasons. Sometimes, like with Space Douchebag, I post a little bit, but usually I jst stay quiet when I shouldn't.
Lastly, I have prototypes, and lots of them. I come up with all kinds of interesting ideas, but I often worry that they won't go anywhere. Usually, I'm right.

What does this have to do with my moment of introspection? Everything. When I look at my blog, I always regret the fasct that the content on here really freaking boring. In fact, it's mostly just changelogs and massive walls of text, like this post! I've needed to change that for a while, but have had difficulty coming up with a solution. However, I think I have one now. Whether it works or not, only time will tell.

Here it is:
  1. I need to drop the weekly updates entirely. Singularity will keep getting them until 0.2, and then that's it.
  2. I need to talk less about exactly what I've done, and more about cool stuff I've found while doing it, the things that I'm learning, and how I'm doing things.
  3.  I need to talk more about various undisclosed projects.
  4. More screenshots, and more videos.
 I'm going to try and put these steps into practice as of today. This is rather experimental, and I'm worried that this will fail horribly, but I still need to try. Hopefully I can keep with this.

Also, an update on Twitter use: If you're wondering why I'm not tweeting at all, it's because I literally cannot log in to Twitter. It simply boots me back to the log in screen when I'm successful, so I'm stuck there. Hopefully that'll get fixed someday!
EDIT: I'm back on Twitter now!

TL;DR: My content sucks, so I'm going to drop my schedule, add more shiny things, talk about more projects, and save the universe. Whoo!