“Oh but Rails is the best thing since my luscious nipples, sap! What could possibly go wrong?” Everything. So let’s go on about Rails. I don’t mean to sound like a broken record when I say this, but I love Ruby. I’m not hating on it. I’m hating on Rails, the evil application framework for Ruby. So what’s so bad about it, you might ask. I can nitpick all day, but it’s pointless. It all boils down to one simple fact. Hermione Granger, take it away: “…there’s too much magic in the air.” There. That’s the problem with rails. Wait, sec, gotta repeat this song (Lights by Ellie Goulding)… Okay. Magic. What’s magic? Friendship? I…I…didn’t mean to make that reference. I’m sorry. I’m stalling; I don’t know where to begin. Um…Um… New paragraph/section!

 There is too much magic

Ahh much better. So Rails tries to do too many things itself. And there’s just too much damn magic! I mean, I finish a coding session, look back over my code, and I think to myself, “What is this?” I don’t understand the code all. From a syntax perspective, it makes no sense. But I load up WEBrick and test, and it’s works flawlessly, sometimes. When it does I just accept it and move on. But it’s not always like that. And when that happens, I pretty much just scrap the project and start over. And I have  to redo everything until it starts magically working. I absolutely hate it. I very rarely have to do that with anything else. Sec, need moar Ellie Goulding (Madeon ft. Ellie Goulding - Stay Awake). One thing that blows my mind on so many levels is Routes. Liek…… I know what things like GET is, but Rails just garbles it so much for me. One problem with Rails is the severe lack of good documentation. Let’s look at some languages that have good documentation. .NET’s documentation is relatively well done. Qt for C++ has sublime documentation. Ruby itself has good documentation. Why doesn’t Rails have good documentation? Books don’t count. I’m taking something where I Google a problem and there is a comprehensive online structured doc about something related to my problem. Rails just doesn’t have that. It usually redirects to something like Stack Overflow. Works, sometimes. It’s just sort of magic. 

Nothing wrong with Ruby

Let me just reiterate this point. Ruby is great, and to be honest, I’m desperately looking for a way to use it in a web application I’m working on (TBA). I did some testing in PHP, and I decided it wasn’t quite enough, so I’m trying to move to Ruby. But it’s so hard to use Ruby for web apps without getting caught up in framework bullshit. I pretty much want Ruby to function like PHP. PHP is great, but it’s just not enough for this particular project. Unless I write an extension that has all of the low-level functionality I need, PHP is not enough by itself. Ruby can do it. Not Rails; just Ruby. 

So I’m sitting here, it’s 3:00 AM on a Tuesday morning. I’m thinking about scaling web applications. Here we go! First let’s get Ruby out of the way. Let me just start by saying, I love Ruby. If Ruby was a human, 10/10 would bang. It has flaws, and I’m still getting used to it(No semicolon on the end of statements is making me gag), but it really is a beautiful language, and I plan on using it for as much as I can. But then we have Rails. I’m currently learning Rails, and I must say, it’s a definite RAD platform. I mean, that’s really what it’s major strength is. RAD. But that’s it. You can’t look me in the eye and say that Rails scales well because you are smoking so much crack you can’t even see the wall you are about to run into. It doesn’t. Simple as that. You need a quick application deployed? Rails. I got a whole blogging platform going on my computer just this afternoon. It preforms horribly, and it has many bugs, but it’s a full platform I did in one damn afternoon. So now that we have that out of the way, what really is the best language? Well maybe you should read the title of the post. Whatever, let’s just step it up a notch from RAD web applications. Let’s say you are building a full social network. That’s clearly not any type of RAD application, so what should you use? Simple. Our great and power ruler Mark Zuckerberg figured this out a decade ago: PHP. I love Ruby, but when it comes to web applications, nobody touches PHP. If you thought Ruby was 10/10 in my book, just imagine what PHP is (IT’S OVER 9000.. Shit, I need to stop using overused memes). BUUTTTTTTT!!!! If you try to make a good userland application in PHP, that’s not crack, that’s some sort of dope you smoking. I guess the alright balance between the two is Python. I do believe is preforms amazingly well on both sides. But the syntax kills it for me. I don’t care how good your blowjobs are, if you look like Sarah Jessica Parker’s great grandmother, you are not getting anywhere near dis. But aren’t we forgetting somebody? Of course! You can’t forget the compiled languages… Wait… Compiled languages for web platforms? oh…um… no, please? Okay, you cannot deny that compiled languages dominate the userland. Nothing will ever be up-to-snuff like good ‘ole C++. Or C if you are a masochist. Or if you’re too hipster to .NET but flatulate too much to have any sense, Java. Not talking about Scala, by the way, I haven’t looked at it yet. But what if we take C++, and put the web platform dress on it? We get a kind-of Facebook. Because Facebook is a transvestite. Nobody really knows what it is, it just… is. It’s not PHP, but it’s not C++ either. It’s just… yeah compiled languages and web applications don’t go together the best. Now I mean, we have to have compiled languages for our web servers. I mean, look at Node.js and what a pile of shit that is. Oh I’m sorry I got excited for a moment there. But really. Okay, maybe for RAD stuff (hint. hint. Rails and Node.js are inseparable) but for big stuff. No! NO! All my No! JavaScript? Really? When did someone think “oh I’m gonna make an I/O model based off of a browser JavaScript engine?” When did JavaScript even become relevant, you might ask? HTML5 and jQuery. Okay, it’s pretty good now, but Microsoft ruined it’s reputation so much I’m really afraid to trust it. Whatever, I’ll go for it. But ya. JavaScript for the backend of a large platform. That’s most certainly dope you are shooting into your veins at this point.

Ya, I don’t even know what to call this post. But I think it’s my destiny to…NO. NO. I WILL NOT MAKE REFERENCE…Screw it. It is my destiny to break this down. Just to try to scratch the surface of the brony subculture I once knew and loved. Not to say I still don’t love it, but it has grown so much since I renounced my title as a brony. But this. This needs to be said. Although I don’t consider myself a brony per se, I still try to keep tabs on the fandom. Then Season 3 hit. More like Season 3: Controversy. Holy shit. Two biggest ones are the C&D of Fighting is Magic and, of course, Twilicorn. Can I get a holy shit? “Holy Shit.” Thanks. But seriously. I just spent the last two days watching season 3, and I just finished episode 13, where the magic happens. Holy Shi.. defecation. Watching the controversy surrounding all of this, is like watching a civil war. And that’s what it could come to be: the Brony Civil War. Holy defecati… That sounds weird, let’s just stick to “shit.” But in all seriousness, this is getting out of hoof. Or hand. Whatever. The point is, the fandom is ripping itself apart, and no one entity is responsible. The writers themselves even have differing opinions on this. And Hasbro’s legal department isn’t helping. The various communities that host slices of the fandom have differing opinions. And all of this boils down to fuel for the brony-haters. Honestly, I don’t even know how this will turn out. I have also noticed a lot more of a musical note in this last season. I feel the plot and character development becoming unstable. This could turn out really good, or really bad. The fandom is shredding itself to pieces, and there is nothing we can do about it. No longer is there the happy almost family-like brony community. It’s too big. Something might give. We can only hope that it won’t.

PXE or Preboot eXecution Environment is a pain to work with. Since I wanted easy scalability, I decided that using server images and booting an install environment over PXE would be extremely profitable. That removes the hassles of having to keep up with CD-ROMs. I could technically use a USB-HDD system, but I need my flash drives for other uses, and they are easily lost.

So here was the game plan: my main node running Debian Wheezy would hold the boot files for PXE in a TFTP server, and my DD-WRT router would provide DHCP through DNSMasq. I really couldn’t afford to run DHCP through my node, as I have my personal computers on the network at the same time as the server nodes. For the TFTP server, I was recommended tftpd-hpa by the Debian community. I configured tftpd-hpa to run as a daemon, instead of using inetd, as I have had issues with it in the past. With everything set up I booted into my netbook to test. TFTP connected, launched the command to get the test file… Timeout. I rechecked making sure the daemon was correctly configured and running, unblocked ports, etc. I later found out that tftpd-hpa has a sort of built-in security. Since this was not a public TFTP, I really wasn’t concerned about security. The community responded by recommending atftpd. Set up, tested, still nothing.

atftpd adds logging ability, so I turned that on. I found that my test client was connecting, and it could initiate the transfer, but couldn’t finish transferring the file. It would throw a NO ROUTE TO HOST error. Very odd. There is a port block on some end, although I disabled all security on both ends. Raw PXE doesn’t work either, although it does find the server and try to connect.

The only possible way is that the firewall on my router is blocking not only external but also internal ports. I have not disabled router level security as of now.

Rawr.

Seriously. Don’t get these flash drives. They suck balls. They come with bloatware on them. Think about it. Bloatware, on a flash drive. WTF were they thinking? And it also loads this stupid driver onto your system that gives you this blank CD drive. And you can’t remove it without removing the whole USB driver. But what if you plug it into a work or school computer? At my school, the IT are anally paranoid about everything, and they don’t allow EXEs of any kind on flash drives. Now, what if you just get your SanDisk out of the box, plug it in, IT immediately sees EXEs, and you get banned from the network. That’s just flat out stupid. On both parts I mean. Plus, they can’t be booted from. I tried for hours to get my SanDisk to boot Fedora, and it just doesn’t do it. I finally took it back and got a PNY drive for half the price, with no bloatware, and guess what: you can boot from it. First time, no problems.

As the bullshit man would say, Harari and Mehrotra invented it. It’s called SanDisk. And that’s bullshit.

Due to a recent server fail with Apple, decided I should share their source code to their homepage. This makes the homepage open source, lol.

Read More

There is so much neglection, I’m not gonna even mention it any more. Anyways, I came here to talk about ICOS. So we started over again, pretty much. But this time, we have an integrated “bootloader.” And we have Git. Which is a good thing. It’s also almost time to unveil my secret project that I have been working on. Here’s a hint: it has something to do with ICOS… That’s all you get. I’m definitely pumped to show it off, cause it’s taken quite a while. We are hoping to release it along with ICOS 0.08. 0.08 will be much more stable than other releases, with PreK (short for PreKernel, which is like a bootloader with a mini kernel inside it. iDomo did all of the work.), rudimentary memory management and file system. File system is based off BTRFS, by the way. The new rewrite will migrate some of the old functions, so it’s not atotalrewrite. Now let’s talk about PreK. It’s written, well, almost completely in assembly. It’s very optimized, so it’s super fast. It does GDT, the A20 line, and contains MMM(Memory Management Module), which basically sets up the whole RAM system for us. So that’s about all we have for PreK. In terms of the kernel itself, we haven’t done much to it. I’m going to get started writing the kernel-side console, while iDomo, does… iDomo magic. We also had a long talk about the programming language(s) used for the kernel. Why is this such a big issue? It just is. It’s mostly gonna be in C, with a little assembly here and there when needed. It won’t have much in the way of C++ until we get outside the kernel, into the real OS. I already know I’m gonna do the desktop environment in C++. Another problem, that’s not really a problem we have at the moment, but it will be; is our build system. I have been looking at CMake, lately. But I’m not sure how that will work out. So we are looking for Python programmers. You don’t have to be a Python god, but we do require basic Python skills (file management, being able to parse config files, execute external programs without a hitch, etc.). If you are interested, contact me at saps.laj@gmail.com with the subject “ICOS Python.” Any little bit helps.

Yay New Blog Title. I figured it was time for a change, so I changed. I’m gonna start some work on a new theme for it too(Thank you Arthur Kim for letting my use your theme :D). I’m gonna try to reflect the design on this blog, plus links and everything. Might try to clone some of the theming databases on my server and the tumblr theme just gets information from there. But I don’t know, I guess we will find out.

In other news MSITA is a horrible class.

In the March 2012 publication of PCWorld, Nate Ralph explained that the tower desktop is officially dead. You wanna know what I think?

WHAT A LOAD OF TOTAL BS

The desktop will never die… I don’t care how much you argue over it, the desktop will not die; at least not for a long long time. Yes, we know… It pulled through everything else… People said that the desktop was dead when laptops hit the mainstream. False. Netbooks, a smaller laptop. False. Tablets, touch surfaces with “superior” gaming technology. False, false, and false. Nothing, and I mean nothing, can beat the beast of the traditional desktop computer. They have so much variation, they have a massive price range, and they just do better. Plus, everybody owns at least one. Yes, All-in-ones are getting better. But they are just way too expensive, and they just can’t match a desktop; it’s just not there yet. And let’s face it, which setup would you rather have:

or…