Fixing Ghost scrambled IDs after importing data

I’ve written a plug-in that exports data from Pelican to Ghost in JSON format. After writing the plug-in I realized that Ghost has a few quirks of its own and that is that if updated_at field is NULL the behavior in the admin panel gets a bit freaky.

This is why I came up with this small script. All it does is sort in ascending manner the posts and update the updated_at field with the value in created_at.

In case of emergency use ubuntu-drivers!

Your wireless drivers aren’t working, you spend hours looking for a solution. You find over 8k google results of people having the same problems over the years.

You are a big gamer, new to Linux. You just realized that the drivers you are using isn’t from NVIDIA or AMD.

The answer to a painless, and successful drivers installation? Use the command line tool ubuntu-drivers.

How to use it?

Well, all you need to do is open the terminal and type

sudo ubuntu-drivers autoinstall sit back, wait for it to finish and reboot. That’s all to it.

There’s also ubuntu-drivers devices if you want to see the drivers available, you can choose what to install with apt-get install [package name]

GPG keys updated

I’ve updated my GPG keys. I’ve been dealing with a case of losing my secret keys and therefore I can’t retrieve my old keys or do anything with them, I can’t even revoke them if I wanted to (as far as I know).

I ended up generating a new pair of keys, this time I just backed up .gnugp and export the secret keys in hope that if I lose them in transition to another distribution I’ll have it restored in no time.

And yes, I DID back up my old keys. For some reason I could list my keys, but I couldn’t list my secret keys. I only had my public keys.

This doesn’t mean much to people in a way. However, if you have been downloading WINE binaries from my server and you are a responsible person (unlike me 🙁 ) then there’s a high chance you’ve been validating my signatures against the archives I’ve uploaded.

I don’t think my keys have synchronized with the public key servers. Anyway the key ID is now 4B505975.

gpg --keyserver [the keyserver] --recv-keys 4B505975

Ubuntu, you look wonderful!

I’ll probably disappoint plenty openSUSE fans with this post. Yes, I’ve ditched openSUSE in favor of Ubuntu, and I’d like to believe my reasons are sound.

Ubuntu 14.10{ .center }
I had problems with openSUSE, mostly with their rolling release which inexplicably I had to spend a lot of time dealing with buggy packages, in comparison to Arch Linux which is surprising… but well, this post isn’t about pointing the flaws of openSUSE, or any rolling release distribution.

In a nutshell:

  • Plenty of unstable packages
  • Dependency hell (this one annoyed the living hell out of me)
  • And most importantly, zypper ended up frustrating me. I know a person who told me zypper is faster than apt. I’m scratching my head wondering what was he smoking. At the very least, zypper is one of the slowest package manager I’ve used in my life. yum is pretty fast in comparison, pacman remains the fastest.

And I wasn’t happy with all the friction I had to deal with in openSUSE. Enough of openSUSE, let’s talk Ubuntu.

So, I should let you know that I haven’t touched Ubuntu’s main flagship in years. I also should tell you that my heart belongs to Debian and its based distros which is why I feel five times more comfortable using Ubuntu.

I am enjoying the Unity experience. I’ve heard a lot of “awful experiences” from users, I gotta give it to the Ubuntu team: Ubuntu 14.10 is fantastic.

In terms of getting everything running, due to my knowledge of Debian and its packages in less than two hours I was up and running with all my development applications. That’s really, really fast!

Everything works. The pain of setting Spotify is gone, the pain of dealing with fonts is gone.

I’m a DIY (Do it yourself) guy. I don’t like getting spoonfed, however this type of spoon I love. The whole Ubuntu is “bloated” is itself a fallacy probably chanted by neckbeards or zealots who, in my opinion forgets the main purpose of Ubuntu.

And I gotta say, after learning the little shortcuts of Unity and setting up hotcorners for fast access I’m all set.

I wasn’t planning to jump ship to Ubuntu. Yesterday I just got fed up on dealing with openSUSE. It was time to jump ship. I frankly never expected Ubuntu be this refreshing to use.

Ubuntu 14.10 using Nemo with Unity patches{ .center }

Why asking is annoying

I find that asking people for help has become an incredibly tedious task given the answers are so opinionated, and warmly unwelcome.

You, and me? We want answers. Not your half-assed opinion on why you believe you shouldn’t obfuscate code, or getting questioned why you are implementing DRM. See, I saw StackOverflow as that site to learn and satisfy that hunger on how things get done. What we get in exchange (no pun intended) is a soap opera of morals.

Taboo questions are not allowed. It’s like throwing out the purpose of StackOverflow usefulness. You have a question, if you don’t have an answer then don’t leave a comment.

I know, I sound a bit abrasive but I’m not really mad; annoyed would be the right word, I guess.

I didn’t plan to use StackOverflow as an example. However the more I thought about it the more I realize that it was actually a perfect example on why asking is incredibly annoying.

So you get all these opinions, you are scratching your head why people think it’s okay to flood your question with comments instead of you know, giving an answer.

Plenty of people want to get the word out there and show how smart they are. Or make a taboo question like a soap opera to the point that the it becomes too controversial and the moderator has to close it with all the mundane comments.

Have we fallen into a trend?

Have we? I hope not, sadly I think we have. It’s not rare, especially in mailing lists such as Debian that whenever someone asks something there’s this flood of people saying leaving incredibly off-topic comments in the subject:

“Oh, why use that? You should use XXX software.” – random joe

“Why use that bloatware in the first place? You know what you should install Arch Linux” – random joe (I just wanted to poke the fun in Arch Linux users though, whenever someone asks which distribution a user should use everyone turn their heads and say “GO USE ARCH LINUX!” hopefully their mouth aren’t foaming in crazy.)

“Hey, can you install the debug packages? I couldn’t reproduce it here so I need to coordinate with you to fix the problem” – Developer of XXX software, his comment never reaches the recipient as he/she has given up.

And this trend has to end. There’s a fine line between having opinions on a matter and keeping quiet about it and sabotaging a whole question thread because you didn’t like what you heard. It’s childish.

The internet has gotten louder, and quite frankly way too annoying.

Yes. I’d like to say it’s a good thing, but it isn’t. Comment sections has gotten worse than they were. A lot of people out there want to prove to the world that they are right on the subject.

Discussion never takes place. I think somewhere moderators are just drinking scotch/whiskey silently weeping in bed in the hopes that someday there’s actual discussion and not an ego fight.

Which is why ultimately we become arrogant bastards

I’ll admit a lot of things I say and how I word it comes off as arrogant. This is done deliberately. I’m telling you that, “I will stick to my guns no matter how much you cry your lungs out”. And it’s not a matter of becoming someone impossible to deal with; it’s far from that. If I want an opinion I would create a thread with the respective tone that I want to discuss said topic. If I’m looking for answers, then I want answers and that means not your opinion.

And this get people a lot. Citing Linus Torvalds: “This ‘you have to be nice’ seems very popular in the US”. Nothing personal, I actually didn’t want to bring nationalities to this post, but it must be done.

I think I have said enough. Asking about things have gotten way too tedious, every corner has a person waiting to give your a comment instead of an answer. Your wish to improve in the programming language of your choosing is a road full of noise.

“It’s dangerous to go alone! Take this!” get some earplugs to block that noise.

Google Hates Blogs?

As of late I’ve been noticing that a lot of blog posts are not appearing in Google. A similar behavior was found by Marco Arment. Sure, my blog isn’t really the most relevant piece of journal in the internet.

Amusingly, I think the crawlers are doing their job. However, what goes on their results is being filtered. For example, all the tags pages (linux, programming, etc) have been thoroughly indexed by Google. Only ONE article I have written made it to the index. It could simply be a rule set to withhold any of the following URI [site]/posts/* where posts already determines the resource is in fact a blog post.

In a related note, I don’t know if I’m crazy but in the past you could actually search blogs. It was one of my favorite features from Google as you could really find a lot of educational material that websites couldn’t provide.

Will this keep me from writing posts? Not really. I’m not popular now, and I will not be popular in the future. Even if I was popular, I don’t think people should write to appear in a search engine. It kills the very notion of why weblogs exists in the first place, pretty sure it’s not for SEO or anything related to search engines.

Site Update – 2015-02-13

I spent this friday cleaning up the theme. I’m overly pleased on all the changes that have been done today. The site should provide useful metadata to crawlers, and of course it’ll be making it easier for results to become revelant. Quite nice, right?

I have yet to write more articles for my blog. Ultimately, I don’t want to just write guides for WINE, or make small posts of little progress. That’s what I’d love to say, sadly my time is limited; even simple cleanup tasks like the one I did today took a few hours to complete. This is simply because initially the theme I’m using was for Movable Type and I ported it to Pelican so yea, it was meant to be messy.

Good news? Nuja is closing in for a release. So if you are a Pelican user, be on the look out!

Pelican Theme: Nuja

It’s been a completely crazy day. Today I finished porting a theme I created for Movable Type called Nuja. I actually worked on it in 2013, but due to life I couldn’t keep updating it. It also amazes me how time passes. I didn’t think this was from 2013, I guess life is going faster than I thought; hopefully for the better.

Nuja is a simple theme, it was created as a tribute to Nujabes. The theme might be released over time; I’m planning to polish it before release of course. I had a bit of trouble working with Pygments, apparently Bootstrap kept overriding CSS elements when it shouldn’t. In the end I just decided to hardcore the solution as I knew I couldn’t do anything about it.

RSync + Pelican: A Short Note About Permissions

Yesterday I spent most of my time dabbling in Pelican’s configuration file. Right now how is set is pretty simple. I just rsync the data to the server, and back up the project on a weekly basis to my personal account in BitBucket. There’s a catch on this, any tool using rsync will upload the data as the user you are uploading it as. This doesn’t sound as a problem at all if you are using a shared hosting! However, I use a VPS from DigitalOcean, so it sort of changes quite a bit.

I’ll be frank, before explaining my solution which is just a simple line. I haven’t configured my nginx completely, and if there’s another way to do this it’s lost on me. Feel free to contact me, my e-mail is in the About Me page!

What I did was simple, edit your Pelican generated Makefile and add this line in the rsync_upload action:

rsync_upload: publish
rsync -e "ssh -p $(SSH_PORT)" -P -rvzc --delete $(OUTPUTDIR)/ $(SSH_USER)@$(SSH_HOST):$(SSH_TARGET_DIR) --cvs-exclude
ssh $(SSH_USER)@$(SSH_HOST) "chown -R www-data:www-data $(SSH_TARGET_DIR)"

That’s all you really need to solve the permission problems. There’s another way which is adding rsync to sudoers, but doing so introduces a security risk. The alteration made my way simply re-uses the variables that were previously declared. Once rsync finishes syncing the files, it will make open up ssh and chown the folder.

That’s all, and if you are using vim. Type :make rsync_upload (you must have your virtualenv enabled if you didn’t install it system wide). 🙂