Thursday, January 16, 2014

The End

If it hasn't become clear by the timespan between the last few posts, this blog has been neglected. In the past I would say that it's because I've been distracted or busy with other things or just lazy, but it has actually been purposeful this time.

The motivations that I initially had when creating this blog -mostly to document what I did day-to-day so I could look back and feel that my time was well spent- have become less relevant and the goal of the content that I would like to put on a blog has changed. Random 1 paragraph posts, talking about old video games, and longwinded rants about a variety of topics really aren't what I'd like to write about anymore, when I eventually find time and motivation to blog.

So it is with much sobriety (ok, just a little sobriety) that I am "closing" this blog. I'd like to think that it's hopefully signifying my evolution from "Aspiring Nerd" into "Actual Nerd" -time will tell.

If you'd like to follow any future blogging I will do or not do, you can check out my blog at Qweex, which will be much more heavily focused on software development and updates about the software I develop.

Thanks for reading. I can't think of a clever sendoff.

Friday, March 29, 2013

Kyocera Rise

Yes it's time to break the silence that this blog has had for a little while with ranting about a device I got.

I've used my share of shitty phones over the years. This is generally because I've always been extremely frugal when it comes to mobile because I'm a poor college student; the nicest phone I think I've had was the iPhone 3GS, and I got that right at the time the iPhone 4 was released, so I was already a release behind. The worse phone I had was the Gravity T. It had a horrible resistive screen and it was generally sluggish. In short, the hardware was poor. I figured that that was the lowest rung of bad phones from major manufacturers: works, but is really kind of a pain.

One of the things that I hate about being Frugal is not necessarily the hardware but the software. I hate the fact that I develop Android applications in my free time, but I have a phone that runs Android 2.3. So one day I happened upon the Kyocera Rise, a phone that runs Android 4.0, for a mere $60. I had some Amazon credit from last semester's textbook tradein, so I thought, "What the hell, why not. I'm not expecting something amazing, maybe something on par with the Gravity T, but at least then I'll be able to use all the new features." It had more internal storage, more RAM, and a new OS. What's not to love?

When I got the Rise, I actually really enjoyed it. I liked the form factor, the stock Android implementation was surprisingly fluid and smooth, the screen had great color and viewing angle. The only thing that I instantly had no taste for was the plastic used for the backing, which felt cheap. But other than that, it was fantastic.

The problem came when I actually tried to use this device. Apps just randomly close. They don't force quit, they don't ask if you'd like to wait, they just close. Even if they are playing music in the background, they will randomly close. The source? This phone does not have enough RAM. Or at least I think that's the problem. In theory, I believe that 512MB should be plenty to boot Android and then run one app. I believe I've booted ICS x86 before and seen that it only uses 100-200MB of RAM. But instead, I saw it climb from having 100MB free to having 30MB free. And even with 30MB free, it will randomly close your apps without permission.

Now I knew the risks of going in with less RAM, I figured that some times it would feel sluggish. Not that it would literally close my apps for me. Part of me thinks that it's not the RAM, it's the implementation of Android that Kyocera uses; theoretically, Android should free up RAM for me closing apps that I am not using. Instead, it decides to close an app that has a MediaPlayer object that is currently playing.

It's really hard to even explain how frustrating this is. It's not even that you can't have multiple apps open at once, you can boot up the phone and start one app, and it will randomly close it. Imagine sitting down at your computer and opening your word processor and trying to write a paper, and then every 2-3 minutes, your OS closes your processor, without prompting you to save or anything. So you end out having to reboot your entire computer every 10-15 minutes. That is using this phone. You don't even get a choice to reboot. Sometimes, even though I haven't touched it all day, it will just randomly reboot.

It makes it even worse as a developer, because apparently launching the same app repeatedly eats RAM. Trying to do some dev work on it, I can only run the app I'm developing about 5 times before it forces a phone reboot. It is literally so frustrating that I switched to using my far-crappier, but more stable, CM71 or a freaking ICS emulator to do testing on later devices.

Even when apps aren't closing while you are using them, the phone is still impossible to use because you can literally only have the foreground app running. The other day I was trying to check a train schedule for a new line they just put in so I was switching back and forth between the schedule on the website and Google Maps to see where the stations are. And every time I would switch, it would completely stop the one it just switched from, so every time I left the web page and came back, it re-loaded (not re-navigate to, just re-load the page), which -as I mentioned before- takes several minutes.

On top of that whole issue, there are other factors working against this phone, like that the 3G antenna is woefully weak. Like I have it sitting next to my LG Optimus Slider, which was comparatively weak to my previous LG Optimus V, and the Slider will have 4 bars while the Rise has 1. That is fucking pathetic. And even when it has full bars the speed is painfully slow. I'm talking 2G, maybe less, speeds here. It quite literally can take 5 minutes to load a website, or 2-3 to load a mobile-formatted website. Or sometimes sites just won't load. The wifi antenna is just about as bad.

But even beyond that, the phone just sucks for other little reasons. Like the badge on my G-mail notification is way off, like having "67" when the notification says "2 new messages". Another dumb thing is that, when plugging it up to do dev work, I see loads of errors and warnings streaming through Logcat, more than I've seen for any device. And I'm not talking about messages about WPA2, I'm talking about messages about "Reading a null string is not supported here" every 3 seconds from what appears to be an internal app.

On top of this (or perhaps because of it), this phone will routinely miss sending (even though it says they were sent) or receiving texts, or receive them way later. I literally cannot trust this phone to even do basic communication because it fails to deliver texts, and I am sincerely scared that the Phone app will randomly close in the middle of a call.
This is all even before all the stupid BS that Kyocera has injected into it, like "MobileID", which will prompt you do download and install a piece of crap you never asked to, but you can't dismiss the prompt. It just shows up 5 minutes later. I've accepted that carriers use phones to ship their dumb app crap, but nagware? Seriously?

But like I said, this is without all that stuff, because as far as I can tell, it's a problem inherent to the phone itself or Kyocera's Android implementation. Despite several long days of research and many attempts, I've been unable to root it or install any other ROMs on it. I have given up trying to use it as I did my last phone, because I genuinely cannot even use it to look something up on the web anymore, or use just about any app reliably. I am lucky if I can actually get it to fucking function as a dumb phone did 10 years ago. It is figuratively now a dumb phone that I can very occasionally use to get directions or look up a schedule, but only when the planets align.

In short, don't buy this phone and Kyocera should issue a public apology to all of humanity for releasing this horrible beast upon us.

Tuesday, November 27, 2012

Why Lunduke is hurting open source

I've done my best to stay out of this, I really have. I've held my tongue repeatedly when I've felt like composing a blog post about it or venting in Jupiter Broadcasting's IRC room. But it's getting to the point where it is insulting me as a developer and as a person.

I'll admit that I was already falling off the Bryan bandwagon at the time, so hearing that he was going to open-source his apps didn't exactly blow my dress up. I feel like I have to rehash the story because so many people just don't get it. "Lunduke went open source" is usually the extent of what I hear, but that's not even a 10th of it, and it being regurgitated as Lunduke being this patron saint of open-source is enough to make me physicall ill. So I apologize for the wall of text, feel free to skip to the next section, but the entirety of the story needs to be told.

The Story

Let's start with some history. In June of 2012, Bryan claimed that he wanted to make his software open source, pushing heavily for donations. That's perfectly fine with me. In fact, I love the idea of it. He went the route of kickstarter, and that's cool, for a test. It's pretty much everything that came after is what upsets me.

He wanted to make $4000 per month. First off, even with all of his software combined I have a hard time believing that he actually made that much before. Even if he did, I think I have no problem saying that a large part of that comes from the following of the Linux Action Show, not necessarily on the merits of his software being that spectacular that people just have to have it.

In any case, he wanted to make $4000 in one week as a trial run. This is actually a really good test: donations are bound to taper off after the initial push of it all, so setting a goal in a 4th of the time seems logical. He continued to post updates of the status over the next week and it became abundantly clear that people simply were not as interested as he had hoped. After 2 days he had reached 20%, then at day 3 he was at 30% and at day 4 he was just over 50%. He reached his deadline with around $3000. But instead of calling it quits, he extended it by 5 days. This is where the "experiment" should have stopped. Either Lunduke's expectations were too high, or people genuinely weren't interested in his software. In either case, it was a bad fit and Lunduke refunding everyone and giving up would have excused much of his later behavior. But by extending the deadline for no reason, he forfeited that right.

Now he did reach his goal the very following day. But that's beside the point: He had set a strict deadline and it had failed. I could understand giving it a few more hours, if it was genuinely close, but giving it 5 more days is really kind of pathetic. He knew he would make it with that time, so this is when it stopped being an "experiment" and instead became Lunduke's grab for attention and money.

Anyway, the goal had been reached: OSS was here. The day after meeting the goal, Lunduke open sourced Linux Tycoon, as well as 2299 The Game, as well as Illumination. Well, not quite. He said that the source "will be supplied soon." I don't understand the point of posting an update to an update of something that you're going to do eventually, other than to make headlines and give people the feeling that you've done something, but oh well.

Lunduke seemed to be extremely confident in his experiment thus far, with all his updates and a lengthy post about why he chose the donation model he did, wrapping up with "In the end, I opted for the 'Release everything as GPL and ask for donations' model. And it worked." All seems well, for now.

He continued to vamp up for the next few days, even asking for donations again before the first line of source code was seen from any of his apps, and again when his dev PC died, saying that he needed not one, but two replacements, one of them a Mac. He seemed to be really confident if he was ready to drop $2000 -half of the earned income- on two machines.

The day is now June 11. It has been almost a week since the goal was reached and 10 blog posts later, but still no code, only the promise that he will "begin uploading code shortly," a promise that sounds vaguely familiar as one he did a week ago. I understand that he may have wanted to wait, to figure out what source control people wanted him to use, but let's be honest: he's going to be using the revision software 100x more often than anyone else, even if people clone it daily, so he has the ultimate say and should have just picked one. (And honestly, does anything beside github even exist?)

Later on that day we finally see some commits on github.....of Readmes. ISC gets a Readme. Linux Tycoon gets a Readme. BLABA, RCD, 2299, all get commits of a Readme and only a Readme.

A few days later, he posts that -miraculously- he has is actually close to reaching his goal for new equipment. At this point Lunduke has made over $6000 in his campaign for open source software without releasing a single line of the source.

Then, finally on the 13th, we finally see some source: a commit is made for Radical Comic Designer. Granted, this is probably Lunduke's oldest and least popular applications, and he himself admitted that it was written "poorly", but hey, it's a start. If you take a look at the commit, though, it's one 6MB XML file. You'd later learn that is a RealBasic file. Is RealBasic free software? Nope. But we'll get to that eventually. Things seem to really pick up steam 12 days later when the code for 2299 is committed. But wait, this one appears to be RealBasic as well. But wait for that. At this point, Lunduke seems ecstatic with the results, saying that he did not regret his decision and that it was "Success. Unequivocally." On the 28th, an entire month after the start of the "experiment", we get the big daddy: ISC is released. This is it, right? This is the start of a good thing? Wrong. So terribly wrong.

Let me back up and say this: I am not upset about the timeframe at all. Lunduke himself said that if he could do it over, he would have done more prepwork beforehand so it could be done quicker. What bothers me is how much he seemed to spend hyping it up. While I realize that every single post about each of his applications was to announce that they were free as in money, that's not what this entire experiment was about. That's not even worthy of an announcement because they are eventually supposed to be open sourced.

That wasn't even so bad, I let it slide. What got me was that 1 day after releasing the source for his cornerstone app, he made a post begging for donations. Let's recap quickly: it is now almost 30 days and you just recently got around to releasing the source for your third and most popular app, all of which are in a proprietary XML format for a software that costs $100 to buy to even compile or use in any fashion at all, and add on the fact that after making an extra $2000 on top of the $4000 you made in 1 week, you are complaining about donations?

Lunduke suddenly turns from mister sunshine to mister sob story. He makes another post in the same day, repeatedly begging for donations. He stated some ideas for incentivizing donations, none of which I have a gripe against, except for selling pre-built binaries. The whole fact that you have to purchase software to compile the source, or purchase the software itself takes away from the fact that it's open source at all. After pitter-pattering around for a few posts, he finally admits defeat at only 4 weeks of reaching his goal, saying that everything's going back to closed source. Including ISC 5, which is conveniently on a different codebase than the now "open source" ISC 4. This new version happens to come out the exact same day that he seemed so distraught that open-source was not working. Pretty quick on that one.

This is where our story ends for the most part, up until recently when he decided to release all of his software for free. At this point, I couldn't give a rat's ass. But then things get interesting. He decides to try to sell licensing for the software that he had open sourced even though no one showed interest.

Finally, he once again complains that no one bought his licensed software, despite the fact that he had supposedly learned from his failed experiment that no one wanted the source.

Why Lunduke is hurting open source

Open-source != Brute Force

People didn't want your software. Is that hard for you to hear? Tough. It's not hard to see what happens if people really want something to happen, just go on Kickstarter. The Awkward Zombie Kickstarter was trying to raise $8500, and it reached that goal in less than 2 days. By the end of that same day, they had reached over $15,000, nearly twice as much as they had asked. After one week, they had raised more than $30,000, which is almost 4 times the quota. And that was after one week of entire monthlong campaign. The campaign finished with $89,000, 10 times what they had asked. That is what people want to happen. Not having to postpone just to make it.

Open-source does not mean that every piece of software you release will be sustainable as a living, nor does it mean that the open-source model will work as well as or better than a closed sourced model. Slapping that label on it is damaging to the true open-source devs.

You might be thinking that I'm harsh, maybe it's not the software, it's the marketing. Fair enough, but then stop linking your failures in marketing to the model for open source.

The community becomes a scapegoat

Maybe things would have been different if you had released all your apps on the first day. Maybe. But who's fault is that? Not the community's. As far as I'm concerned, they did everything right and even went above and beyond, giving 2 new computers to someone before even seeing their end of the deal. Expecting them to stay eager while you selfishly hoard the source that you promised them is not just nonsensical, it's insulting.

FOSS, where the 'F' stands for 'Faux'

It honestly astounds me that Lunduke can release a piece of code licensed under a proprietary unreadable XML format for a piece of software that costs a minimum of $100, and yet he is surprised that no one supports his source. I have nothing against RealBasic, but it's just simple logic that the number of people interested in the source will be a fraction of those for a project written in, say C++ or Python. Some people don't have the money, other people don't like the fact that RealBasic is proprietary (which is a huge deal since it runs on Linux), and all in all, choosing that as a development platform may make a ton of sense for developing solo, but that doesn't mean it will work for open-source.

(Oh, and Bryan made a comment: "Just as an aside: Realstudio costs 99 bucks. For a professional developer this is a rather cheap price for a quality tool." That's great, for the professional developer. What about for the rest of us? No wonder your OSS audience was so limited.)

Devs can throw hissy fits

If I had a dollar for every time Lunduke complained about something bad happening to him in terms of his software, I could drop out of school and easily live off making open source software. There was the whole SaveMyHouseFromApple thing, consistently complaining on the Linux Action Show, and posts such as this one where something minor happens but he spins it in a way that makes him out to be the victim.

The model fails on the backs of crappy software

Yes, I said it. You know why I think the major reasons that the donations dropped off? The software sucks. I would know, I bought ISC. I couldn't get it to run on Linux (pretty ironic, considering what podcast the developer used to be on), Lunduke ignored my e-mails asking for assistance (even a simple response of "try the forums" would have been nice, since I, ya know, paid him), and when I finally launched a VM and installed it in Windows, I was woefully underwhelmed. I'll admit that I am a programmer so I am not exactly the target market, but but the appeal of being able to write cross platform apps appealed to me. I just didn't realize how severly limited it was. To give you an example: on Android, there is one type of textbox. Not currency, no password, not even one for integers. I wanted to make a simple tip calculator and I had to worry about someone trying to find the 20% tip on the word "Barbecue".

Big talk, no commits-ment

I was literally speechless when I discovered that all of his projects had at most one git commit, not counting a contributors fix. I'm sorry people didn't get behind you when you seemed so extremely apathetic to the software you supposedly love to write.

(Coincidentally, I find it funny that the development for ISC picks up a ton right after he decides to close the source again.)


I don't know Bryan personally, but honestly, how can this not look bad? He repeatedly says that he lost money from trying to go open source, even though he admitted to making at least $6000 in donations and a ton of press. He released no source code for his recent apps for almost 3 weeks, and then immediately complained about the system failing him when he finally did. He made no commits and no visible effort to being dedicated to his software while it was open source. Despite the extra $6000 that literally came out of nowhere, he decided to shut down the project after only a month. He conveniently released a new version of a piece of software immediately after closing the source. He saw that obviously people were not extremely interested, but he went "open" source for a few weeks while conveniently being able to pocket the money that he made from it in the meantime. What part of this makes him seem like the good guy? Or even a good guy?

In the end, I don't even know why Bryan uses Linux at all. It's certainly not for the licensing. Nor the community, since he repeatedly let down, snubbed, and took advantage of a community based solely around him. He begins to channel Balmer near the end of one of his posts:
People can talk all they like about Open Source and "Freedom"... but, if the experience of the past year has taught me anything, it's this: People don't like source code.  Certainly they don't like it enough to pay for it.  In fact, people far prefer to spend money on something that they know they can't possibly get the source code for.
No, Bryan, people love open source. We love open source. I love open source. I love source code. I'm only in my Junior year of college as a software developer and I already have a folder full of open-sourced projects that I am eager to contribute to once I have the time, and the fact that I can clone the repo, fire up Qt Creator or Eclipse and go to down is what makes that possible, and I love it. Because I love free software.

People don't like your source code. People don't like "open" source that requires them to buy a piece of software when they just want to mess around with it in their spare time, and they damn don't appreciate you trying to guilt them into it. People don't like your fake sincerity and your insistence on blaming everyone but yourself: Stallman, the GPL, the community.

I'm not in any way saying that Lunduke software going open-source would have failed no matter what. I'm saying that it's ridiculous to reduce it to a comment such as "You make money from your software when it’s closed-source, but when it’s open source, people don’t buy it." when there is so much more going on. When you don't supply the source. When the source is proprietary and uncommon. When you blame others for your mistakes. That is where the problem lies.

Wrap Up

I want to take just a moment and say that I used to really admire Bryan Lunduke. Hell, he got me into Linux, and by doing so, he literally changed my life. Listening to his "Why Linux Sucks" video caught me on to the Linux Action Show which got me further into Linux and exposed me to open-source software and the community around it. Before I wanted to maybe create a little company that made free (but proprietary) software for Windows and sold commercial versions on the side. Now my dream job is developing for some open-source application or company. So I guess I have to thank Bryan.

But honest to god, I'm just about fed up. His repeated attacks on open source and attempts at gaining sympathy are severely hurting open source. His false modesty is hurting those of us who really do love the licenses, the freedom, and the community behind it all. After observing Bryan for several years now, I sincerely doubt that he will just come out an apologize; I don't even know if I'd want him to, since his apologies tend to be more half-assed than not. Instead I truly and sincerely believe that he is doing more harm than good and wish that he would just get out. Get out of the open-source world. Hang up your fedora, retire from your faux-writing position, and go develop Mac apps or Windows 8 apps or whatever, I don't care. Just stop hurting the truly open platform that some of us love.


Wednesday, August 8, 2012

luckyBackup: rsync GUI/front end

I can read you're mind and right now you're thinking "Pfft, why aren't you extreme enough to use rsync without a front end?" Well, I'm not.

There are plenty of frontends for rsync using all the various toolkits like Qt or GTK or etc. The best I've found (best==most-polished) is called luckyBackup. It's a Qt 4 program, and I love me some Qt.

Anyway, that's all.

Tuesday, August 7, 2012

Epic Pokemon wallpaper collection

Wallpapers are awesome. Pokemon is awesome. Whoever decided to combine them and make a minimalistic version of each pokemon is epic.

The 493 is just that: all 493 Pokemon, captured in a very unique minimalistic style. You can grab your favorite, or download them all and get a wallpaper rotator. It's your choice, but I personally think that you gotta catch em all.

Click to be teleporter


2012 Zombie Event Tracker

Ever since that whole incident with the bath salts, people seem to be much more afraid of the whole "zombie threat". While it's not exactly a true viable threat, for those of us who tend to perk up at the idea of "Z-Day", this little map showing "Zombie Events" in 2012 is quite interesting. Not in any real sense of the word, mind you; few of the events could actually be described as "zombie attacks", since they're usually over things that us  sentient folk tend to worry about, like money for car parts. But it's still interesting to see the strange trend of zombie-like fighting tactics used by people all over the world. (And there's either been a recent influx of it this year, or this has been going on for a long time and you never hear about it. Not sure which.)


Monday, August 6, 2012

I love LOVE

If you haven't heard of mari0, get your head out of the ground and go download it. It was an awesome idea and awesome implementation, but more important to me is that it introduced LOVE to me.

LOVE (technically "LÖVE", but I'm too lazy to type it like that all the time) is a 2D framework for Lua for games. A while ago, I got bored and tried to make 2 different card games in C++, because I had thought of how I could do certain things in OOP. But as soon as it came to UI, I screeched to a halt. Now that I've found LOVE, and Lua is OO, I'll probably be able to port what little I had for both and continue.

I haven't used LOVE too much so far but it is really simple to use (especially on Linux.) Running Arch, the several different entries in the AUR failed, so I just downloaded and compiled it with no problems. (packer probably grabbed the dependencies, so I'd recommend at least trying the AUR first.) After that, it was as simple as downloading the example and typing 'love' to see my LOVE install in action.

There's a really helpful guide on getting started with LOVE, even with a "Hello World" example, but I didn't want to have to keep compressing the Lua files to Love files just to mess around, so to get around this, I discovered that all you had to do was just to pass a directory to love, like "love example" or "love .".

I also love that there is an entire "Programming in Lua" book available online, just like Git. That will probably be my next read, especially if I want to move forward in LOVE.