Eclipse Darkest Dark… finally!

You might remember, about a year ago I’ve posted about my mission to make Eclipse’s dark theme actually usable in Windows… Well, turns out I wasn’t the only one, who decided to put some effort into this. (Quite a shocker, huh?!) Apparently a year later something called the “Darkest Dark” theme for Eclipse has appeared in the Eclipse Marketplace and has been quite a buzz since then. I don’t really have too much to say here – these guys did what I intended, so I think my work on this subject is done. 🙂 Installation is easy and hack-free and for me, this theme worked quite well so far. All you need to do is opening up Eclipse Marketplace and install the theme from there:

Eclipse Darkest Dark Theme: No hacks required!
Eclipse Darkest Dark Theme: No hacks required!

It’ll require a restart and basically that’s it! Just for comparison’s sake, here’s a screenshot of the default Eclipse theme.

Before installation...
Before installation...

The last screen shows how your ide will look after installed the theme. It’s fantastic imho and you don’t even need to configure anything. From what I’ve seen so far, the theme gets updates quite regularly, so all I can say is kudos to these guys!

... and after installation!
... and after installation!

Posted in iNi Blog Tagged with: , , ,

… and then, stuff happened.

Yep, obviously I’ve failed my own blogging challenge. Oh, well. Nevertheless, even trying it made me write more entries than i did in the last three years alltogether. So either way, I’m satisfied. So, what happened? Stuff… umm, yea, obviously. Just a few things from the last few days…

I’ve been asked to do an internal training for a new developer team of my current employer, so I’m preparing for that. It’s about JaCoCo, a java code coverage tool that I’ve used some three years ago and apparently almost noone else ever heard of 😀 So now I’m busy doing presentation slides and such. Unfortunately, I’m not allowed to share the slides here because they are being made based on company templates and whatnot, therefore in the end, they are property of my employer 🙁 This doesn’t mean, of course, I can’t share the knowledge itself, in another format at some point 😉

Then… I’ve been invited to the closed beta of… oh well, NDA rules, I can’t say, which game. Let’s just say that it’s the newest iteration of the arena shooter, that is not Unreal Tournament 😉 Aaaand that’s all i can hint. The point is, in the little free time I had, I was busy testing. Yeah, it’s a shitty work, but someone must do it, eh?

Hardware upgrades… after days and days of lamentation, I’ve decided to not upgrade to AMD Ryzen yet, although the temptation is almost unbearable! Turned out, my wife doesn’t really utilize the Intel i5 6600k I bought her last year, so I’ve decided to swap her mobo + cpu + ram combo with my FX-8350 system, just for my selfish reason of experimenting with overclocking the 6600k. Umm, yeah, apparently I’ve been watching way too much of Jayztwocents and Paul’s Hardware, dammit. For the first run, here’s how benchmarks turned out:


Fun fact: the FX-8350 already has a slight overclock, but not much, since I’ve used it for long video encoding tasks and didn’t want to risk crashing it, etc. The CoolerMaster Hyper 212 Evo is a good cooler, but still an air cooler… Another fun fact: both CPUs have the above mentioned cooler, so it’ll be interesting to see, how much overclock the intel can take before it starts to heat up my mancave. Either way, 6600k overclock incoming! 🙂

Finally, last, but not least, finally I’m on vacation, first time this year. And it’s Spring, so I’ll spend a considerable amount of time outside with the children, in the garden. 🙂 They are currently at my wife’s parents for the weekend, along with my wife, so the whole house is mine for… man stuff!! Read: booze, weed and lewd behavior. Nah, just kidding obviusly. I mean some ice cold beer and time to finally fix broken things, finish half-done weird DIY stuff I’ve made, clean up network cable mess and to banish spiders from my garage, which thanks to them currently looks like Azjol-Nerub from World of Warcraft…

Posted in iNi Blog Tagged with: , , , ,

Geek with children

Seems like it’s time to dedicate a blog entry to my two little girls. Why? Because when I talk about them, most people – except those, who already have children – instantly think that just because the girls take a considerable amount of my free time, are ultimately killing the geek guy that’s me and instead, turn me into somebody whose only purpose is to change diapers and wake up in the night to soothe crying kids. Yes, they need a lot of time, a lot of patience. You could even say blood, sweat and tears or something dramatic as well. However, they are unbelievably fun at the same time! Ok, ok… let me explain what I personally mean by “fun” in this context.

To be honest, even four or five years ago I couldn’t imagine myself as a father. I was living the life I wanted – good job, own flat, car, beautiful wife, lot of friends, parties and it was fun. I could stay in front of my PC as much as I’ve wanted, I’ve spent nights with coding or gaming together with Ildi (that’s my wife’s name, for those who don’t know it yet 🙂 ). And then, one day, she told me I’m going to be a father… and about nine months later this little creature arrived to our life. We named her Nikolett or Niki for short. She was crying a lot, eating, pooping – you know, baby stuff. She made our life a hundred time more complicated, stole our days, our nights, made me say “No thanks.” to nine out of ten party invitations, eventually made both of us give up on playing World of Warcraft, etc.

Now, about three and a half year later looking back I see how Niki has changed our life and I don’t think I regret anything! I’ve sold our flat and took out a loan to buy a house with a nice, cozy garden, because I wanted Niki to have a safe place to be outside and play a lot. Obviously unless you’re a millionaire, having a house means you’ll have to do maintenance stuff as well. As a side effect of this, I learned about a side of me I didn’t even know it existed – turns out I’m pretty okay with tools, be it gardening or using wood to build furniture. Last summer I bought a lot of various tools I’ve needed and this summer I’m planning to finish my own little workshop. As I’ve noticed, doing something like this is pretty good – not just for your health, because it makes you do physical activities, but apparently “no-brainer” physical works clears out my mind. Spending a few hours in the garden clears my mind and when I sit back to my PC, I’m full of inspiration and energy.

Now that my other daughter has born, I have even less free time, but having two children is another adventure I needed to experience. Seeing them getting to know each other, becoming the best friends (even though the little on is only six months old, she clearly shows how much she enjoys her sister’s company), having a lot of fun with them is just so damn relaxing, that it feels like nothing can make me angry or nervous now.

So to sum things up – they took some of my free time (mostly from gaming and partying) and instead, made me laugh more, move more, eat healthily, sleep more (damn, those little witches have so much energy I can barely keep up! 😀 ), drink less alcohol, be more patient, be more inspired, learn new things about myself and my wife, etc. From whatever angle I’m seeing this, it’s a trade that I’ll never regret! Oh, and yeah, sometimes they make you forget about blogging… 🙂

Aaaaannd… here comes the next part: they look like to you like you were an idol or something. They love you and love whatever you do. They want to do the things you do. They want to be like you. Oh well, who am I to stop it? 🙂 Just take a look below… 😀 PC Master Race for life! 😀

Niki watching Jayztwocents building a PC with his daughter
Niki watching Jayztwocents building a PC with his daughter

Damn, I can’t wait to help her build her first PC! 😀

Posted in iNi Blog Tagged with: , ,

CloudFlare ON

Apparently it was simpler than i thought – now my site is running with CloudFlare! One unexpected and quite useful side effect of this is that suddenly I see detailed metrics about the site – unique visitors, percentage of cached content compared to uncached (and by “cached” I mean content cached by CloudFlare). Just a few examples of the statistics available:

Request statistics
Request statistics
Unique visitors
Unique visitors

What is even funnier is that apparently CloudFlare takes some steps against stopping certain attacks to your site, and you can also set it up to stop hotlinking of your images, etc.

By taking a look on these stats, I’ve just realized, how badly the site stands – oh well, I made two posts during the last two years, what did I expect? Also, by turning the site into an English one, I’ll probably lose a few of my readers (if there’s anyone left). I’ll need to find new ones, if I want the site to mean something.

How? Here comes the topic I’ve hated so far… It’s called SEO.

Obviously, I’ll have to add more content too. New articles incoming! 😉

Posted in iNi Blog Tagged with: , , , ,

Did I just fail my own challange?

Yes, I’m talking about the “30 day blogging challenge” I made up for myself. Well, technically yes…. aaaaand… no! Yes, because I did not write a blog entry yesterday and no, because regardless, I’ve spent a considerable percent of my limited free time on the website. So, what did I do? Well, first, I realized that the site is slooooowww…. And I mean really, crappy, slow. First, I thought it’s my ISP. Next, I tried blaming my hoster. I thought to myself “Hey, I’m running WordPress, which is the No.1 CMS system of the world, so my site can’t be slow, can it?” Well, it turned out, I was wrong – the site itself was slow. I’ve executed Google’s Site Speed Insights on the site and guess what I’ve found? A handful of issues to fix, all of them related to loading times, caching and so on. It turned out after all, that a vanilla WordPress installation is not optimized out of the box – not even a bit. (Well, maybe a bit… 🙂 ) Anyways, out of 100 points (where 100 means you’ve optimized the bejesus out of your site) iNi scored 21 points!

First, I’ve installed a plugin for caching – it’s called W3 Total Cache. Out of the box, it is configured quite nicely, but you can tweak it even further. Basically using this plugin has boosted my score up to around 40. Obviously I wasn’t satisfied with this, so I continued to find out what else could I tweak? At this point I’ve ended up with gzip compression – this is a new method you can leverage for having all the content sent to the browsers as gzip-compressed data, then be uncompressed on the fly by your browser. Needless to say this spares bandwidth and speeds up the website considerably. This had to be enabled on server side, using the cPanel interface provided by my hoster, DotRoll (these guys do an excellent service btw!). Compression bumped the site speed up a bit, but not much as I expected. Oh well… What next?

I’ve found out that I can tweak thumbnail generation for the gallery plugin I’m using to display images: NextGen Gallery. You can basically set how much the thumbnails should be compressed – just like you can set this in Photoshop, Paint.Net, etc. during saving JPEG images. After setting this to 70% instead of the default 100% (no compression), site speed bumped to 55+. Still slow, but damn, it’s almost 2.5x faster than it was!

And finally, I’ve ended up with bringing in the big guns – starting to use a CDN, in my case CloudFlare. Basically a CDN is a cache server – you route your site’s traffic over a CDN and it caches as much as it can from the site. CDNs are usually way faster than your own server, so long story short, you end up with a faster site. In my case this thing has just started, so currently CloudFlare only saves me around 30% bandwith (which is already a lot, but with time i’m expecting more!), so I’ll revisit this topic with the results after a few days of running my CDN…

Posted in iNi Blog Tagged with: , , , , ,

Hacky New Year!

I feel I’ll get back to the video topic I’ve started with the previous post, but this time I want to share something I wanted to for some time now – to be more precise, since January. So yeah, in January my home media server was hacked. Nothing serious, nothing has been destroyed or stolen, it was just a bot that bruteforced its way into the server and tried to install a copy of itself – a typical move if you want to have a botnet that grows on its own. This little fella, however, put me on the devops path. I was always somewhat curious about network stuff and as a backend specialist I often worked together with devops and sysadmin folks. First, i was furious – How the hell could this happen to me?!?! I’ve been working with Linux in the last 10+ years, come on WTF?! Then I realized that I’ve made two crucial mistakes – during configuring the services on the machine, I’ve left a user responsible for running a service to exist with its default password and guess what, I’ve left the SSH service vulnerable by letting users log in from anywhere, using a single username+password combination, over the default port 22. You don’t even have to be a sysadmin to know how foolish these were… So here’s something that became my mantra since January when it comes to Linux:

  • Change all default passwords
  • Disable password-based login. Use SSH key pairs!
  • Change the default SSH port.

In January, this looked pretty hardcore to me. It felt like “Wow, I’m safe now!” However now, three months later I’ve already laugh at that statement. As I’ve said, this incident put me on the devops path and luckily enough for me, I have a devops colleague, who is happy to share his knowledge with others. I’ve learned a buttload of things from him since then and also, I’ve extended my own experience extensively via experimenting. (Geez, what’s with all the ex’s in this last sentence??? 😀 ) So, here are a few things I added to the above list since then:

  • Use fail2ban to get rid of bruteforce attempts. This little tool enables you to disable login attempts for a given IP/user after a configured amount of failed retries.
  • Set up a basic firewall on the machine. If you don’t want to mess around a lot, use UFW (Uncomplicated FireWall). It can be set up in minutes.
  • Never use your media server or smart home center as your primary entry point to your home network. Use a login server – this is usually referred as a gateway or a bastion. If you’re on the poor side, use a Raspberry Pi or an old PC as the login server and have your sensitive data on a separate machine. If your login server gets compromised, you can wipe it clean safely without losing data. Having two separate machines with separate users, etc. also adds another layer of security.
  • Never use a Windows PC as your primary entry point either. OSes like Windows 10 are not meant for this and you’ve to fiddle around a lot with security settings unnecessarily. Use Linux for this. Period.
  • If you’re running network services on your login server that need configuring, consider using Docker. It adds another layer of security and in case the machine is compromised, you don’t have to re-do everything from scratch – you can just restore stuff from Docker images.
  • For setting up stuff you need to do each time to install a Linux server (like configuring SSH access, Samba, etc) consider using Ansible. It’s an easy tool developed for automatic provisioning (software installation and configuration) on servers. Also, you can use it to create “clones” of your server or to set up a cluster of multiple, similar servers.
  • Set up a notification system. Considering that most people nowadays have smartphones with email clients installed on them, configuring an email sending mechanism for “oh crap!” situations on your server yields you instant notifications about hack attempts. Fail2ban is prepared for sending emails by default for example. Setting up email sending can be a bit tricky, but for example with a Gmail account, you can do it freely and safely. Unfortunately you’ll have to Google for this, depending on the Linux distro you use.
  • Hide your server behind your router and open ports only that are necessary. Also, do a strict port forward – e.g. the SSH port you’ve opened up should be routed only to your login server, and even if you’re running SSH service on other machines, don’t let them accessible from the outside! If you’re running a web server, use your login server as a proxy as well.

There’s still a lot to learn and I’m pretty sure that a real, experienced hacker could cut through my defenses like a knife through butter, yet it feels exciting and a real achievement. And as I said, this whole thing put me on the devops path. I’m dead serious – I’m already preparing for my first AWS (Amazon Web Services) certification. (This worth another post i guess…)

Posted in iNi Blog Tagged with: , , ,

I want to vlog badly, but…

… i suck with making videos. No, seriously. I already created a ton of family videos and from time to time i need to realize i screw up something. It’s either the focus or the lighting. If neither, it’s the sound. I didn’t really gave up on this, but with seriously limited free time, it’s a hard job to experiment and learn. The funny thing is that there are a ton of tutorials out there about how to make proper videos and many of them state stuff like “even your mobile phone can do it”, etc. but the reality is, it’s not that easy. No at all. Even if you know the theory, something will be screwed up – in most cases the lighting/shadows, unless you move around the house with a set of softboxes attached to your chest pointing towards your face or something 😀

Why I am talking about this? Oh well, it’s a long story, but turned out that after my first child was born I really became a video nut. Right to the point where i realized that my semi-professional Canon digital camera is rotting on a shelf, because I stopped making photos. The next idea was obviously that I should turn the site into a Youtube channel or something. But apparently I just can’t do it. Yet. 😉

Let’s assume for a second that I get over my idiotism and happen to make proper videos without unwanted shadows, grains, shaky hands, whatever. I still need a proper man-cave… erm… I mean study room, where the kids can’t just randomly enter screaming and shouting, forcing me to re-record the current video. At this point this is missing too. Oh well, #FirstWorldProblems, right? 🙂

Anyway, back to videos for a second… If any of the readers happen to be experienced with video cameras, would you be so kind to recommend me something that does not cost a fortune, provides decent image quality and enables me to attach an external microphone? I don’t really expect too many answers for this, but thanks in advance! 🙂

Posted in iNi Blog Tagged with: ,

My most successful private project?

I don’t even know how many years ago, out of pure fury and rage, an idea was born… Nah, not that idea, this one wasn’t iNSANE at all. I’d rather call it desperate. So I was busy converting some videos and I was already nearly fed up one way or another with all the free converter tools available. One contained malware, another contained loads of ads. Then another one was restricted to one output format. Another one looked ok, but you couldn’t save your settings and had to reconfigure your conversion parameters every time. The next one was slow as a pregnant sloth. And so on… So i ended up with ffmpeg, which is a command line tool and such as, not really user friendly. This was the point when i decided to implement a frontend for ffmpeg. I wanted something that is user friendly and can easily run my favorite ffmpeg commands on a batch of files at once. This is what I’ve ended up with:

iNSANE EasyFF v0.3
iNSANE EasyFF v0.3 - the current version

You can create command templates, save them, load a group of videos and execute the commands on them. Including the graphics (which are taken from some public domain source, then altered to my liking), it was an afternoon’s worth of effort, no big deal. So, why do I call this little tool my most successful project yet? Well, considering how many hours it has been used, I’d say, it has something like a 100:1 use:development time ratio, which is pretty cool, given that currently i’m the only one who uses it. 🙂 Currently the source code is in a hacked-together state and looks so bad, I just don’t want to show it yet, but after some cleanup, I decided to share it on GitHub under LGPL license. Oh, and I have some new features in mind…

Anyways, for one, I’ll definitely keep using it, because thanks to my two little girls and my lovely wife, there are always plenty of videos to convert. 😉

Posted in iNi Blog Tagged with: , , ,

Small site – big changes

This post is just a quickie. Caffeine’s clearing out of my system and I still have a couple of Overwatch matches to play (that’s how I roll nowadays: when i can’t drink any more coffee, I turn to adrenaline instead!). No, seriously – I just wanted share a few things which I’m planning to unfold in the upcoming days.

  1. The site will be in English from now on – this time, for good. For all those, who raised an eyebrow on this, i have one secret to tell: if you limit yourself to Hungarian sites, you’ll miss out on things. A lot of thing. Big things. Sorry folks, this is my decision and it’s permanent. Love it or hate it.
  2. The hashmark’d numbers from the post titles are gone – they felt cool, they felt geeky, now they have served their time and it’s time to wave goodbye to them.
  3. Site revamp – hell, it needs one. The style is crappy, the content is old, the archive is half-done (more on this later), the speed is awkward at best. Also, I’ve reached a point where I actually start to use this site for something normal or just dump the whole damn thing and let it rot in peace, archived to my cloud storage. 🙂
  4. 30 day blogging challenge. This is the real deal. I’ve decided that starting from 1st of April, for a single month at least, I’ll write a post about something I feel post-worthy. And I mean posts, not Tweets. (Well, WordPress will generate tweets for the posts anyway, but that’s another story.) There we go, consider this a commitment. Like the page, follow me on Twitter and make me want to do this. (Oh, what a load of commercialized crap…)
  5. GitHub – another important thing. I have some code to share, some stories to tell. In the past, I made tutorials centered around a lot of bla-bla-bla and with some snippets of code. Even though I love writing tutorials, this always kept me unhappy in a way and after some time, it made me itch. I literally felt writing articles with all that text as a burden. Now i want to share CODE with less bla-bla-bla. And for this, I’ll be using GitHub, not the crappy Downloads menu we have in here. Coming soon.

One more thing: transforming stuff takes time, so the site will be in this half-English state for a while. The old posts probably won’t be translated at all.

Bear with me. Stay with me. See you soon.

Posted in iNi Blog Tagged with: ,

#0400 – Szent küldetésen…

Huhh, majdnem két év telt el a legutóbbi bejegyzés óta. Rohan az idő. Sok minden történt azóta, de nem erőltetek magánéleti dolgokat senkire 🙂 Lényeg a lényeg, hogy még mélyebbre másztam azóta a Javas dolgokba és az OpenGL meg a hasonlók helyett mostanában elég rendesen beszippantottak olyan dolgok, mint az IoT, a NoSQL, a Big Data, a Cloud meg hasonlók. Emellett az erős új főirány mellett megmaradt pár oldalirány is – egyenlőre még köztük a 3D-vel. Más kérdés, hogy ez a post most abszolút nem az OpenGL-ről fog szólni…

Na de mi ez a szent küldetés? Nos, aki Java-zik, az egy idő után eljut oda, hogy meg kell hoznia egy fontos (khmm) döntést – Eclipse vs. IntelliJ. Nos, én az előbb mellett vagyok, mert tetszik, hogy bármit meg tudok vele csinálni gyakorlatilag, szénné bírom customizálni, hackelni. Egy bajom van vele – hogy a sötét témája ronda Windows-on. Tudom #FirstWorldProblems, meg ilyesmi, de akkor is irritál. 😛 Nos, konkrétan erre gondolok:

Arggh! A szemem...

Aaargghh! :O Mi az a scrollbar?? Komolyan? Nos, hogy teljes legyen az igazság, ez már egy pimpolt verzió, kapaszkodjatok meg! Mondom, mi változott, mire így néz ki a cucc:

  • Sajna az Eclipse alaból tök világos témával jön, ami bántja az ember szemét – szerencsére ezt át lehet állítani magában az Eclipse-ben a preferences alatt egy sötétebbre.
  • A következő, hogy az editornak is adjunk valami színvilágot, mert a sötét témára átállva nehézkesen olvasható a kód. Ehhez kell az Eclipse Color Theme plugin innen – a használata marha egyszerű, az editorok színvilágát mindenki lője be ízlése szerint.
  • By default ott világít fenn a menüsor, de azt ki lehet kapcsolni hála az égnek magában az Eclipse-ben elég könnyen (perspective customization). Ez opcionális, de engem zavart, hogy minden más sötét, ez meg világos.
  • Aztán ott az ablakkeret, ami csak a helyet veszi el az embertől, s tök felesleges egy dual monitoros rendszerben. Erre van egy plugin, update site itt, aminek a telepítése után az Alt-F11 fullscreenre teszi az IDE felületét. Yay!
  • Végezetül még mindig ott az az ordenáré scrollbar minden view-ban… Erre is van egy plugin, ami FlatScrollbar névre hallgat (update site itt) és a view-kban ilyenre cseréli a Windows gagyi scrollbarját:

    Hopp, ez jól néz ki - FlatScrollbar az Outline view-n!

Na, ez már tök jó, így jutottam oda, ahol az első kép van – és itt a történet vége, ha szépen, szabályosan akarunk játszani. Ugyanis az editorokra nem működik a FlatScrollbar. Daaaamn… Hát akkor – ha már az Eclipse opensource – jöjjön egy kis hackelés! A cél az, hogy vagy lecseréjük, vagy legrosszabb esetben eltűntessük a Windows világító scrollbarjait.

Nem mászok bele nagyon az Eclipse-be, a hozzá tartozó GUI alapját adó SWT-be, meg hasonlókba – aki akar, olvasson utána! Egyszerűen csak leírom, hogy mit hackeltem meg, lehetőleg úgy, hogy egy junior is utánam tudja csinálni. Nos, az SWT gyakorlatilag egy jar file az Eclipse plugins alkönyvtárában, és valami org.eclipse.swt.win32.win32.x86_64..jar néven fut. Gyakorlatilag ebben kell lecserelnünk egyetlen classt, abba is csak két sort kell beszúrni. Tehát, kell egy új java project, oda bevágni ezt a jart librarynak, majd annak az egy classnak (név szerint StyledText) a forráskódját kell begyűjteni a netről – innen! Hogy Neked, kedves olvasó, konkrétan melyik verzióra lesz szükséged, az rohadtul nem egzakt sajna – függ attól, hogy milyen Eclipse verziód van, mikor olvasod ezt a postot, etc. Nekem konkrétan ez a verzió kellett Eclipse Mars.2-höz (4.5.2). Pár próbálkozásba bele fog telni, míg megtalálod a megfelelő verziót – gyakorlatilag a legújabbtól elindulsz visszafele addig, amíg nem találsz egy olyat, ami fordul abban a java projectben, amihez hozzáadtad az SWT-s jart libraryként. Ha ez megvan, jön maga a hack – kód sor kód kell a setScrollBars(boolean vertical) függvénybe:

Tudom, ronda és brutális, de teszi a dolgát...

A kód a könnyebb copy-paste kedvéért:

if (verticalBar != null) verticalBar.setVisible(false);
if (horizontalBar != null) horizontalBar.setVisible(false);

Save és ha így is lefordult és megvan a class file, onnantól egyszerű a dolog – Eclipseből kilépni, belemásolni a class file-t az eredeti jarba az Eclipse/plugins alatt, újraindítani az Eclipse-et és jó lesz. Végeredményben valami ilyet kell látnunk:

Scrollbarok elrejtve ;)

Egy dologra még mindig nem válaszoltam – tehát milyen szent küldetésről van itt szó? Hát arról, hogy habár ezzel a hack-kel el lehet lenni ideig-óráig (pontosabban a következő Eclipse update-ig, amikor is újra meg kell hackelni az új SWT jart!), én szeretném, ha FlatScrollbar lenne az editorokban is. Fogalmam sincs, hogy ennek hogy fogok nekiállni (illetve azt még sejtem 🙂 ), meg hogy lesz-e ebből valami, de a motiváció adott, hiszen senki sem szeret egy ronda IDE-vel dolgozni! 🙂

Posted in iNi Blog Tagged with: , , ,

What the …

A die hard coder's blog about basically anything slightly related to programming, gaming, IT, etc. Stuff I've experienced, opinions and rants, written in mostly a caffeine-happy state of mind. Oh, and some articles too...

The Archives