Archive for the Programming and Internet Category

New Phone!

Posted in Programming and Internet on December 22, 2009 by chaosincarnate

I’ve got a Motorola Droid now, and I have to admit, I love it. T-Mobile has pretty… well, nonexistent coverage here in the land of corn and cows, so, I got out of that contract, and got a Motorola Droid (My girlfriend has a Droid Eris). It’s a pretty substantial upgrade from the G1, truth be told. The screen is great, the 5-way digital pad is more useful on a touchscreen device than a trackball, in my opinion, the new Google Navigation feature is just epic level awesome, the camera is worlds better (With a flash!), and thank jebus, a flipping headphone jack.

As much as I liked T-mobile, the network is a factor too. Pandora on Verizon’s 3g network is excellent, and I can have it going from when I leave (About 10 miles out of town), for 30 minutes until I get into work, without any skipping or slowdowns at all, Google maps and navigation pull up really quickly, and SSH runs like a dream.

There are some complaints, though. VZW has IRC blocked for some random reason. Haven’t gotten an answer from them yet as to why. There’s also something funny going on with http security certifications I’ve not pinned down yet. (Though, SSL is working perfectly on my machine). I’ve got a workaround for IRC (It involves a bouncer on my home machine, with an odd port and SSL on it.), and the weird security certs are on sites I’m not sure I trust anyway.

Still, it’s nice to have a phone with a network that just _works_ where I live


Web/Desktop Apps.

Posted in Programming and Internet on March 5, 2009 by chaosincarnate

I like having desktop apps. It comes from a long time of having a flaky connection at best. But there’s an interesting convergence of web and desktop apps.

Take my blog writer, for example. I use ScribeFire. It ties in with my browser, and I can edit posts offline, and post them when I’m done. I really like it.

You could make the case that since it’s a hard firefox extension, it’s still a desktop app. But seriously, what’s the benefit of a blog editor without an internet connection?

Look at Gmail. For a long time, I used Thunderbird. But, with Gears integration, I can just take my Gmail offline with me. I can write an email, set it to send, and next time I’m connected to the mighty Google Cloud, it’ll send.

I also used to use Sunbird. I even had it tied with my Google calendar. But, I found myself more firing up Firefox to view or tweak my calander than Sunbird.

There’s a lot of really compelling features in Gmail that are hard to match in any other app. Calendar integration is a good example. Google Talk, Google Docs integration… all awesome.

In fact, the only cloud app I don’t use more online than offline is office stuff. There’s just something about being able to fire up a word processor. Though, with what is likely another stint of crappy internet, just for kicks, I’m going to try.

Once upon a time, webmail was quirky, and definitely not as good as a good desktop client. Online Documents usually meant “Save in word, upload somewhere.”

It’s funny to me to look at things now, where in a lot of cases, web apps are more full-featured and awesome than the desktop versions. Some of it has to do with the sharing and collaboration you can only get in the Cloud.

But some of it is just better applications. Which, truth be told, I still have a hard time getting my head around.

My main offline apps are Eclipse (IDE), Gimp and Inkscape, and games.

There is a cloud-based editor, Bespin. It’s ridiculously cool, but still in Beta. AFAIK, it’s only got Javascript syntax highlighting, but all kinds of awesome. It’s something I can see _TONS_ of potential in. Especially if there’s live collaboration ala google docs. How cool would it be to just open up sourceforge, look through and make changes, and save them instantly.

I’ve not seen any decent Gimp or Inkscape tools online (Though, I haven’t looked either).

And a lot of games I play you won’t find online. But, there’s always Newgrounds or Kongregate.

Still, it’s enough to get me fascinated with thinking about what applications will look like in 5 years.

Don’t Worry, I’m from the Internet.

Posted in Programming and Internet on March 5, 2009 by chaosincarnate

It’s actually really hard to think about what my life would be like without the Internet. Having a month with limited internet made me think about that a lot. And about what the future would look like.

It’s no big revelation to say that we’re an incredibly connected society now. But for me, this is absolutely nothing new. My mom was one of the first webmasters, way back when. I learned HTML before I learned how to multiply.

Hell, I was probably even one of the first kids my age to use e-mail for everything. (My Xbox LIVE Gamertag is off by a few years of my actual age, because I got it when I needed to tweak my age.) And I had other emails before that even.

But there’s more to it than that. Considering how often we moved, and how far away, I don’t really have a home state. I don’t really get attached to places. I’ve taken to defining “Home” as “Wherever I live now.” And you know, I really don’t mind. I love that I moved so much. How many people can say they’ve lived a block from a beach in sunny Florida, and lived in the Mountains. (Rockies FTW).

There was always one thing constant though. The Internet. No matter where we were, I had access to the internet. Not always the greatest, but there nonetheless. I could keep in contact with friends I had to move away from, keep a consistent community of friends around me, all well before the Web 2.0 entered our lives.

Hell, I even owe the love of my life to the Internet. I met her in a crappy chat room I went into because I was bored, and shooting lonely, angsty, bitchy fish in a barrel. Three years later, we’re living happily ever after.

I owe finding people with similar interests, that I never would have found locally. I owe that I wasn’t alone my entire childhood to the internet.

All things considered, I didn’t grow up in Florida, or Nebraska, or Colorado. I grew up on the Internet. And I’m here to help.

The Battle of the Browsers

Posted in Programming and Internet with tags , on March 5, 2009 by chaosincarnate

As soon as Chrome came out, I switched to it, and used it for quite awhile. I still really like it. But I’ve switched back to Firefox recently. Part of it has to do with my primary computer being my laptop. My girlfriend used it most of the time before, so it didn’t have Chrome. Now that it’s got Kubuntu, I don’t have the option. (It also helps that my only internet was tethering my G1 for awhile, and that needs FoxyProxy.) But now that I don’t have it, I find that I really don’t miss it.

One of the things I loved about chrome is that it was lightning fast. Quick to load, quick to load pages, and the default tab was all kinds of awesome. The architecture of it was also awesome. (Each tab has it’s own process, so if something goes down, it doesn’t crash the browser.)

But, I find that I missed the extensions. Quite a bit, actually. Like, I’m writing this from ScribeFire. I’ve also got a weather monitor, and RSS reader, and a twitter client.

Outside of Twitter, this is all stuff I’ve got on my desktop via SuperKaramba. (Think Yahoo Widgets for Linux. Pretty shiny, actually.) But, I find there’s a lot of stuff I just really like having in my browser.

Like Twitter. It’s really nice to have that always-on in my browser. Same deal with the weather. Feedly (RSS Reader) is all kinds of awesome. It’s got a magazine look-and-feel, with all of the instant awesome of the internet.

And I really like having a standalone blog writer. Especially considering I can just open it in a new window, and edit it whenever, even if I’m not online.

This, however, isn’t to say there’s a lot of really neat stuff I’d like to see in Firefox from Chrome.

The main one, and probably one that won’t happen, is the architecture. Have every tab and most extensions run in their own process, so that when I crash a tab with a bad Java applet, I won’t tear down the browser.

The second is the speed. Which I have heard is a major improvement in 3.5, but I still want to see it. Truth be told, I think this is related to the first one.

Third, is I really love the new tab page from Chrome. My 9 favorite web sites, recently closed tabs, and history. Much better than a homepage for me. (Any, well, chrome I’d have on it, I have in my browser normally.)

Fourth is the “one bar” system. It’s easily my favorite feature in chrome, and I still accidentally try to use it in Firefox.

Of course, the big thing with this, is Firefox has full extension support, and chrome does not. Reading above, I’d likely switch back in a heartbeat if Chrome had good extensions for everything I use.

Of course, assuming that Firefox didn’t come out with something else awesome. Which, considering it’s history, is a really bad bet.

It’s going to take quite a bit for Chrome to win me back. It’s likely possible, but it’ll take some doing.

Why Python rocks.

Posted in Programming and Internet on January 13, 2009 by chaosincarnate

It’s probably pretty clear Python is my language of choice.  What I haven’t made clear is why. There are lots of reasons, including no compile step,  clean, readable, but powerful syntax… the choice between OOP and procedural programming. (While OOP is generically better, to quick-test a bit of code or concept, a much faster procedural test is awesome.).

Also awesome, is the fact that it’s been ported to two managed languages. Java (Jython), and .NET(IronPython). Now, you may be wondering why you’d port one programming language to another. The short form, is A: As a scripting language, and B: To access the libraries written in Java and .NET through Python. Basically, IronPython makes Python a .NET language (I.E, on level with C# or VB.NET), and Jython means python can access Java libraries and functions. mod_python is awesome if you’ve got a fresh Apache set up, but if you’ve already got a whole bunch of Java servlets… well, fitting in a few Python servlets to either prototype with, or make use of python’s exceptional agility, starts to look really appealing. 

Which brings me to the last point of Python’s Awesomeness. A live console. I’d reccomend installing python anyway, but if you want to get the idea first, go here. You’ll have to approve a security warning, as it’s an appalet running a full Python console via Jython. It’s on GNUCitizen, but if you’re the paranoid type, source is available here.

And probably the best way to get used to a new language is to play around with it a little. So here’s a quick primer.

First, the basics. (Just type this into the interactive console, hit enter to go to a new line, no real worries.

A simple math test.

print 2 + 2

This is building a list.

list = [1,2,3,4,5,6,7,8,9,0]

Printing the list.

print list

Look, an iterator!  (Just hit enter after the colon, then hit enter twice after the n.)

for n in list:
	print n

Basics out of the way, lets look at something a little more substantial (This only works in Jython, as it refrences Java code.) A more-or-less linear translation of Sun’s Swing hello world. (Put into procedural form to make it easier to type out into the console.)

from javax.swing import *
frame = JFrame("Hello, Jython!")
label = JLabel("Hey, a label!")

At this point, a Java window should pop up. Now, if you would, window your web browser with the console in it, and arrange it so you can see both the new Java window, and the python console, and type this line.

label.setText("Look, Dynamic!")

When you hit enter, notice anything? Like, how the label changed instantly, without any need to recompile, relaunch, or otherwise fiddle with it? You can do the same thing with WinForms in IronPython, and Tkinter in stock (CPython). (Though, the procedure in Tkinter is different). Overall, it provides a really agile and quick way to develop. Plus, the syntax is dead simple.

Rich Web Apps, in Python.

Posted in Programming and Internet on January 2, 2009 by chaosincarnate

Web apps have always been something I’ve had a lot of difficulty with. I really don’t like Java, largely for subjective and unjustifyable reasons. Also, I work at about 1/8th of the speed in Java. So, looking around online (I think for a much simpler alternative to Django), I run across Jython. Now, considering my poor google-fu, it’s not surprising I didn’t know of this before. But, considering that I frequently have need to write stuff using Java, this is one of the coolest things I’ve found. Especially once I came to the realization that, hey, I can write servlets using this! So, a simple tomcat setup later, I’ve got Python servlets, in a normal Java environment.

But, that alone wasn’t enough to get what I was going for. I had found the Google Web Toolkit before, but that would require me to write tons of code in Java. Which is theoretically possible, but really annoying, and really, really slow for me. This is where Pyjamas comes in. It’s a Python-to-Javascript compiler, with widgets. All in all, fantastically cool. It’s not as far along as the GWT, but still very useful. I’m still learning and working my way around with it, but it looks really promising.