<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent posts to blog</title><link>https://sourceforge.net/p/netrouteros/blog/</link><description>Recent posts to blog</description><atom:link href="https://sourceforge.net/p/netrouteros/blog/feed.rss" rel="self"/><language>en</language><lastBuildDate>Sat, 08 Nov 2014 19:19:44 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/netrouteros/blog/feed.rss" rel="self" type="application/rss+xml"/><item><title>MUM BG 2014 experiences and impressions</title><link>https://sourceforge.net/p/netrouteros/blog/2014/11/mum-experiences/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;There was a MikroTik User Meeting (MUM) in Bulgaria on 6th November 2014 which I attended and presented at.&lt;/p&gt;
&lt;p&gt;The presentation and video is not yet published (I'll update this post when that happens), but I'd like to write about my experience while it's still fresh in my mind.&lt;/p&gt;
&lt;h1 id="attendance"&gt;Attendance&lt;/h1&gt;
&lt;p&gt;First off, the amount of people at the MUM was &lt;strong&gt;WAAAY&lt;/strong&gt; more than what I expected, given how few Bulgarians are active in the forums (which I assumed was the primary place where they'd learn about such an event being planned, but apparently it's somewhere else... or maybe they just don't write, but just read the forums). Across all presentations (including later in the day, after some people had already left), the hall was filled without any free seats, and there were many standing people on the sides and behind the seats in the exhibit room (where people could still at least listen through the sound speakers). I was expecting at best a full presenting room with no one standing.&lt;/p&gt;
&lt;h1 id="mikrotik-academy-at-sulsit"&gt;MikroTik Academy at SULSIT&lt;/h1&gt;
&lt;p&gt;The first presentation about the first Bulgarian MikroTik academy I found... "meta"... I felt like I was rewatching every presentation from everyone of my lecturers ever, in that it &lt;em&gt;seemed&lt;/em&gt; like he spent more time talking about the presentation itself, then about the presentation's topic. Well, Dobri Boyadzhiev - the presenter - is an actual lecturer at a university, so I guess that's expected ;-) . On a second inspection afterwards (after seeing the slides on the web), I see it's less meta than it seemed to me at the time... But it was still the most meta of the MUM presentations there, which for me leaves a somewhat bitter taste to this otherwise interesting and informative presentation.&lt;/p&gt;
&lt;p&gt;Duruing that presentation, there was also a light shed on the great MUM attendance - students from UniBIT (Dobri Boyadzhiev's university) were told about and invited to this event, with many from his class turning up.&lt;/p&gt;
&lt;h1 id="load-balancing"&gt;Load balancing&lt;/h1&gt;
&lt;p&gt;The second presentation was about Load Balancing, and given that at the time I registered, that was  the only other presentation planned, this was the one I was more excited about... At the time of registration. It's funny how much a person can learn in a few months. By the time of MUM, I had already read and understood the theory and configuration needed for PCC, which was ultimately the final "most frequently used and most practical setup", so at the start of the presentation, I felt more "Meh...".&lt;/p&gt;
&lt;p&gt;That's not to say I didn't learn anything new though - far from it. Despite knowing the individual components used in the other setups, I hadn't &lt;em&gt;considered&lt;/em&gt; the other setups as being &lt;em&gt;possible&lt;/em&gt;, as I hadn't considered combining them in such fashions. For example, if you were to ask me to split the HTTP and HTTPS traffic between two ISPs, I would've said "possibly with some fancy firewall schenanigans... but I'm not sure how", and now I know. More interestingly, I've known about check-gateway, but using check-gateway to handle fails on levels HIGHER than just the connection to your ISP's gateway is something I had not considered, probably due to the word "gateway" in "check-gateway", so THAT's awesome.&lt;/p&gt;
&lt;p&gt;Because Petar Dimitrov was doing the setups live on actual routers, he also managed to fall into the same trap everyone falls when doing complicated setups... Missing on seemingly minor stuff, and then looking hard at where's the problem before finally finding it (the first time...) and then later just copy&amp;amp;pasting ready configuration to make up for lost time. Despite those efforts, he had still ran too much past his time, so my presentation was pushed for after launch.&lt;/p&gt;
&lt;h1 id="lunch-woes"&gt;Lunch woes&lt;/h1&gt;
&lt;p&gt;It's the first time I've attended a conference with substancial handouts, those in this case being a RouterBOARD and a T-shirt. I've attended conferences where they give out brochoures, but that's different.&lt;/p&gt;
&lt;p&gt;Because those were large in volume, tiring my hands as I was gripping them, I had left them at a table near the front of the stage, thinking that no one will just "steal" them, since all MUM attendees get ones, and besides, "I'll be back in just a short while" I thought. Worst case scenario I thought is that I'll find them in a different place, as someone relocates them in order to place something else.&lt;/p&gt;
&lt;p&gt;What do you think happened? Yep. By the time I was back fron lunch, they were gone. The MikroTik staff were nice enough to give me another RouterBOARD after I had told them about this (which I did after my presentation was over). Sadly, they didn't had any big T-shirts left (and as you'll see, "big" is my size...) so I ended up without a T-shirt. Needless to say that this time, I didn't leave my RouterBOARD out of my sight at all until I was back in the car heading for home.&lt;/p&gt;
&lt;p&gt;I blame mostly myself for this, and partly my nationality. I mean, Bulgarians man... So many cunning people in this country. Most of the best ones live elsewhere, and the remaining good ones (like myself and also the vast majority of other attendees) are mostly naive optimists.&lt;/p&gt;
&lt;h1 id="my-presentation"&gt;My presentation&lt;/h1&gt;
&lt;p&gt;Now... It was my first public speaking gig outside of school and university, and as such, I might've been a little more "stiff" than I would've liked to be. I'm normally more energetic than I was at that point, especially when I present something I'm genuinely excited about (which was the case here). I believe it might've been because I previously knew my audience in advance, whereas this time I didn't. Regardless, I'm not sure if "nervous" or even "anxious" are proper words to describe my state at that point, because it's not like I was "mentally blocking". What I was doing is improvising paraphrasings of my originally intended words (which were more programmer oriented)... but then not being fast enough at it.&lt;/p&gt;
&lt;p&gt;Then again, maybe I've been a little anxious, because after the presentation, I realized I had missed two semi-important pieces of information about myself that were left outside of the presentation AND were left unspoken. I was planning on saying them, and I intetionally omitted them from the presentation slides, because they're not essential to the topic, but were curious tid bits for the audience.&lt;/p&gt;
&lt;p&gt;First piece of info missing: I'm from the city of Plovdiv, not from Sofia, where the conference is held. I was planning on saying at the start, and for some reason, it slipped my mind.&lt;/p&gt;
&lt;p&gt;Second piece of info missing (kind'a following that last one): As a consequence of being from Plovdiv, the university I've graduated from is Plovdiv's public university, and not Sofia's public university, as people might've assumed given me not mentioning any city or university name.&lt;/p&gt;
&lt;p&gt;There was a very interesting pleasant surprise at the end of my presentation in that there were more questions than I expected (I expected at most 2, I got more than that, but didn't keep count, and I haven't watched the video yet to say how many were in total).&lt;/p&gt;
&lt;p&gt;One of the questions introduced an error to one my more "absolute" stances. In my presentation, I said a RouterOS API application can't run on the target router. That should've said "can't run on RouterOS", because as one audience member pointed out - "What about MetaROUTER?" (i.e. a VM running on the router). And indeed, if you have a VM run Linux, you should be able to have it connect with RouterOS, &lt;strong&gt;but&lt;/strong&gt; as we both pointed out for the rest of the audience, this means your router hardware needs to be powerful enough to handle both the router (and all of its traffic) + the VM (and all of its traffic), so this is not the best way, though he was right in that it is &lt;strong&gt;a&lt;/strong&gt; way.&lt;/p&gt;
&lt;p&gt;I feel a little bad about one of my other answers that, if you see it without further context (as it was at that point) might seem even a little rude, but was definetly not intended as such... One of the questions was if PHP programs could run continiously, to which my answer was "Yes, but on Windows, the command line window stays open, which is a little ugly... On Linux, you can easily just run it in the background, so there's no problem there.", and another audience member (that same one who asked the question above BTW... good man!) said "What about running it as a Windows Service?" to which my reply was "Pfff... hackeries!!!".&lt;/p&gt;
&lt;p&gt;What I &lt;em&gt;meant&lt;/em&gt; to say there was that creating a Windows Service is not at all trivial for the average user due to the absense of any GUI or command line way of doing it, so if you go to THAT length, you may as well go the extra mile of using Linux or using an application written in another language where apps can be more easily made to run as services (C#, I'm looking at you...).&lt;/p&gt;
&lt;p&gt;But then the worst part is that even this above less rude phrasing, I now know is wrong. I've since looked it up with more careful wording than I've used before, and found &lt;a class="" href="http://support2.microsoft.com/kb/251192" rel="nofollow"&gt;the "sc" command&lt;/a&gt;. Man, am I stupid!&lt;/p&gt;
&lt;p&gt;That same question also reminded me about a bit I had missed talking about earlier in the presentation, and which I had to go back to just for a little "dip", rather than "dive" in - persistent connections. I was wondering whether to go into that, seeing that most of the audience didn't know PHP, and only PHP programmers can appreciate persistent connections, but with that question, I guessed it couldn't hurt to briefly clarify the meaning, giving me another opportunity to "pimp my lib".&lt;/p&gt;
&lt;h1 id="immediatly-after"&gt;Immediatly after...&lt;/h1&gt;
&lt;p&gt;As I hoped, I was immediatly after approached, and talked to further about some related stuff.&lt;/p&gt;
&lt;p&gt;People kept asking whether I have a busineess card, which I now know to do next time, because I didn't take any with me, making it a little awkward to exchange contact info. I mean, they gave me &lt;em&gt;their&lt;/em&gt; cards, and I gave them my phone number for them to write in their phones.&lt;/p&gt;
&lt;p&gt;But not everyone was like that though. One of the later conversations included the following exchange:&lt;br /&gt;
Guy: My email is i, dot,...&lt;br /&gt;
Me: Err... If you have a business card...?&lt;br /&gt;
Guy: Umm... No, I didn't take any with me.&lt;br /&gt;
Me (with a big grinn on my face at that statement): Me too!!!&lt;br /&gt;
A colleague of the guy, having listened to this: Pfff... programmers!&lt;/p&gt;
&lt;p&gt;:-D&lt;/p&gt;
&lt;p&gt;The other conversaions were also interesting, but I'll save them, to avoid boring you dear reader, if I haven't already ;-) .&lt;/p&gt;
&lt;p&gt;I was left wondering whether I was under or over selling this library, as there were a few features I didn't even mention in the presentation (most notably charset conversion), but at the same time, I did include a point that said that not only do I not like the other PHP clients (which is obviously a biased opinion coming from me...), but also many of the other non-PHP clients. When I said "most" though, I did mean the word "most". I was not meaning to say "all", and then toning myself down - no. I probably should've said what are the other good RouterOS API clients in other languages... I'll do that now:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="" href="https://github.com/GideonLeGrange/mikrotik-java" rel="nofollow"&gt;Gideon LeGrange's Java client&lt;/a&gt; - The only client currently to parse queries from strings. It only misses brackets support in query strings, and it will be golden.&lt;/li&gt;
&lt;li&gt;&lt;a class="" href="https://bitbucket.org/ayufan/rosapi-csharp" rel="nofollow"&gt;ayufan's C# client&lt;/a&gt; - The first time I saw it, I thought I had inspired it, but then looking at the log dates... If anyone inspired anyone else, it would be the other way around, as admittedly, PEAR2_Net_RouterOS came much later, yet the two APIs are very much alike, logically speaking.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is really the entire list of RouterOS API clients that are, in my opinion, excellently done. There are a few others that are "OK", and then there's most others that are as atrocious as Denis Basta's PHP client.&lt;/p&gt;
&lt;h1 id="rest-of-the-presentations"&gt;Rest of the presentations&lt;/h1&gt;
&lt;p&gt;Because I was too busy talking with people after my presentation, I missed the Wi-Fi security presentation (well... as did the people I talked with). I believe I already know what it would say, but nevertheless, I'm curious to see it when it's out.&lt;/p&gt;
&lt;p&gt;I caught the middle of the next presentation about alternative power supplies for routers. While I did missed a lot, I did catch the best joke of the entire MUM conference... You'll know it when you see the video of that presentation, and hear the audience laugh so much, that they even clapped afterwards. It's doublely funny to us Bulgarians when it is said by a non-Bulgarian, which was the case here.&lt;/p&gt;
&lt;p&gt;There was one more free presentation slot left, but funny enogh, because of the earlier push, the conference ended at the originally planned hours ^_^ .&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">boen_robot</dc:creator><pubDate>Sat, 08 Nov 2014 19:19:44 -0000</pubDate><guid>https://sourceforge.neteabda766ce959578b04c6c33c247b20b34473d7b</guid></item><item><title>What happened in Brazil?</title><link>https://sourceforge.net/p/netrouteros/blog/2012/10/what-happened-in-brazil/</link><description>I was looking at the download stats just now, and noticed a huge spike on 2nd October.
https://sourceforge.net/projects/netrouteros/files/PEAR2/PEAR2_Net_RouterOS-1.0.0b3.phar/stats/map?dates=2012-10-02

53 downloads just from Brazil. That's a record! But I can't help but wonder... What the hell happened there?!?

I'm used to seeing two or three downloads at times, and I know it's caused by IE8 and earlier, which refresh a page after you click the yellow bar, and thus cause a second number to appear when the user REALLY only downloaded the file once.

But 53 is well beyond that. The only reasonable explanation is that it was featured somewhere... a site, or a conference. I thought it was the latest MUM, but that was in Dubai, it occurred before this date, and the recordings aren't published yet, so that's probably not it.

If you're a Brazilian that downloaded PEAR2_Net_RouterOS on that date (or at least, around it), could you tell in a comment below (or really, anywhere...) where did you learn about it?</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">boen_robot</dc:creator><pubDate>Fri, 05 Oct 2012 12:45:34 -0000</pubDate><guid>https://sourceforge.net9754941b85dc3fa1ee3c7a40c78db05de5921a1f</guid></item><item><title>GitHub move and user behaviour</title><link>https://sourceforge.net/p/netrouteros/blog/2011/10/github-move-and-user-behaviour/</link><description>Despite the warning of the code being moved to GitHub, there seem to be a lot of downloads from here. I find that weird... but then again, all the better - SourceForge has better download statistics. If you want me to know which country you're from and which OS you're using, you might download the package from here ;-).

With that in mind, I've decided to keep up the download links here in sync with the packaged versions on GitHub, at least until GitHub makes their download stats better than just "N downloads".</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">boen_robot</dc:creator><pubDate>Sun, 16 Oct 2011 19:04:14 -0000</pubDate><guid>https://sourceforge.net56afff49a3678aa42e1cca75bdb4c13217de2cee</guid></item><item><title>Installable with Pyrus</title><link>https://sourceforge.net/p/netrouteros/blog/2011/09/installable-with-pyrus/</link><description>Net_RouterOS is now a part of PEAR2
======

You can easily install the latest version with
    pyrus install PEAR2_Net_RouterOS-alpha

Alpha?!?
======
The "-alpha" deserves some explanation... it's not what it looks like.

One other thing that was done simultaniously with the addition to PEAR2 was the separation of Net_RouterOS into two components - the part that deals with RouterOS (PEAR2_Net_RouterOS), and the part that deals with the sockets (PEAR2_Net_Transmitter). Although PEAR2_Net_RouterOS is considered "beta" by the PEAR2 policy, the PEAR2_Net_Transmitter is considered alpha by it. If you were to just ask for "PEAR2_Net_RouterOS" or even "PEAR2_Net_RouterOS-beta", you'll get an error, because there's no beta version of PEAR2_Net_Transmitter to give.

For anyone unfamiliar with the PEAR2 policy on versioning, I should also clarify what the stability states really mean.
"alpha" - has incomplete documentation and/or test suite with under 50% coverage and/or there are disagreements between PEAR developers in regards to what the API should be like.
"beta" - has none of the above (i.e. has full documentation, a test suite with 50% coverage or more and PEAR developers agree on the API), but is still subject to API changes.
"RC" - API is frozen, only bug fixes releases may follow.
"stable" - everything is OK, development moves on the same route with a new version number.

(see [versioning standards](https://wiki.php.net/pear/rfc/pear2_versioning_standard_revision) and [PEAR2 policy](https://wiki.php.net/pear/rfc/pear2_policy) for details) 

PEAR2_Net_RouterOS has 100% test coverage and full API documentation, which is why it qualifies as a beta. The story is much different with PEAR2_Net_Transmitter though. I previously used PseudoServer.php to test some of its more obscure features, but even the pseudo server relied on Communicator. I need to rework it to be independent from it.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">boen_robot</dc:creator><pubDate>Tue, 27 Sep 2011 11:05:03 -0000</pubDate><guid>https://sourceforge.net5446a8628d489fceee05d492008ba70fbf8dd56f</guid></item></channel></rss>