What have you done for me lately?

Don’t worry! This is not yet another “I haven’t blogged because…” post. It’s similar though: it’s to aggregate all the cool material I’ve been producing lately instead of writing on my personal blog!

Without further ado, here’s the goodies from the past:

Oh yeah, there’s also some stuff going on in the present:

Finally, here’s some cool stuff I might possibly do in the near future:

  • I’ve worked several months in a Java/Maven/Spring project, which lures me to write about the differences between Java and C#. No promises though!
  • 2018-01-xx: excited to start on a project that uses ClojureScript, hurray for opportunities to learn stuff! Might even write about it, here or on Infi’s blog.
  • 2018-xx-xx: blog post about Top 100 Games is in progress, though no promises here!
  • 2018-xx-xx: a side project that gets sidelined a lot, I still intend to finish EmpGrid some time.

Several things on these lists I want to blog about, but I’m not ready to commit to anything yet. Stay tuned!

New Beginnings

In less than two weeks, I’ll be starting a fresh challenge at Infi. I hope (and think) I will bring things to the table, but I’ve also already noticed that there will be a lot of new things for me to learn. I honestly feel that a large portion of your skills and knowledge can be best gained from other people (online, or in real life, doesn’t matter), which is why I’m very excited about this new beginning!

I’m pretty sure that this fresh start will influence what I’ll be writing about on my blog. I’ve got some ideas, but even more so I think additional concrete ideas will start to flow in the coming months.

But first, before we get to that, there will be (a) a very short vacation, and (b) a short period of silence while I get settled. After that, you can expect the reports to flow in again here. See you then!

WordPress, Rowspan, and Feedly

From my previous blogpost I learned that combining WordPress, the rowspan attribute, and Feedly will result in a Picasso-like rendering of your post. This blog doesn’t have “Meta” in its title, and that’s not for nothing. So let’s examine this beast.

Here’s the markup:

And here is that exact table in this very blog post:

Header 1 Header 2
Top-left cell with rowspan = 2 Top-right cell
Bottom-right cell

This will render just fine in both the WordPress editor, like this:

Table with rowspan

And it will also render just fine in WordPress itself, like this:

Table with rowspan in WordPress

 

You can check out how this rendered in Feedly by visiting the actual website for this blog:

Table rendered in Feedly

Which is ugly, but technically just fine! (It’s only missing or ignoring the full-width css attribute.)

So, what went wrong with my previous post? In case you wouldn’t believe me (but you do, don’t you?!), here’s an annottated rendering of that post in Feedly:

Faulty table rendering

Basically, the green bit should’ve come below the table, but instead it got lumped into the bottom right cell. If I check the rendered html in Feedly using the Chrome dev tools, I can see that it does indeed do this.

I’ve checked in my RSS feed and found the culprit, it’s actually WordPress that renders faulty html:

There’s a rogue </p> tag there! In WordPress and its themes this doesn’t matter, as it’s probably simply ignored. But Feedly seems to parse and slightly rewrite (for adding in inline styles for rendering) the post html, causing rendering issues.

Lesson learned: be wary of how WordPress will render your post. :-)

Aggregated online interactions

This blog hasn’t seen much action lately, but that’s a misrepresentation of my online interactions. Most of my interaction in the past few months has been on Stack Overflow Q&A, and some on Stack Overflow “Documentation” as well as a small amount on GitHub. I wanted to aggregate some of those interactions on my blog, as well as perhaps cross-post bits and pieces here, mainly for my own reference.

Let’s start with the first: aggregating the bits and pieces that I want to have easy links to.

Stack Overflow Documentation

  • Showcasing all common Angular constructs“. I’m linking to the most up to date version. I wrote V1 of that article, which was subsequently improved by various other folks. It’s the tutorial (and equally important: the style of tutorial) I wish I’d had when I started learning Angular.
  • KnockoutJS “Equivalents of AngularJS bindings“. Linked page summarizes the state SO Documentation is currently in, at least for low-traffic tags: little and poor collaboration, and some frustration because some decent examples I wrote just don’t get reviewed (neither approved nor rejected). Thinking I might turn my content there into a (series of) blog post(s) here. Not sure yet.

Stack Exchange Q&A

At around 20 questions and 200 answers in 2016 so far I’d say I’m “moderately active”. Here’s a few that stood out when I browsed through my recent history:

I also gave SoftwareRecs.SE another shot, posting some questions, but they fit right into my question history: lots of unanswered tumbleweeds. And not for lack of trying, as I spend a lot of effort on making my questions there as good as they can be. The main reason I do that (and the reason I keep coming back to softwarerecs.se, in spite of the tumbleweed-factor) is that thinking carefully about your wishes and requirements at the least will help you find something yourself, if no-one else recommends anything.

And even though I haven’t interacted with Cooking.SE much lately, every stray upvote now and then to my “Cooking fish in a dishwasher” answer makes me smile.

GitHub

I don’t interact as much here yet as I’d like. I specifically wish I remembered more often than a measly four times to create gists, because the ones I did create are ones I tend to go back to. In addition to gists, I’ve gotten to creating only very few issues and pull requests, something I want to work on.

One shoutout by the way to the DefinitelyTyped repository, because that community has to deal with a really scattered committer base, and seem to do so pretty well. My pull request (though small) was reviewed and merged quite quickly.

In Closing…

What to do next? The tags I followed on Stack Overflow for answering seem to have dried up a bit. Perhaps some more interaction on GitHub, as well as re-editing some of the above links into blog posts? Then again, a few weeks of vacation to Hawaii are coming up as well, so it might be a while again before posting…

Finishing Bieb – Prelude

I will finish version 1.0 of Bieb in 2015!

But I’m getting ahead of myself.

You know that awkward feeling you get, when you’ve committed to some idea, merely by expressing it out loud or putting it in writing, and you can’t get yourself to do it? Yeah, “guilt” of some sort. I know, I get that too. I’ve had this for some time now, because I publicly stated I’d finish things.

Influence: The Psychology of Persuasion There’s a fantastic book on the subject which explains in detail how you should let rational thoughts trump previously stated intentions. I have applied this advice to my own situation, and rationally evaluated my publicly stated intention of finishing Bieb before doing anything else.

So here are the facts I gathered:

  1. I haven’t posted for 5 months, and I feel bad about that, because I’ve had ideas and things I wanted to post about.
  2. Hunting for a possible new job took a lot of time (I wasn’t even sure whether I should be looking for one), giving me a reasonable excuse not to work on a “big” pet project like Bieb.
  3. More recently, having found a new job, I’ve been spending almost all my free time studying new technologies I’ll be using soon. This is a very reasonable excuse to postpone blogging and pet projects.
  4. I’ve been tempted to start off new pet projects, but didn’t dare because I felt it would’ve been Bieb’s death sentence.
  5. The Windows Azure dashboard overwhelmed me. I want and perhaps even need to use it for rolling out Bieb, and it’s probably great, but wanting to do everything right the first time around doesn’t combine well with how extensive it is.
  6. I’m going to try out speaking at small events by giving a Lightning Talk at the next DomCode meetup, which takes away time from other hobbies like blogging and pet projects.
  7. I really, really, want to actually finish a 1.0 version of Bieb.

Okay, I was lying. Those were not “facts I gathered”. Those were thoughts, more or less chronologically ordered. And they can be summarized as:

  1. I want to give up on Bieb.
  2. I have all sorts of excuses for at least postponing it.
  3. But wait: I do not want to give up on Bieb!

So, ratio tells me: ignore wanting to give up, postpone finishing it for a reasonable while, and then finish it. Basically, I’m publicly restating my intention of finishing it, this time even attaching a deadline.

I will finish version 1.0 of Bieb in 2015!

You can hold me to that promise. I know I will.

Finishing Things

Nearly without exception have I used Title Case in my post titles. This time though, it’s more appropriate than ever. The “Things” I speak of are my “open” Projects. Unfinished things that feel Big, but that can either be small, or at least be done in small pieces.

Yes, you’ve guessed correctly, I’ve made my choice: I’m going to finish and/or wrap up loose ends.

You know what? I’ve already started. In fact, I’ve already wrapped up the first project, which probably means that I’ll write (after months of silence) a third post in one week.

Projects to Wrap Up

But let’s not get ahead of myself. The set of projects I want to wrap up is this subset of projects you can find on my www:

  • BattleTop. My RPG initiative app. Reached fully-functional beta status. However, with less and less Table Top RPG sessions, it’s hard to fully test and further develop the app. Gonna Wrap It Up!
  • TimeLine. An app to visualize grouped timelines, though in honesty a personal playground for new html5 semantic elements. Did not get past prototype status. Gonna Wrap It Up!
  • DotaGrid. A pragmatic tool hacked together to customize the Dota 2 hero picker. Reached beta status, but wasn’t really meant to go beyond that anyways: heck, the code is grouped in a file called “MyMonolithicApp.js”. Gonna Wrap It Up, though I might update it occasionally with new heroes if I feel like it.
  • Bieb. A somewhat bigger project to create a website showcasing books you have in your own library. Not even in alpha status yet, will have to see how I will Wrap It Up…

That’s it! I’m looking forward to wrapping those projects up. Hopefully it’ll give me some closure, and by side effect some energy to start new projects!

Stay tuned for the first wrap-up-post.

Starting a New Series

It’s been a while since my last post. I miss writing though, so here’s my plan to get back on track. I’ll do it similar to last time I needed to “reboot”, only I haven’t decided on a topic yet. Here are my current ideas:

  • Infographic katas. This would be a nice opportunity to refresh my Photoshop skills.
  • Finishing my projects. I’ve got several smallish OSS projects, I’d love to be finishing them; or, if not finishing, then at least wrapping them up. Writing about it may be what’s needed to get me started.
  • Graphs.  I love to find weird correlations and graph them, not much unlike an XKCD copycat. Perhaps such a series could be fun.
  • Review OSS codebases. I’ve been meaning to do that more structurally anyway, to get a better grasp of how some of them work. I may as well use it as content for my blog.

I’m not sure which one I’ll pick, if any of them. But at least I’m back on my feet thinking about writing again!

The Cost of Buying a House

Buying (and moving into) a house will cost you some downtime in blogging. Some 127 days of downtime, to be precise. But, for me, it was worth it!

Now to get back into the game. For a few weeks now I’ve been trying, but haven’t been able to do so. Why? Not sure. How will I solve it? By doing what I do best: dissect the situation into a well organized overview.

Here’s a list of all the topics I feel I may write about.

Metaphors & Analogies

I love metaphors and analogies, especially when it comes to explaining IT stuff to non-technical folk. This includes but is not limited to the subtype “explanations for x year old” (here’s a great example with Dependency Injection). Some specific topics I enjoy:

  • The difference between Stubs, Fakes, and Mocks, possibly using Santa Clause in the explanation.
  • Differences between types of software testing.
  • Finding appropriate titles for bug tickets that appeal to non-technical folk.
  • A concise description of what I do at work.

Tools of 2013

Maybe I should write about some the tools I started using (more) in 2013:

  • KnockoutJS, a client (JavaScript) MVVM library.
  • Jenkins (CI software) and/or PowerShell scripting.
  • Browser charting libraries.
  • CSS extensions like SASS and LESS.
  • Twitter Bootstrap.

Tools of 2014

Some things I may want to get into some more this coming year:

  • Even though I sometimes hate it: Java. But only if I can get my hands on a Glass.
  • Check out the competition for KnockoutJS.
  • Some of the Apache projects like SOLR, Hadoop, etc.
  • Differences between various DI Containers.

Pet Peeves

Here are some things that keep coming back:

Hmm, surely I have more pet problems? Maybe I should retrofit any I think of into this list.

Gaming

Two things come to mind for this category:

  • An overview of my favorite / most played games;
  • Something about my latest “addiction”: DOTA 2.

Miscellaneous

Making lists is one of the things I’m good at, but still I always end up with this category. Oh well, some final thoughts I may (or may not) write about:

  • Things about The House.
  • Choosing and/or building a home entertainment solution.
  • An update about my Book List.
  • Anything that can serve as a vehicle to practice making Infographics.

In any case: stay tuned!

So much to do

So much to do, yet so little time.  Three weeks of vacation have come and gone. Two weeks of work have come and gone. One of those work weeks was even a week #OffsiteCoding, where we went to a great (I’d dare even say luxuruous) location with the whole IT team, to work (dedicated) on a new part of our product.

New computer desk at homeAfter those five summer weeks I’m still full of inspiration, and deep into several projects and new hobbies. If I fail to post on my blog, rest easy knowing I’ll be enjoying myself with:

  • Guild Wars 2, also known as World of Warcraft 2.0;
  • The Mists of Pandaria expansion for World of Warcraft;
  • Our brand new Open Source project Bieb (on CodePlex), which is now public (yay!), but still needs a release (boo!);
  • Studying for my 70-513 exam on WCF;
  • Cranking up my skills with WPF, which I’ll be using at work a bit more the coming months.

Much of my inspiration for new projects comes from finishing other projects. Have a look at the picture for the most recently finished project: a custom (home) made desk for two workplaces at home.

Problem with this approach for getting inspired: every finished project gives me inspiration for two more! Like I said: so much to do, yet so little time. A luxury problem, I suppose.

Content is King

After having several months of fun with various Social Media, I found Twitter to be the best one for me. Took me a while before I understood why. It’s the quick fire-and-forget blogging “flavor” that I enjoy. Not only is it fun to fire some thoughts onto the web myself, but also to see other people’s thoughts, jokes, and other random goodness.

At the same time I was trying out Twitter I also took up a blogging project, using my World of Warcraft addiction to generate content. Because it’s true:

Content is king!

So after finishing that blogging project with my final episode (an Interactive Youtube Adventure), I sort of landed in a void. Without any more content: what was I to blog about? Besides: who’d want to read what I have to say?

The answer is: who cares!? You can also just blog for your own pleasure (or to overcome your fear of writing). So that’s exactly what I’ll do!