4 Hugues Ross - Blog
Hugues Ross

11/15/14

Singularity Update 9


Changelog

-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.

11/14/14

My desktop: Wait, what?!

Hi:

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[] =
      {"mplayer", 
       "-fs",
       "/home/df458/Videos/SKELETON.mkv",
       NULL };
      // ...Later, inside the keybind array
      {0,
       /*Your key goes here. Mine's a poorly-kept secret ;)*/,
       spawn,
       {.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!

10/24/14

Singularity Update 8


Changelog

-Items should now be marked as read more reliably.
-When you aren't subscribed to any feeds, Singularity now displays a 'Welcome Screen' that prompts you to subscribe to some.
-Added a Settings pane to set userthe preferences.
-Singularity can now periodically check for feed updates. You can disable this/change the interval from the settings pane.
-Fixed a serious bug where feeds could end up with the same id.


Settings

Getting settings into Singularity is probably the #1 culprit for why I haven't made any updates during the past few weeks. This particular feature slowed my progress down considerably, mostly because I needed to do a ton of work to even start seeing progress. At this point the settings pane is mostly empty, and it looks awful, but the hard part is over now.

Down the Road

It's been over a month since 0.1 came out, and you might be curious as to when I'm going to release 0.2. For once, I can answer that! My current goal is to finish singularity 0.2 by New Year's Eve, and release it soon after. Last week, I layed out my goals for 0.2 on Singularity's Github page. The list is pretty long so I'm a little bit worried, but I think I can manage. My goal for 0.2 is to take the base I created with 0.1, fix some issues, and then build off of it with some of its more 'essential' missing features, like the aforementioned settings pane. Currently, it looks like 0.3 will try to make the application act nicer on other systems, as a build up for an eventual attempt at getting it provided as a package in one or two distros. We'll see about that, of course, but I'm hopeful.

10/3/14

Singularity Update 7


Changelog

-Added an experimental feature to make feed items fit together nicely. However, it probably won't make it into the release.
-Fixed a bug where you couldn't add feeds anymore.
-Made a change to the install so that it doesn't require extra work.
-Moved the location of the default css and status emblems to /local/share. The default.css file in ~/.local/share/singularity will override it, letting you customize your view a bit.


A Fitting Change

This week, I tried to change the way that items are arranged. Using the css 'flexbox' feature, you can make things fit together in different ways depending on how much room they take up. The result is ok, but pretty underwhelming. Flexbox won't resize content to make it pack more efficiently, so anything containing text will take up a full row. I'll probably need to mess with this a bit more before I include it. The other issue is that the items that get packed into rows aren't all marked as read correctly. This is probably for the same reason that this issue occurs when the view scrolls too rapidly. This issue is starting to become a bit more serious, so fixing it is probably the next thing I'll get to.

The Clearing

Just the other day, old items were cleared for the first time. This was a day I feared slightly, since I wasn't sure how things would go. Considering that, I'm happy to announce that the results of that were mixed, but promising. It looks like any feed that had updated during the one-month period was correctly cleared, and nothing more occurred. Any feed that hadn't was also cleared, but then every item in it was reloaded. This is precisely what I was afraid of, but it looks like the issue might only happen on my end. I added the feeds when the feature was still a bit glitchy, so I think that's what caused the issue. Unfortunately, it's hard to say until next month comes around, and things get cleared again. If the feeds fail twice, I'll have to start testing and fixing things more aggressively. Anyway, this event reminded me that I still need to add a 'clear all' button. Hopefully I'll be getting that in before 0.2.