Happy Birthday!

Happy birthday to (jaska dot) me!

This site launched on 8 March 2013, and is now officially three years old.

Sure, in places, it shows, but at least it’s all working. I’ve gone through numerous formatting changes, lots of content additions (and subtractions), and even some developer changes in the last few years. As it stands, jaska.me is run and maintained exclusively by me. Just me. For the forseeable future, that’s how it will be.

Currently, I’m working on backend stuff for Diversified Creativity, so the main Jaska site might not be quite up to scratch. I keep uploading license plate stuff (and have another post incoming for January – March 2016), but photography and music has unfortunately taken the back burner for now. I suppose the lack of creative energy really doesn’t help, huh.

This server setup and its config(s) are three years old as well, and I really need to update. However, this could result in substantial downtime if I were to migrate my instance (even if it were possible to do so as an AMI). I cannot afford to have two simultaneous instances, even if only for a few days whilst I sort out the backend on the new server. I’d effectively have to remake anything and everything having to do with permissions and content control. That will likely be necessary regardless, and it would make a huge difference if I could re-build a local staging area instead of putting things together piecemeal on a 2012 MacBook Pro and hoping everything works the same on a virtual Ubuntu server from 2013.


In any case, it’s nice to know I’ve been able to come this far. I know nobody cares, because nobody has ever bothered to donate or even mention that they like my website, but that’s likely because they think I built it from some boilerplate “hosting company” bullshit template. Their loss.

Now, if you’ll excuse me…these databases won’t write themselves, you know.

Site Update: 29 October 2015

Hey! Did you miss me? 😀

A couple major site updates to note:

A couple still-extant issues to report (meaning please don’t tell me about em – I know!)

  • Main page (and other root-level) pages do not display menus properly on screens under 1280×768.
  • Pages may as well not display at all on mobile devices. So sorry about the eyesore(s). 🙁
  • Any image gallery using the current jQuery lightbox script likely displays images at full resolution, meaning they don’t fit on the screen. Again, see below.

I am currently in the process of converting all existing image galleries to a different jQuery lightbox plugin. This is mostly because Leandro Viera’s site no longer appears to exist, leading me to believe his lightbox scripts are now even more woefully out-of-date than before. I already had to make some edits for compatibility with jQuery 1,9,1 (which was current at the time) as it was written for – I believe – version 1,6.

Ideally, I will be using Lokesh Dhakar’s Lightbox, although I may end up creating something of my own – possibly based on the one I’ve been using, although the wall of text that is the JS backend is…well, awful, to be quite frank.

I have been trying (and failing) to get images to display within the confines of a browser window for some time now. It doesn’t appear to have anything to do with CSS, in this case, which is obviously pretty undesirable. Style adjustments should be made in CSS, not JavaScript at runtime. CSS formatting is handled at runtime anyway, and I really don’t care to make yet another PHP function to handle image output as there are already two per gallery – three, in some cases!

If an image renders far beyond your viewable area, I apologise. At this point, there’s not much I can do short of re-sizing the original file. I do have scripts for that, of course, but even those operate with original percentages rather than “client-side” percentages. 75% of my screen is probably not the same as 75% of yours, and it’s really unprofessional to have “fixed” image sizing parameters to begin with. So I won’t do it. Either it works everywhere, or it sucks. Currently, it’s unfortunately the latter.

Other notes:

  • This blog no longer lists two distinct “Political” categories.
  • The main CSS has been updated and some objects have moved around.
  • The right sidebar menu now contains my Twitter feed.
  • The right sidebar menu now does not render properly and may float off your screen. I’m working on that. Bear with me.
  • I trimmed a lot of unnecessary junk from various PHP and CSS assets across the site. Page load time should be somewhat decreased as a result, ideally.
  • In the process, I have removed support for most versions of IE. IE 11 should still display pages properly, unless it’s gotten even more finicky and pathetic since I last checked. If you genuinely still use IE 6, 7, 8, 9, or 10, I’m really not sure how your computer is still functioning. Even I’ve stopped using Windows XP, you know.

Why you can’t “find me on Facebook”

For the last forty-eight hours, I have been unreachable via Facebook. This is intentional.

Depending on how you’re actually getting to my Facebook profile – specifically, the URL – you may be seeing “Oops, this content is unavailable,” which is a generic error page displayed when Facebook’s backend thinks you’ve clicked an expired link or a link to content that’s since been deleted, or you may be getting a simple pop-up like this:


At this point, I’d usually say something along the lines of “long story short…” but in this case, I can’t.

It’s not a long story at all. I’ve deactivated my Facebook account. I created it 20 March 2007 and deactivated it 18 September 2015. That’s over eight years of constant social media presence. To put that in perspective, that’s nearly a third of my life. 

Well, shit.

Social media is great. It keeps us together, keeps us in touch, lets us know who’s doing what, whenever, wherever – and, naturally, therein lies the problem.

Who is this “us?”

At the time I deactivated my account, I had 724 Facebook friends. I’ve kept track over the past few months, but regretfully haven’t actually plotted data points to create a graph – that would have been an excellent idea, considering I meticulously keep track of all sorts of other data in my everyday life. Oops. Oh well.

I can say, however, that the number was significantly higher even just a month or two ago (in the 760 range). What happened? Did I go through my friend list and delete all the people I didn’t really know, with whom I didn’t keep in touch, about whom I frankly don’t give a damn?

Nope. In fact, I’ve never “un-friended” or “blocked” anybody. Ever. I let the other party make that call, should they choose to. And, apparently, the “other parties” have been more than willing to block or “un-friend” me fairly consistently.

Now, obviously, I don’t give a fuck. If they’re petty enough to think “un-friending” or even blocking me is somehow “making a statement,” then they’re no friends of mine regardless. No, my real problem is with the aftermath of some, uh…encounters.

I’ve been targeted, slandered, harassed, “cyber-bullied,” whatever you wanna call it, on multiple occasions, and certainly not just via Facebook. At some point, though, even a disabled queer autistic kid with PTSD needs to grow the fuck up and accept that this is how the world is today. I can’t fight them, but I can make them stop – sometimes permanently.

I’ll give ample warnings. Of course, nobody ever listens. Why should they? If they can say whatever the hell they want online, well, so can I! Short of “I’ll fire-bomb your fucking house at 555 Elm Street, Townsville, PA*,” there’s a whole load of cryptic semi-threatening stuff I can say, completely legally, to a potential stalker or anybody who poses a threat to me via the internet.

Now, for (hopefully) obvious reasons, I can’t say stuff like “I know where you live.” Even if it’s true, and that information was obtained through totally legal, publicly-accessible systems (such as Google – seriously), it’s still mighty fucking suspicious. The fact is, though, you’re never anonymous online. I tried that whole “anonymity” thing a long while ago. Obscuring one’s identity is actually really difficult, and (more importantly) in many cases, motive. For whatever. Think about it.

I’m not stupid, so I don’t sink to that level. If somebody harasses me online, such as the debacle with my ex’s cronies and bodyguards or fuckbuddies or whatever the fuck last June – yes I curse a lot, so sue me – I fight back.

Again, I’m not stupid. I’m certainly not going to call the police, because that’s possibly the dumbest thing I could do. Plus, what police? Call the ones here in Affluent Suburbia, PA? They’d just laugh at me like the last time (when they attacked me and left me to die – not the topic at hand, though).

So…what, call the ones in Millville, NJ, the city to which I’ve traced the harassing messages? Even if I gave them the street address (which I approximated within 100 metres), the make and model of the device used (a smartphone, the make and model of which I knew exactly), the make, model, year, and plates of the car the offender drives (a piece of crap 2011 sedan, all of which I also know exactly), and of course the IP address (which I obviously knew, seeing as that’s never hidden from a site administrator, derp) used to obtain this information (except the car – that I knew because I have a good memory and was threatened in person to begin with)…they would not have done anything.

Nobody takes cyber-threats seriouslyespecially when it’s a “male” accusing a “female” of abuse, and subsequently her male “friend(s)” of harassment.

In short, nobody believes a “male” can be abused.

I’ve been extremely fortunate to have therapists and doctors who do not think this way, and have been more than willing to help me cope with the trauma I’ve endured throughout my life.

Most of that trauma, of course, has been self-inflicted, internalised, what have you – for example, I was never, ever “abused” by my parents in any way, yet took everything they said to heart and practically beat myself into submission over it. I think they’ve stopped blaming themselves by now – about time, too. I was a failure then, and I’m still pretty much a failure now. At least now we know it’s not entirely my own doing. Small comfort, right? 😛

So, then – why deactivate my Facebook? Well then.

See, here’s the thing. I don’t trust myself. It’s not other people. It’s not what they say or do. Other people are shitty. We know that. In fact, in many cases, we damn near take it for granted!

Fact is, I don’t trust myself not to say things I won’t ultimately regret. There’s a good reason, I’m sure, for having lost so many “Facebook friends” in a relatively short amount of time.

I know there are people who hate what I have to say about religion. Tough shit. You don’t like my presentation of facts? Well, why the fuck are you my friend?

I know there are people who hate what I have to say about gender and sexuality. Tough shit. Again – don’t like my presentation of facts? Well, why the fuck are you my friend?

definitely know there are people who despise my posts about science and technology, especially medicine. In this case, I have no desire to associate, even indirectly, with that kind of person. I hope they all die, and considering their absurd resistance to modern advances in medicine (see: Munchausen’s by Proxy, or better yet, Special Snowflake Syndrome**) that’s not a terribly unrealistic or even particularly “offensive” statement.

You know what we call people historically suspicious of advances in medical treatment? Dead.

Finally, I’m well aware that Facebook is very much like prison. You sit around and waste time, all the time. You write on walls, and your words and actions are plotted on a timeline – whether you know it or not. Your profile picture is always viewable by anybody, anywhere – again, whether you know it or not.

That’s an ancient meme (presumably as old as Facebook itself, or at the very least, the Facebook opened to the public on 26 September 2006), but I believe it still applies.

Of course, I’m not one of those “Big Brother” conspiracy nut jobs. I don’t think Facebook is “evil,” nor do I think they’re “spying on me.” Get over yourselves. Nothing you and I do or say online could possibly be of interest to the government, let alone a multi-billion-dollar corporation. I’m not important. You’re not important. We don’t matter, and we never will.

Unless, of course, you’re a powerful authority figure, an officer in the Armed Forces, a wealthy businessperson with serious Wall Street and/or Washington sway. In that case, yes, Facebook and others probably care a whole lot about what you’re doing online, so please, get off my silly blog and get back to work.

I am still on Twitter, but that’s about it. I don’t exactly have a small digital footprint, nor, admittedly, would I ever really want to.

I’m just sick of Facebook. I’m sick of the trouble that starts there and I’m sick of how it ends. I’m sick of the relationships it creates and even sicker of those it destroys.

I have no desire to keep in touch with people who really wouldn’t give a shit if I dropped dead, and realistically, the last forty-eight hours kind of proves my point.

this is obviously not real, but for legal reasons I am obliged to point out this address is completely fake, made-up, imaginary, all that jazz. Go ahead, put it into Google Maps or something. You can even try Bing, provided you are a Reptilian or practice Wicca. Satisfied? Good, now get off my back. 🙂

** not officially recognised by the NIH or APA as a legitimate psychological condition with significant diagnostic validity…yet.

Update: 28 March 2015

Today I’ve finished updating the site’s backend to support at least a rudimentary integration of this “long-form” blog, which is running WordPress. This ought to make way for some potential future updates, including (possibly) using Joomla! to run my upcoming professional site. That will be separate from this, my personal site. I will divide existing content accordingly.

Admittedly, the backend itself is still a hot mess. I suppose that comes with the territory. I have been going through a very rough breakup lately and as such my mental energy hasn’t really been devoted to much of anything, certainly not website maintenance.

In the meantime, please do check out my updated Music pages, specifically my latest (in-progress) compilation – NullCoding Persists!

I do have some plans for the near future, all of which are quite promising and could very well lead to lots of creative new content. This includes photography, music, and some of the professional services I offer as well. Be on the lookout for the “new!” icon next to some menu item on the site – that means there’s something worth checking out!

Apologies also for the lack of plate-related updates in the last month or so. I certainly have seen and photographed plenty, many of which are indeed highs (for Pennsylvania). I am looking to make a full post entailing all the updates in the reasonably near future, preferably around the time Tom Perri’s excellent paplates.com is updated, as it’s rather overdue at this point, I think. In the meantime, do please check out my PA plate images, which are simply collected in a folder (for now). I promise, I do have an actual page planned for this stuff. Really.

Some other minor stuff:

  • The VSC and NCPrime pages (and associated resources) are now marked “deprecated.” This is technically a formality, as the pages themselves indicate their content is rarely updated and/or represents legacy code.
  • Effective immediately, I will no longer be tracking Rhode Island license plate highs. Apologies for the inconvenience. I do not visit the state anymore, so cannot claim to keep up with their tag issues.
  • Additionally, my plans for a Rhode Island License Plates” Facebook group have been scrapped. If you wish to start such a group, please go ahead. I cannot run or even observe such a group at this time, unfortunately.
  • I added a link to my Twitter for some reason.
  • Be on the lookout for impending expansions to my photography page(s)…!

Update: 15-16 January 2015

I have expanded the root volume of the server to 50 GiB. Previously, it was limited to 7 GiB.

When I initially created this website and everything else on the server – back in March of 2013 – that 7 GiB was presented as a “hard limit,” as AWS’s documentation led me (and others, I am sure) to believe there were increased charges for expansion of EBS volumes for non-EBS-backed instances (such as this one, which by default is ephemeral).

Obviously, 7 GiB is not a hard limit, or really any limit at all. The current server config remains the same, meaning there are no changes a site visitor will notice right away. Due to recent updates to the Music section of the site (which involved a lot of expansion and nearly 1,5 GB of new content) as well as the auto-backup scripts I’ve written that are employed by various dæmons, the tiny root volume was simply no longer feasible.

To be quite frank, I never intended my website to become this big. Ever. Hell, I hardly expected most of it to work at all. But, as it’s been nearly two years since launch (with a grand total of five hard restarts in that time, resulting in roughly 99,82% uptime), I suppose now is as good a time as ever to lay out my future plans in such a way that the reader is convinced I’m serious about implementation!

I hope to accomplish this all within a month’s time.

  • Remove the whole “member profile” functionality. This was only ever intended to be experimental and serves absolutely no purpose whatsoever. Making a profile confers no benefits and indeed is not even really possible (and has not been possible since early 2014) seeing as I must personally approve all membership requests. Oh, also, the CSS sucks a lot and although the database backend and PHP auth stuff is cool, the whole system only really exists to test the image uploader. Yes, that’s right, there is an image uploader on my site. Didn’t know that? Exactly. Yes, it works. It works fine. But that’s all I needed from this application. 🙂
  • The same goes for the fora. There is no point in maintaining phpBB3 message boards at this time, and thus I plan to remove the functionality entirely. There was a point at which such a feature/asset was quite useful, but that point seems to have ended only a couple weeks after the creation of the site itself. With social media becoming more and more a part of our lives, I no longer see a distinct need for specialised message boards with the exception of specific discussion topics or subject matter that would ordinarily be censored or heavily monitored on clearnet social networks and the like. Also, the forum SQL backend is far too big and the twice-daily backups are absurdly stupid. Also, most of the people who register are spam bots. I get hundreds of e-mails per day requesting account approval. Thanks but no thanks.
  • Re-do the entire main page CSS to be more consistent with, for example, the Music portion of the site. Mostly, that’s because the Music pages are (at the time of writing) the most up-to-date portion of the site, and the main page could really do with some styles that aren’t so damn hideous. Plus, they don’t even scale properly. Only reason it looks good on my phone is I have a G3, which boasts a UHD display (~1,5x HD). Even on my Droid DNA, which shockingly still functions, my site looks awful – and that’s at full HD 1920×1080, too. Oops.

    Seriously. I have to. This is a t2.small. Nope. Not gonna work for me.

Migration of the whole server is likely a topic for another post, though. Stay tuned.

Til next time.


Skyrim Silliness

I’ve finally found a decent image gallery template. Yay!

Currently, there’s the gallery, but that’s using Juicebox. That’s nice and all, but it’s not the most lightweight option and unfortunately also not the most customizable. It looks good, though. That’s some of my own original works. Just some samples.

But at any rate, I made a Skyrim gallery now too. It’s a repository of silly Skyrim screenshots. A lot of those screenshots are also just scenes I thought were breathtakingly well-done, graphically-speaking.

For the record, I play on a machine with an NViDIA GT 650. It’s not the best, but it’s not crap either. That said, this is low detail. The original resolution of my screen is 1650×1050, but very few people have such resolution unless you’re using a native 1080p display, so I shrunk the full-size images just a tad in order to have them fit on the screen completely. XD

Check it out! I put new photos in on a fairly regular basis. 🙂


Flying through the aurora
Killing everybody ever.


More Recent Updates

This is just a quick post to catch you all up on what’s been going on here lately. Note that I’m not going to delve into any VSC-related stuff here, since that would take up far too much time and I have to get to my real-world job!

For one, CSS has been tweaked site-wide to be generally a lot nicer to look at. I also fixed some broken links, the existence of which is unacceptable to begin with!

In some more technical / administrative news, I moved our nameservers entirely to Amazon Route 53, which is great in so many ways – namely, it allows administration of the entire server and everything to do with it with one single login to the AWS console, which is great for people like me who prefer to have everything in one place.

An upshot of this is that “jaska.me” will no longer simply redirect to “www.jaska.me,” which doesn’t seem like a huge deal until you realise that previously, entering “jaska.me/any_other_page/on_the/site,” no matter how nested, would also redirect to “www.jaska.me,” which is of course just the index. So that’s fixed now.

In other news, I’m working on adding at least a gallery containing some samples of my photography. Currently, I’m using JuiceBox, which is what you get when searching for “HTML5 image gallery.” I’m sick of the JavaScript ones I find that look great in a browser but, upon trying to edit them, you realise they are essentially “DHTML” and occasionally require libraries like JQuery 1,2 (we’re on 2,0b now), so…yeah.

Not being that great of a web programmer just yet, I have resigned myself to using pre-made templates for more intensive stuff. Now, granted, I did code 90% of everything else on the site from scratch, including all the PHP and interactive JS crap for the VSC pages, and anything that has to do with JSONs…*shudder*

Again, just a short update. More later, I hope.

Automatic Database Updates

Today (technically), I implemented a set of scripts that will be called at regular intervals in order to keep the MySQL backend to the “interactive alch table” up-to-date!

Originally, the plan was to write a pure C program to do this, and automate it through cron. Unfortunately, preliminary research showed it would in fact have to be written in C++, due to the fact the official MySQL C++ driver is written in, well, C++ (indeed, as is MySQL itself). Difficulty compiling C/C++ JSON parsing libraries – or even finding ones that would compile – simply added to the frustration.

So, instead, I wrote two PHP scripts with limited dependencies and purely ephemeral resources, which will reduce read/write time dramatically. These are automated through a 4-line shell script executed every day at 2000 EST, or 0000 GMT, which is when the master database from which we draw is actually updated!

Additionally, it would appear that (embarrassingly) php5-curl was not installed on my server…! What? How did I miss that? How did anyone miss that?

Remember: debug output is your friend!

Next: updating the VSC landing page to reflect these changes, and updating the table interface to be more, well, interactive. 😉

Back Online, Almost


First, I’d like to thank all of you who brought to my attention (over the last month or so) the problems experienced by the site. First it was the forums, and then it was the databases, and then all of a sudden the entire system was inaccessible.

I talked with an Amazon CS rep briefly; he pointed at the consistently maxed-out CPU usage as the culprit, which makes sense enough, so as of now the entirety of jaska.me is running on a single 2,66GHz Xeon E5430 with 1,5GB of RAM. This is not very much computing power compared to what’s available, but consider that 90% of the site’s content is handled on a per-request basis (that is, there is no overhead) and of that amount, about half of it is data-driven and dynamically generated (read: PHP scripts, most of which rely entirely on live MySQL queries). So, we’re fine.

Note: The mail server (mail.jaska.me) is currently broken. Not offline, but broken! I messed up several crucial steps of configuration (that seems to be the case, anyway) and now have no access to any mailboxes. The webmail is completely messed up and unusable, but local mail is still functional. To the best of my knowledge, PostFix is still sending/receiving mail as normal, but it is NOT likely to be accepted by the recipient since it will probably appear to be coming from “root@localhost,” which is pretty sketchy looking.

The forums do work, but nobody posts on them for some reason. I rolled back the MySQL backend to about 19 March, which deleted 850+ users and over 4000 posts (all spam, if you didn’t already guess). User registration e-mails now get dumped to an e-mail account I will rarely check. Your best bet is to contact me and I will pre-register (or completely register) an account FOR you.

User registration and profiles also work. This has actually been the case for awhile, and the only updates I have made this past week were cosmetic re-touches or functionality tweaks. Currently, there is no way to fill out your own profile. Working on it. Sorry.

The interactive alch table has been drastically overhauled, but again, mostly cosmetically. More information is now displayed, and there is now (finally) the option to view adjusted profits should you be buying nature runes or pure essence. In the top left corner, you will see the database version in use. This is accurate. It is not, however, always actually the most recent database. This is part of a new automation overhaul I’m working on with Ivan and Nik…theoretically. There will be more posts on this in the future.

I will possibly be moving the webmail to another server altogether, as I can simply have the domain “mail.jaska.me” direct to another IP (currently, I have two allocated, but am using only one). The MX record exists for “jaska.me,” not the IP itself. That should be pretty self-explanatory. Why pay to maintain records associated with resources that are inherently ephemeral?

One last thing  – currently, our TCP I/O is pretty normal, and we transfer less than the limit imposed. I have no objections to the minimal fees associated with additional GB transfers…but I do have a problem with storage! Just yesterday, I deleted 52 GB of EBS volumes that were either unused, unnamed, or both! This costs me money, and it’s stupid to keep them around – especially when you consider that the majority of our old volumes are vestigial installs and outdated BOINC deployments!

I’m currently working on pushing regular (hourly) database backups to S3 instead of Dropbox, since our automatic database backup repo there is growing at the rate of about 75MB/day…which will fill up Dropbox much more easily than it will S3; S3 can in turn be fairly easily migrated to Glacier, which I have plans to begin utilizing anyway.

All this will be discussed in greater detail down the road.

Just wanted to let you know that we are back (and have been for about a week, sorry). If you notice any glaring (or minor) errors or bugs anywhere on the site, please e-mail nullcoding at live dot com with jaska.me somewhere in the subject line. I have yet to set up (or, indeed, fully design or begin developing) a bug-reporting system, which will come in handy in the near future.

Til next time. 🙂