Subscribe to the RSS feed: RSS feed icon

Setting up a new web site

so I’ve been looking for a new programming project to work on in my spare time. I know, Cybrinth isn’t finished and Mines-Perfect-Linux never really got started, and AcrylicPaint could always use my help. I’ve just temporarily lost interest in those projects. It happens – I can go several months between commits on Cybrinth, for example, but I’ll never forget it. The same is true for the others.

The other day, I decided on a whim to buy a new domain. Something involving dragons, because dragons. I initially thought I’d just use it for music streaming and file synchronization between my own devices. I am still going to do those things. But I want to do other stuff too.

Recently, the gang over at alt.fan.dragons have been the disappearance of documentation regarding the Dragon Code, a method by which dragons can be described using a minimal number of text characters. That’s what I’ll do with the new domain: set up a simple, low-bandwidth site serving up whatever info I can find about the DC. I’ll code all the pages by hand, and I’ll serve them up from my home server (which I’m in the process of setting up now). That way I can avoid paying hosting costs – even the electricity is essentially free because the physical server I’m using is my router, an essential part of my home network which stays online regardless of whether it’s serving up web pages. Other services, such as NNTP or MUCK servers, can be added later if I feel like they won’t interfere with my neighbors’ internet connections. Or I might set up subdomains with paid hosting.

The downside of hosting at home is that it is a violation of Comcast’s Acceptable Use Policy. Comcast could rate-limit, or even shut down completely, my internet connection. It’s risky, I’ll admit that. But I don’t think they’re going to. For one thing, I’ve been violating their AUP in another way for over a decade and never even received so much as a warning letter: file sharing. BitTorrent, specifically, is what I use now but I’ve used other protocols in the past. Comcast’s network is more than capable of handling all the traffic my family generates now, and I really don’t expect much traffic going to my new HTTPS server. The impression I get from reading various forum posts is that Comcast doesn’t care about small little servers generating virtually undetectable levels of traffic; it’s only when the traffic is enough to cause problems that they step in.

Spring break!

So it’s spring break now. I’ve got one week off. Except I don’t really have this week off: I have a week’s worth of homework due as soon as spring term starts. That’s senior project for you.

My group’s app (OutdoorZ), though we are making progress with it, clearly will not have all the features we initially dreamed up for it. This is expected: things often take longer than anticipated, especially for a group of students like us who initially did not even have any experience with the programming language (C#) and tools (Microsoft Visual Studio/ASP.net/MVC 5). We always knew we wouldn’t be able to implement every desired feature.

My individual app (ScriptDragon) is similarly evolving: as I realize that some ideas can’t realistically be done, I find myself thinking up other features that might be more realistic – only to later eliminate those features. And so on. I am not at all disappointed by this; in fact I think my program now, even in its unfinished state, is in a way better than what I initially imagined.

Ubuntu Phone first impressions

I got a new pocket computer today. My first smartphone. I have used both Android and iOS – two Android tablets and one iPod Touch – but never got devices with phone capability (I dislike the term “smartphone” because it implies that telephony is the devices’ primary use, which I don’t think is any more true than computers being TV typewriters).

This phone was created by a Spanish company called BQ. They’ve only recently started offering products to Americans, and it shows.

The Process Of Ordering The Phone

I guess this is as much a review of the seller as it is the product, both being new to me. Ordering the phone online was more confusing than it needed to be. BQ’s web site has a language selector offering several languages: “Italia/Italiano”, “España/Español”, “Portugal/Português”, “France/Français”, two different dialects of German, “Global/English”, and “Ubuntu Worldwide”. Naturally, being an English speaker living on Earth, I chose “Global/English”.

Wrong choice. When it came time to enter my destination address, I – or rather my dad, acting on my behalf – was unable to select the United States as my country. It just wasn’t on the list. Puzzled, I immediately took to DuckDuckGo to confirm that BQ really sells to US customers. They do. While I was googling, my dad went ahead and placed the order, choosing Slovakia as our country and adding “Oregon USA” as our region within Slovakia. Hopefully they would be smart enough to ship to the right place. BQ very quickly cancelled our order, refunded our money, and told us by email to order again using a particular URL, https://store.bq.com/gl/ . That address corresponds to the “Ubuntu Worldwide” language selection. So we did, not needing to change the language to English because – except for a few small and unimportant bits of text here and there – it is all in English. This second time, the US was listed as a country.

Five days later – real days, Thanksgiving holiday and all – my PDA arrived by UPS. (Why don’t we call them PDAs? At least that term implies they have multiple functions). BQ’s site still says the order hasn’t been shipped yet, and that shipping will take an estimated 10-15 days. So I’ve got to commend BQ/UPS on their unexpectedly fast delivery.

Opening the Box

The box was very easy to open. None of that stupid blister packaging here, just a cardboard box with a lid. Inside the box I found my device, a case that I’d ordered, quick-start guides in several languages, a pamphlet advertising accessories that aren’t offered on the “Ubuntu Worldwide” section of their site and thus are unavailable to me, a standard USB-A to Micro-USB-B cable, and a power adapter with a European plug. Obviously the power adapter is useless to me, but it’s unimportant. I’ve got tons of others that will work here.

Setting up the phone

My first order of business was to transfer my SIM card from my old phone (and it was little more than a phone) to the new one. That portability is the whole point of SIM cards, so you’d think it would be as simple as just removing the card from one device and inserting it into the other. You’d be wrong. My old phone used a mini SIM, also known as 2FF or second form factor. SIM cards apparently used to be the size of a credit card. So pronounces the great Wikipedia. The new computer requires a micro SIM, or third form factor (3FF). I grabbed a pair of scissors and, using a template I found online, cut the card down to size. It’s easy enough to do, provided you print the template at the correct size and don’t have shaky hands. Still scary though.

With my SIM card properly trimmed, I put it in along with a micro SD card I had also transferred form the old phone, and booted up my new PDA. Ubuntu soon welcomed me. Its setup wizard guided me through the steps of connecting to my wifi, enabling geolocation, and whatever else. It was so easy I don’t even remember what I did; I just breezed through it. The hardest part was remembering my “unforgettable” wifi password!

The interface

Where Ubuntu really stands out, compared to Android and iOS, is its interface. The focus on scopes, which can aggregate information from multiple apps, rather than on apps themselves is a refreshing approach to interface design. the Music scope, for example, lets me listen to music either stored locally on the device (aggregated from the similarly-named Music app) or from Soundcloud, YouTube, and other services. The Today scope gives me a summary of things that are temporally nearby – recent calls and messages, current weather, upcoming holidays or other events.

Another big difference, interface-wise, is the lack of a “home” button. Both iOS and Android have these. It may or may not be a physical button. My point is, Ubuntu doesn’t have one. You swipe across the screen to access things. Swipe from the left edge to access your pinned apps (other apps are listed in one of the scopes). A short swipe from the right edge allows for swapping back and forth between two things, whereas a long swipe from the right lists all the apps you have running and allows you to flip through them. Swiping down from the top gives you access to system settings, whereas swiping up from the bottom accesses the settings of the current app.

It seems like there should be a learning curve, but all this swiping just feels natural to me. I can’t figure out why. The fact that I run Ubuntu on my laptop might be a factor, but I doubt it’s a big one: the Ubuntu that runs on laptops and desktops is not the same Ubuntu that runs on PDAs.

The software

Of course, I can’t review an operating system without at least mentioning the software that comes with it.

The email client: It doesn’t come with one. I’ve heard online that Dekko is good enough they’re considering making that the default. I haven’t bothered to install it yet. (Edit: It does come with a GMail web app, so that’s something at least)

The web browser: It’s a web browser. It’s called Browser. Nothing special at first glance. Not particularly good or bad. I do appreciate that it lets you choose DuckDuckGo as your search engine. The only thing I dislike about it is its icon, a compass needle on a map background. That icon seems to me like it should represent a GPS app, not a web browser.

Messages: the messages app gave me a little trouble. Or maybe I should say the contacts app gave me trouble. They’re pretty integrated. The trouble was that I wanted to send a message to my brother but every time I tapped his entry in the contact list it tried to call him. I figured out that the Messages app’s recipient list is really a search bar; typing the first letter(s) of a contact’s name presents you with a list of matching contacts from which you can choose.

Phone: Of course, what good is a smartphone without good phone functionality? Ubuntu’s phone app works fine. When it starts up, it presents you with a keypad and prompts you to enter a number. A person icon (a little small and hard to see in my opinion – just a little) gives you access to your contacts. Beside it is something that slightly resembles a gear which takes you to the relevant system settings.

Facebook and Twitter: I immediately removed these two apps because I don’t use those services. I appreciate that, unlike their equivalents that came with my Kindle Fire, these apps are removable.

The camera app: A basic camera app suitable for taking quick photos when you don’t want to bother setting up a real camera. Doesn’t offer much in the way of control – you can’t even adjust exposure time manually. Does have the ability to display a rules of thirds grid on screen.

The calculator: For some reason the calculator app wasn’t pinned by default, so some users might not realize they have it installed. It’s a good calculator for everyday use, though it doesn’t offer as many abilities as say SpeedCrunch.

It’s now the future again

So one more landmark in the impossibly far-off future has passed. 1997, when Skynet became operational? Last millennium. Year 2000, when our technological society was destroyed because all the computers had the Y2K bug? Check. 2001, the year we find the monolith on the moon? So last decade. 2010, the year we make contact? In the past. It’s 2015 now. October 21st 2015, about 4:25 pm Pacific Time as I write this. At 4:29, Marty McFly arrives in a flying DeLorean having come directly from 1985.

Now, obviously the Back To The Future movies were never meant as serious predictions of future events. I mean, really? Cubs win World Series? Come on. The BTTF movies’ creators depicted a fantastic future, one they could have fun with. It’s a comedy, after all.

That said, I’m writing this post to explore the technologies shown in BTTF 2 and the possibility that we might actually have them by now.

So here are the ones that stand out in my mind, in no particular order:

  • Flying things. Cars, hoverboards, dog walkers.
    • Cars: Flying cars have actually been around for a long time, they just never became very popular. Depending on how one interprets the word “car”, one could say that 1917’s Curtiss Autoplane fits this description. References: Wikipedia (yeah, I know it’s not a reliable source but I don’t feel like looking up the actual sources) 1, 2, 3
    • Hoverboards: Definitely not cheap enough that you’d build these into a hoverboard and give one to your little girl, but I’d say this quantum levitation video is close enough. Plus the video’s from 2011; we’ve had some time to improve the tech since then.
    • Dog walkers: Yes and no. I say “yes, we have these” because quadcopter drones have become cheap enough that I can imagine somebody hooking theirs up to a dog’s leash as a joke. I say “no, we don’t have these” because those cheap little drones would never be able to resist the dog’s pull. It would be as if the dog were just allowed to walk free.
  • Fax machines everywhere, even in our mailboxes: While I will give some credit for predicting the prevalence of electronic communications, the movie specifically showed fax machines. Nobody uses fax anymore. I have a machine – actually a multi-function printer – but it’s not hooked up to a phone line. That’s a far cry from the McFly family having machines all over their house all printing the same fax at the same time.
  • Big TVs: They’re here. Obviously not as comically over-sized as the wall-covering screen Marty Jr. uses to watch six channels at once, but today’s TVs are really huge compared to the ones in 1985. Also, bonus points for predicting flat-panel display technology and widescreen video.
  • The Scene Screen: Speaking of TVs, this I think is one of the more plausible technologies BTTF 2 demonstrated. Roll-up window shades have always been passable projection screens. Now we have projectors so tiny they could conceivably be hidden inside a nearby table or something. Combine that with a Kinect to identify the screen’s location and effective dimensions (which may change as the screen gets rolled/unrolled) and a Raspberry Pi to run it all. I think this is doable.
  • Robot trash cans: Not exactly commonplace, but they do exist.
  • Head-mounted TV/telephones: We’ve got better ones. Better because ours can fit in our pockets and can run apps (they are actually computers, after all).
  • Dust-repellent paper books: Who cares about protecting books from dust when you can coat them with superhydrophobic spray and then just wash the dust off? I don’t know if superhydrophobic coating would actually be good for the book’s pages (has it ever been tried? Would it make the pages stick together?) but I like this idea.
  • Instant sleep-inducing devices: As far as I know, we’ve got nothing even close.
  • Instant food hydrators: You want your food hydrated? Just pour some water on it.
  • Home nuclear reactors: While nobody’s yet build a reactor into something the size of a coffee grinder (the actual Mr. Fusion prop used in the BTTF movies was a Krups coffee grinder), home nuclear reactors can be built. See, for example, this Popular Science article from 2007. Cold fusion is still not a thing though.
  • Holographic sharks: Not quite as unrealistic as you may think. Still impossible though.

So what technologies, from these or other movies, stand out to you? How probable do you think they are? Let me know in the comments!

Stay happy, stay free, and don’t forget that you don’t need to be a consumer.

Later.

Final Blog Assignment: Writing Prompts

So this is my final assigned blog post. I will occasionally write more, just not on a regular basis.

This assignment is to respond to a series of writing prompts, so here goes.

  1. What assignment was the most useful to prepare you to participate in OpenMRS Mozilla and how was it useful?
    • I think my answer to this question will have to be two assignments: the “email your mentor” assignment, and also the “assignment” (I put that in quotes because I’m not referring to a particular bit of homework) of contributing to the large and active Mozilla codebase. I mean that actually contributing to the codebase is what most helped me get prepared to continue contributing. As with most things in life, the best way to get something done is to actually do it.
  2. In retrospect what else would have been useful?
    • I don’t know. Obviously some effort was put into both finding a beginner-friendly project (Mozilla) and encouraging us all to contribute to that, while also helping us to find other projects that might be more to our liking (OpenMRS and the project evaluation assignment). That effort is much appreciated.
  3. How much effort did you put into this class?
    • I don’t know how to answer this, because it aligns so well with my interests that I was never sure whether what I was doing should be considered ‘work’ (and thus effort) or ‘play’. I don’t consider it effort when I make art for art’s sake. I don’t consider it effort when I play a game for fun. I don’t consider it effort when I write a program merely because I enjoy writing programs; the question really is whether fun was my only reason.
  4. What was your greatest source of help in becoming engaged?
    • The welcoming atmosphere of Mozilla is nice, as is the ease with which I wrote my first simple Firefox extension.
  5. What was the biggest hurdle to engagement?
    • Personally I felt affected by two hurdles: busyness, and an unusually high level of artistic inspiration. Busyness because every time I felt like coding, I found that I had homework for other classes that needed my attention – not that I didn’t enjoy learning OpenSCAD, Python, C, and Haskell, but by the time I was done with those assignments I was ready to do anything other than wandering through forests of unfamiliar code in search of elusive bugs. Artistic inspiration is rare for me, so I try to use it whenever I have it.
  6. If you were to participate in another OSS community what are the steps you would take to become engaged?
    • Join mailing lists. Participate in forums. Join my local LUG; I know there’s one here in Corvallis at OSU.
  7. What influence, if any, did your mentor have in what you chose to work on?
    • None really. My mentor and I barely even contacted each other.
  8. What influence, if any, did your group have?
    1. Little. We all worked on our own projects. They did help me come up with ideas for Firefox extensions.
  9. If you had it to do over again, what would you do differently?
    1. I might try to find a group that would actually work together on one project. Not sure about that, but I get the feeling from reading others’ blogs that those groups have something to show for their term’s worth of effort, whereas my group has a few barely-started projects. We do intend to keep working on our stuff though.

Unproductive week

Open source wise, this last week has been totally unproductive. I was occupied all week due to midterms and homework, and then on Saturday – the day I had hoped to get some coding done – I had to go to the eye doctor and get my eyes dilated. That means no looking at computer screens.

New blog!

This isn’t my first blog. It’s not even my first blog created using the WordPress software. My previous one, which I would still be using if I felt I had a choice, is unfortunately hosted on a very unreliable web server. It hasn’t worked reliably since October. So, I will likely try to import blog entries from that blog to this one. You might be able to access my old blog here.

I also have a wiki, located at http://jdea.wikia.com (jdea is a screen name I commonly use – ‘idea’, but with the i replaced by my first initial). Creating a wiki on Wikia is really easy.

I hope, at some indeterminate point in the future, to set up my own server which will host my blog, wiki, email, social networking stuff… basically my entire online life. I don’t like the fact that putting stuff on the Internet often involves relinquishing control to someone else.

Finally, I’ve got to mention the class I’m taking in Open Source Software development. Fun class so far. We, the students, have split up into groups who we will probably work with throughout the term; an idea which I like because it enables much more personal attention to be paid to each of us, and we can and do meet online via IRC. I like the flexibility of time and location that meeting online gives us.

The Lion King: Simba is evil, Scar is good

I’m listening to the soundtrack CD for Disney’s The Lion King right now. It’s got to be my favorite movie. I’ll always have a place in my heart for Simba, although I know he’s a fictional character and a villain.

Yeah, I think Simba – the main character of the story – is actually the villain. It all started some time ago, as I was watching The Lion King 2: Simba’s Pride (relatively good for a Disney sequel). In that movie, Simba is almost as evil as a character can get. He’s basically the Hitler of the lion world. I’m not making that comparison just because of Godwin’s law; there are real parallels to be drawn. At the end of the first movie, Simba inherited a country in dire economic condition. The phrase “money to burn” is said to have come from post-World War 1 Germany, where it supposedly was cheaper to burn money than to buy firewood. Disney’s lions don’t have money, but if they did I’m sure they would have said something similar. Simba rose to political power in part because some believed he had inherited the throne from his father, not unlike Hitler’s Third Reich inheriting power from the Holy Roman Empire (“First Reich”) and the German Empire (“Second Reich”), and in part because he gave his Aryan/lion subjects the perfect scapegoat: the Jews/hyenas. He concentrated the hyenas into camps, which he called “the bad lands”. This portrayal of Simba as evil did not fit with my recollection of the first movie, and it didn’t make sense until I re-watched the first movie with that in mind.

Going back in time to the first movie, we see Mufasa doing exactly the same thing as Simba did in the second. I guess that’s where the similarity to Germany ends, as I don’t remember reading about concentration camps before the Nazis came to power. So there’s Mufasa enforcing racial purity, and there’s Simba who’s just an innocent little kid. Then there’s Scar. Scar, whose entire identity – whose very name – is based on the fact that he has sparred against Mufasa in the past. Scar, the freedom fighter. Yes, he’s greedy, he clearly implies that in his song “Be Prepared”. But in that same song, he promises long-awaited prosperity and justice for the hyenas (“Stick with me, and you’ll never go hungry again!”)

Scar dethrones Mufasa. He takes over the kingdom. How does Simba respond? By shirking his responsibilities and bumming around the jungle for a while. And we’re supposed to root for Simba? He doesn’t go off to some far-away ninja dojo to hone his fighting skills like some incarnations of Batman. He just leaves, just gives up. Those hippies Timon and Pumbaa don’t help either; they just encourage him to smoke pot eat roaches and stare at the stars.

One night, after spending several years doing nothing in the jungle, Simba gets high hit on the head and hallucinates seeing his father in the clouds, who tells him to go take back the kingdom. So with no preparation whatsoever (except that he had met Nala and was not completely alone in his quest), Simba runs back home. Lucky for him, Scar was an incompetent ruler and the troops were literally starving under him, otherwise I’m sure Simba would have had no chance of winning.

At least Scar had good intentions as a king. Simba just took power because he thought it was his divine right to rule a country. God Mufasa told him so.

So why did I say that I love this series, and Simba, so much? Simple: It’s masterfully done. It takes a real gift to write a story in such a way that you don’t even realize you’re rooting for the wrong team. The other aspects of the movie are also top-notch: the songs are memorable, the animation incredible, the voice acting amazing.