Tuesday, 10 January 2017

IPv4 Subnetting

Let's talk about some IP subnetting! What is IP subnetting? To my understanding, it's a method to segment your network so you can use it more efficiently. Why do we need to use it efficiently? Because now IPv4 is becoming scarce, with lots of device that is able to connect to the internet, we need more than what IPv4 provided. The switch to IPv6 is going to happen, but it's a slow process to make sure everything is working when IPv6 is goes public and everyone and their grandparents, pets and what so ever can connect to the Internet easily. So what can we do to the current IPv4? We subnet it! What does it mean? It means we slice up the network reeeeaaaalll goooooood. Alright, before we start cutting stuff to pieces, we need to find how big we want the pieces to be, so we're gonna talk about how to find the IP range! Or maybe how to measure how big the pieces we want it to be :D

Say, you have an IP that looks like this: 192.168.1.3/30 , what in the world does that mean?! The first part before / should be familiar with you, that's an IP address, even if you aren't an engineer you should've seen it at least once in a movie or some error while browsing int the internet. Now the number 30, which is after the /, is not a part of the IP. "*GASP* WHAT IS THAT MAGIC NUMBER?! WHAT DOES IT DO?!" Relax, that's a subnet mask. Before, I mentioned that we need to know how big the pieces that we want to cut right? Well, that's the function of the subnet mask! So, how do we ACTUALLY slice up the network rreeeeeeaaaaaalll goooood? Now let's look at this!

192.168.1.3 = 1100 0000.1010 1000.0000 0001.0000 0011

30 = 1111 1111.1111 1111.1111 1111.1111 1100

---------------------------------------- AND

1100 0000.1010 1000.0000 0001.0000 0000 = 192.168.1.0

"Wow! The fuck is that mean?!" Hush, friend, let's dissect it step by step. First, you need to turn both the IP address and the subnet mask into binary numbers, and then you do an AND operation with both of them. You do know how to do the AND operation right? Nice! The result will give you the subnet of 192.168.1.3, so that IP address belongs to the subnet 192.168.1.0.

Okay so we know what the subnet is, but how do we know how big that piece of the subnet is? Alright, again, to my understanding, the subnet is also the first IP address in the subnet. So we got the first IP address of the subnet, and an Xth IP address of the subnet. Now, remember I said the subnet mask helps you know how big the piece is? Now it's time to use it! If you see the binary number of the subnet mask, you'll see there's a two zeros in it. That's what you use to find out how big the subnet piece is! Or the range of host that can be used in the subnet. So there're only two zeros right? What is the result of 2^2? Four right? Well that means there're four hosts in the subnet! So if you use other subnet mask, just turn them into binary numbers, then find how many zeroes you have, then power it to two (ex: 2^x of zeroes). But in our example, only two can only be used as a host for user.

So why only two host can be used? There's a thing called Broadcast IP address and Network IP address. What are those? Well broadcast address is the IP address that is used if you want to send something to all the host in the subnet, and the network IP address is the identifier for the network. Is this easy enough to understand? Well if not, I found some nice reference that can explain these two terms better than me here. But how do we know which one is the Broadcast IP address and which one the Network IP address? If you're using the power method, it's easy! The first IP address of the range is the Network IP address, and the last IP address of the range is the broadcast address. Simple right?

Alright, that is all that we need to subnet a network. A way to find the IP hosts range, broadcast IP address and network IP address then you should be good. All of this is good to plan the subnet on paper first, you still need to configure the real network in the end. Oh and your router at home won't be able to do network subnetting, because it's mostly used as access point to the outside network and can't handle several network in it. So either train with packet tracer or GNS3, but be mindful since there'll be some problem you might meet, or buy a REAL router which can handle lots of network! I totally not recommend this though, that shit is very expensive and tends to be marketed towards business. So, next up, I'll try to write a tutorial about subnetting in packet tracer, since I actually haven't succeed yet with subnetting in packet tracer too. So we're both gonna learn something new :D

Well then, I guess that's about all I can share today. Here's the reference for this tutorial, it's actually some summary from the reference, but I try to make it understandable to people who is not familiar with IT terms. And as always, this just my understanding about IP subnetting, I could be wrong in some part, so if you do find something wrong, I'm happy to correct it. Because knowledge is meant to be shared :). Then till next time :D

Last week of the Xsis bootcamp

Welp, I didn't expect to write about this stuff this late, but whatever.

Alright, last time I was busy with .Net bootcamp by Xsis, which in the second week I learned about SQL. At first, I thought SQL is something that's very convoluted, what with the test to get in the bootcamp wants you to join two table and show a certain value, but to my surprise, it was quite easy actually. We just need to select a few data and join them together, which is kinda fun but I always forgot we're not using CLI, but Windows server 2012, so the way to run it is not by pressing enter. Maybe I'll write about it sometimes, but probably I'm going to use MySQL for it, just because I miss using a terminal.

Now I did mention there's a test to pass if I want to continue the training right? Well that test took place in the 2nd of January. Let me tell you something, it took us by surprise. First, we got theory, which doesn't have lots of points but if you actually understand how to code, you're supposedly automatically understand it. Next, we got SQL query test, this too is a breeze since all of the materials is already covered in the bootcamp. Now, the logic test is something else, there're a few that is easy enough to do but the other is maybe hard. The test is open book, which mean we can use the code from the bootcamp to help doing the test. But unfortunately, I didn't pass the test.

Alright, alright, settle down, lemme tell you a few things before you morons jumps into conclusions. First, it's a fact that I didn't pass the test, whatever I say next could be seen as justification but it may shed some light as to why I didn't pass the test, so for god sake be a smart reader and read this paragraph, I know people like to take things out of context. Secondly, it was not because I didn't understand or not good with the logic, but rather I spent half of the time just staring at test thinking "where should I apply next?" After the afternoon break, the test actually became clear to me, then I start doing the easiest one, but neglect half of it. I don't know why I did what I did but that's what happen, do I feel regret now? A bit but I also feel a bit relieved. Finally, this maybe more of a justification of what I did but I felt that my parents don't actually approve me doing this bootcamp. Why? Because my father mostly asked me do I feel comfortable while in training, this maybe just my rebellious feeling but still it bugs me a lot. Not to mention, the first week of bootcamp I was lamenting of how this'll block my way to become a network engineer. Silly, I know but by the end of the week, I was snap out of it. I thought, maybe if I'm lucky, I'll get a project as a system administrator, or with the knowledge I got, I might get into network programming and maybe network security or something, the possibility is only limited by my imagination.

In conclusion...

I didn't pass the test, but they offer me a job in another division and a chance to redo the bootcamp in the next month. But for the time being, I didn't take the job opportunity because I need to consult with my parent first. I know, I know, another justification to run away but I do feel the need to consult this kind of stuff first with my parent. I know I'm not close with my parent but they still have the rights to lead me, and it's not a bad idea to have a second opinion too. And to quote what the head teacher of the bootcamp said, "There are people who just need two weeks to be trained, but there are also some that needs more than two weeks to be trained".

So what am I going to do now? Looking for job is probably what I will do most of the time, but being in the bootcamp actually rekindle my will to learn more. So, I guess I'm going to fulfill the promise of writing tutorials in this blog. "Yay! This fucking blog is not just some faggot whining anymore!" Yeah, sure, pop the wine, I'm gonna start doing some worthy stuff in this blog, not just me whining about life.

Enough about the whining and celebration, in the end, what do I get out of the bootcamp? A lot of things. I felt a bit matured after the bootcamp, when before I only see several ways to reach my goal, but now I see more ways to reach my goal. Not to mention, the C# training is also very helpful in shaping my mind about programming, and I got a new toy (read: C#) to play with! It is a very unique and useful experience, which I highly recommend if you got the stomach for it. Keep in mind, in bootcamp, all your life will be about programming, programming, programming, and programming, so if you're not up to it, I suggest you look for other way

In short, I got more than what I bargain for. So thank you very much for P.T. Xsis for the chance that you've given to me, and maybe if I still have the will, I'll retry the bootcamp next month. That's all for now, expect a new tutorial later. Bye!

Sunday, 25 December 2016

First week in .Net Software Engineer Bootcamp at PT Xsis

So this week I'm actually busy being in a software engineer bootcamp at PT Xsis. At first, I tried my luck by applying to them, and honestly, I thought I won't get in. But, luck says different thing, and I got in. So, you might wonder what the hell did I do in this bootcamp? Well, sit down, grab some snacks and drink, lemme tell you a story in this bootcamp...

So after I went through the tests to get accepted, I got a call that I got accepted and need to sign contract to attend the bootcamp. I thought "oh shit, this sounds interesting, and I've been idling for a quite a time too, so why the fuck not," and so I went and sign the contract. In case you're wondering, "does this idiot read what the contract says?" Well of course fam, one of the basic way to ensure your security is to read any agreement you come across, less they'll fuck you back in the ass. In case you're wondering, the contract said that I need a legalized permission of my parent - which Xsis provided for me - OR, OPTIONALLY, my latest study certificate. And as you can guess, I only give them the legalized permission. And the contract binds me for as long as the bootcamp, and if I can pass the bootcamp, it binds me for 2 years, and of course there's penalty for the side who decided to bail out.

So what am I doing in this bootcamp? Well to paint the bigger picture, 8-9 hours of coding plus a few hours of assignment. Yep, lots of coding happening in this bootcamp, though for the first week, it's mostly logic in C#. Which mean the participant brain is molded to understand how the C# logic works. So far it's mostly coding algorithm to make a pattern, and as the week goes on, it goes harder too, well, maybe for me, but I don't know. Well, aside from that, the trainer is also quite nice and helpful. If we don't understand some stuff, we have to do live coding so the class can solve the problem together. And overall the experience is nice, sometimes the trainer share their work experience, and sometimes we also learn about softskill too. I did mention that I need to pass the bootcamp, right? There's a test in week 2 and 7, which we need to do in order to get employment, if we don't pass it, either our contract terminated or we are move to other division which need our skills.

In conclusion, it's a good experience and work opportunity, but if I must say, the bootcamp is the natural selection process. All of the participant can pass but some can't, and frankly, I don't think I could, but who knows. I think that's all I can share, my mind has been about coding this past week, so this won't be the usual rant. Till next time then.

Thursday, 1 December 2016

My procrastination has becomes depression, please send help

Did that shitty click bait like title fools you? I always want to try making a click bait title and see where it goes, at least you're already know this blog is full of shit so you won't feel cheated.

So here I am, with another rant and no tutorials in sight. By now some of you must've thinking "This fucker lied about the tutorials! Ready the pitchfork and stakes! Burn him down!". Well, relax for a bit will ya, this blog is just another notes from me, which if you know my handwriting, you need a decryption method to read it, it's on par with a doctor scribble. "So you were saying, all of the tutorial you've done is in your note then?" Some, yes, um... yeah let's just say that, some is in it... FINE, only a bit since I've finished my final project.

What the actual fuck I've been doing these day

So, I still am procrastinating things I actually want to do, I might say it's due to my comfy environment, but it's just another justification. Everything that I do is the result of my choices, and honestly, if you start to blame other things, you might want to take a step back, take a deep breath, and look at the bigger picture. Let this be a lesson for you who are reading this shit, don't ever tell yourself "yeah, I can do it later, it's fine, I can pick up the pace easily", in reality thought? It's fucking not.

I might be a hypocrite saying that, but it's the truth. The moment you give yourself the okay sign to do something later, you will never do it. Either do it right now, or you won't do it. Just do it, even for a few minutes a day, it will help you build your will to do it. So, enough with the hypocrisy, what have I done besides procrastinating? Well for once, I am still looking for a job since this post is published. There are several company that considered employing me, but seems like I can only get to the second interview, which is usually after the psycho test or before, it's up to the company. I do think it might be something in my personality or maybe something in my blog? Maybe, "so why is this idiot keep writing shit in his blog then?" If you ask me why, it's because my writing is a way to know my personality. Just so you know, people can actually know what kind of person you are from your writing style, and more so from your handwriting. If you have watched or read many detective stories, you'll understand, so get on it will ya?

Alright enough about that, now about job hunting and the lack of stuff I do, it's because ever since I'm looking for a job, I'm confused. Why? Because most of my experience is spread out nicely like a butter on a bread. I have experience in programming, networking, marketing and even designing shits, you can see it for yourself, and this is totally not me trying to make you look at my cv :^). So after applying to several companies, I got called several times for marketing and IT position, and got me thinking, do I have to do work outside of my expertise? Do I want to do that? Can I actually compromise? And after lots of thinking while procrastinating, I arrive at the conclusion that I want to work in the IT field, mainly as a network engineer, or maybe something close to that. It might be hard and took a long time, hopefully not that long, I've been jobless for half a year, but yeah, even if I got a job outside of IT, I don't plan to move up with that job, it'll be just in between job till I got accepted in IT.

So based on that, I try to get an IT job, no matter what it is, and keep focusing on finding IT jobs. It might take a longer time than I planned, but I rather burn out my life trying than regretting not trying later. And hey, more free time to relax and learn stuff I want to learn, which I swear I'll do it this time, no more procrastinating, no sir, I'm officially graduated from my procrastination!... next week :p.

So... What's next

Firstly, I'll try to write some stuff from my notes to this blog, so there's actually some more tutorial in this blog, not just Cacti tutorial riddled with dry jokes... Well I'm gonna keep doing dry jokes, it's fun writing tutorial like that, and honestly felt easy to understand too, right? And I do apologize, again and again and again and again and again for the lack of tutorials and other shits in this blog, like I said, I'm diagnosed with acute procrastination, so I'll try to write some stuff in here. I can say there's some interesting stuff that I keep thinking but this procrastination keeps me from writing it down in my notes or blogs, but next week I'll try to write it in my blog or notes anyway, just so I have something to do.

Next, I'm actually thinking of developing a simple game for android. "Whoa dude, you said you prefer networking than anything!" Yes, yes, calm down geez, writing programs or scripts is a hobby of mine, which actually makes me relax. Back when I'm still working on my final project, when I'm bored, I do some programming puzzle from codecademy, and reading about desktop environment tweaking for linux OS. But, it's just a hobby, I'm not planning it to be my job, because once a hobby becomes your job, there's a chance you'll stop liking it, so there's that. And relax, my main interest is still networking, this game is just an exercise to deepen my knowledge about android application developing, which might help me writing and fine tuning a netcode of an app, so who knows. And since it's just a hobby, the development might move in a snail pace, but if you're interested, I'll write about the general idea of what the game is and maybe some apk for you to try it out.

Thirdly, I might write some stories in this blog! I think it's about time I let out my creativity out into the world, and a good way to exercise my writing skills too. I also considering making a tumblr account to share my drawing. Yeah I like to do a lot of things, so that's maybe the cause of my procrastination, lots of things I want to do but I can't keep up with it. But it's gonna change next week, time to heed my own advice and actually get some shits done. The tumblr is just a progress blog, hopefully shows my development from suck at drawing to somewhat can draw something good. But I may drop some drawing I did in this blog just to shill my tumblr account.

And lastly, regarding the tutorial thats I will write in this blog, there's one small change, I will give tutorial in how to program stuff, with programming language I know of course. Yes, this blog and my main interest is still in networking , but just to spice things up, I'll throw some about programming that I have learned. It might be hard to do but hey, I'm someone who likes being pressured, since in my opinion, it forces you to develop yourself faster, totally not a masochist who likes to be dominated by pretty girls at all.

So in the end, this just a rant and justification about the lacks of shits I do and blog posts, but as they say, do things on your own pace, because life is not a race, but a long marathon. I do hope whoever you are will keep reading this ineligible blogs and can learn a thing or two from this blog, not just from the tutorial but also from my own life experience, well, this post is pretty much a random rant but hey, maybe you can avoid some mistakes that I did.

And that is all that I can share with you, readers who got lost and think they actually reading something useful, hope you're still reading by the time I posts something about tutorial and fun stuff later, bye bye.

Oh and here's some nice tune for you.

Thursday, 21 July 2016

Procrastinating is still scary....

Oh wow, it's been two years, I haven't done anything to this blog at all, lol. That's procrastinating for ya.

Sooo... I don't know how many people came here to actually find something useful - doubt it - but hey, I guess someone did come here, probably looking for some cactus or something. The lack of content even the garbage one is a sacrilege to my promise, not just to you who actually make the effort come here and read the posts below but to myself too. Why do you ask? To be honest I'm just lazy I am justifying myself so don't bother.

If you asks me what the hell have I been doing this past two years, it's simple, life happens and focusing on my final project.

First life, well if I may say, life is a bitch. What I mean is because of life, My final project got obstructed and I am late to finish it, yes, I am a bit ashamed because I just finished my studies on April 2016, and declared graduated on May 13th a few months back. But after a bit of soul searching, I said to myself, "Yeah you are late than you friends, so what? Are you trying to be them or are you want to be yourself? This is your life, don't follow others on how you should live your life fam," well it's for measuring myself and building my standards but the point is, I'm the master of my own ship, and I got one worn down ship to navigate, why should I sail like others? Quite the analogies but I think you'll understand.

Secondly, after the shitstorm that is life passed, I got my final project to finish. Now most people from my lab and specialization from my studies would make routing or some server or VoIP services as their final project, I went on and create a softphone. Yes, a softphone, albeit a simplistic one it still is a softphone, ON ANDROID. That was one hell of a ride, configuring the VoIP servers, testing the app, finding bugs, learning JAVA and some other stuffs that I did for my final project. If you understand what telecommunication engineering specializing in network studies is you might find it is weird that I create an app for my final project.

There are three reasons, first, I like programming, but more as a hobbies so my knowledge is only an ankle deep, second, I joined switching technique lab. to learn networks, after a few days I then decided to make a softphone someday while I am still an assistant, thirdly, when I was discussing the theme of my final project with my adviser, he brought up the topic of creating a softphone, so I thought why not and took it. So yeah, due to inexperience with JAVA Android, it took some time but in the end, I finally create a simplistic softphone using Google's own SIP stack and modifying the sample code a lot. It can only receive and send a call, the interface is simplistic to the point you only got input and notification if the call is started, ongoing, or ended. Anything complicated will make the program shits bed, lol.

But in the end, it's enough to make me pass the examination and declared graduated. Now, I have more free times - of course I need to look for jobs ASAP - and probably will try new things that I find interesting. Now here's the deal, I know it might sounds old but I will try to keep something posted in this blog. As usual, it would be about some tutorials and something about my life also some rant. It might not be something interesting but it's something that you can learn from. One of my teacher used to say that we should make our diaries public, so other people can learn from our mistakes... Well I kinda agree as long as you don't share anything indecent to the public, I do consider myself indecent but I'm sure anyone who read my blogs understands me for who I am *wink* *wink*.

What's next?

So what's next? Should I travel around the world and challenge perverted people to become the most perverted people on earth? Nah, too much shit to do and too lazy. What next is keeping this blog up to date with shit I like and tutorials of the things I've done. Oh yeah, the tutorials might include some cooking recipes. Didn't expect that did you? A vile scum who can cook, you bet it will resulted as a black anti-matter aren't you? Well fam you're in for a surprise :D. Of course there's job searching and learning shits I want to do, I'll sometime posts it in between the pile of shits that is my rant and dank memes I came across, be prepared for some shit yo. And there is this graduation ceremony this august in which I'll attend to, so I might post something about it.

Finally, I thank you who come to this blog and actually read some of my post, I may apologize for some things in advance if it may offend you in some way but hey, it's just for fun and my opinions, take it with a grain of salt. Again, thanks for reading up to this point, have a good day, and I have been listening to this song too much.

Thursday, 6 November 2014

Procrastinating is scary....

Welp, I wonder how long since my last update is? Huh, procrastinating is quite scary...

Anyway, sorry that I haven't update this blog and yes, I realize that there's more of gibberish than tutorial, but I did warn you so hey! No harm's done :)

Firstly, I was trying Snort on windows with Barnyard, the Snort installation come quite nicely but can't say the same for Barnyard. So yes, the next tutorial is about Snort and Barnyard on windows! Why on windows? Well most people use windows, and you could find lots of tutorial about installing them in linux. 'Tis gonna be a bumpy ride but it will be worth it.

Secondly, I keep promising that I will update this blog frequently either it's about some gibberish or tutorial, and I do realize I didn't keep it (it's my fault yes), so allow me to rephrase it then, I'll update when I feel like something worth to post comes up, either it's some gibberish coated in gold or new tutorials, that'll depends. I can't say "I'm actually busy because I'm making my final project" as a reason because I got lots of free time back then, so I can only say that my bad, gonna change, wish me luck.

Lastly, as an apologize, I'll post a summed up Cacti+Weathermap installation, and it's in Indonesian! I mean the explanation, you just need the command line right? Well, good luck on whatever you're doing right now! Don't you give up now!

Instalasi Cacti :
-          Install Dependencies
apt-get install snmpd snmp mysql-server apache2 libapache2-mod-php5 php5-mysql php5-cli ph5-snmp
      apt-get install libpango1.0-dev libxml2-dev
      apt-get rrdtool

-          Download dan ekstrak cacti ke /var/www

-          Ubah kepemilikan folder rra dan log
chown –R www-data:www-data rra/ log/
-          Buat database untuk cacti dalam mysql    
create database cacti;

-          Masukkan cacti.sql ke dalam database cacti
mysql –u root –p cacti<cacti.sql

-          Buat user baru dalam mysql untuk cacti dan atur hak aksesnya terhadap database cacti
create user [username] identified by ‘[password]’;
grant all cacti.* to [username]@localhost identified by ‘[password]’;
flush privileges;

-          Edit config.php pada folder cacti, samakan user yang digunakan untuk database pada file tersebut dengan user  yang kalian daftarkan

-          Buat user cacti pada sistem local
useradd [userame] –d /var/www/[cacti path] –s /bin/false
-          Ubah perizinan untuk user tersenut
chown –R [username] /var/www/[cacti path]

-          Tambah cronjob untuk poller.php
Cronjob –e
*/5 * * * * php /var/www/[cacti path]/poller.php >/dev/nul 2>&1
            -     Buka browser, lalu ke localhost/[cacti path] lalu ikuti instruksi untuk menginstall cacti

Instalasi weathermap :
                

-          Unduh cacti Plugin Architecture

-          Ekstrak dimana saja

-          Kopi file patch  (cacti-plugin-arch.diff) ke folder cacti

-          Jalankan comman ini terlebih dahulu :

Patch –p1 –N - -dryrun < cacti-plugin-arch.diff
-          Jika tidak terdapat error, jalankan lagi perintah diatas tanpa - -dryrun. Jika terdapat error, kopi file-file yang terdapat dalam folder files ke folder cacti


-          Unduh plugin weathermap

-          Ekstrak dimana saja

-          Kopi folder weathermap ke folder plugin di dalam cacti

-          Edit config.php, tambahkan line berikut seteah konfigurasi database

$plugins[]=array();
//$plugins[]=’monitor’;
//$plugins[]=’weathermap’;\

-          Sekarang masuk ke web cacti, aktifkan plugin weathermap

-          Agar bias menggunakan web editor weathermap, cek terlebih dahulu modul yang dibutuhkan. Pada web browser sudah disediakan dan tinggal digunakan.

localhost/[cacti url]/plugins/weathermap/check.php
Jika terdapat modul yang hilang, jalankan lagi pada terminal. Masuk ke dalam folder cacti, lalu ke folder weathermap, jalankan command ini

php check.php

Jika hasilnya sama dengan di browser, install modul terlebih dahulu :
      Apt-get install php5 php5-cli php5-gd php-pearl apache2
Lalu jalankan lagi command line dalam terminal, semuanya harusnya sudah terinstall. Sekarang coba jalan check,php pada web browser lagi. Jika terdapat error, restart computer. Web editor weathermap telah dapat terpakai


P.S I just know that newer version of Cacti already have a plugin architecture, so I guess this step is not required, cheers.

Thursday, 31 July 2014

Still Alive and Kicking

Whoa, it's been a month without any update or posts. Well that's on me, though I know nobody actually visit this site frequently...

Anyway, just giving heads up for you who come here often (or not) hoping for some tutorials or some shit, I might post more scarcely this month. Why? here's a few reason :

1) Finishing the witcher 1 and 2, also will finish whatever game I have in my backlog that I feel want to finish it

2) Are learning some coding language though the progress is very VERY slow, so there's that

3) Social stuff, though this thing does not occur often (read : I have life too)

4) In tune with number 2, might change the blog codes. Again, this is really heavily depend on my mood

So that's all, hopefully people will still come here. Oh, and sorry if my post are rustled your jimies, gramnaz.