Skip to content

warp.byu.edu

Conan Albrecht's Musings

Am I the only one that didn’t like Avatar?  Am I the only one that walked out about halfway through because I was both bored and disgusted with the storyline?  It is now in its seventh week at the number one spot.  I have a really hard time placing it with classics like Star Wars or Lord of the Rings.

Were the graphics stunning?  Absolutely.  After a bit I forgot I was watching computer-generated graphics.

But was the storyline good?  Not really.  I was bored after about 1.5 hours.  From a storyline perspective, I felt like I was watching a kids cartoon.  It was totally predictable, had no plot twists, and followed a pattern we’ve seen in many other movies.  There was little in the way of actual sci-fi concepts.  No explanation of how the avatars actually worked.  It was more fantasy than futuristic.

And then there was the part that disgusted me: the direct, not-even-veiled idea that corporations are evil.  For example, one line said that corporate executives only like one thing less than killing people: poor quarterly earnings.  In other words, the movie didn’t just imply–it came right out and stated–that corporate execs would be willing to kill indigenous species to show great earnings.  Really?  We’re not talking about an owl or polar bear here: we’re talking about a willingness to wipe out a sentient, human-like people.  I’ve worked with a lot of corporate execs, and I’ve read about a lot who even get caught up in fraud.  But none were willing to blatantly kill people (military style) just to make the company look good.  It went far beyond the typical “save the environment” message many of today’s movies do.  I was offended as a human being and as a member of modern society.

What made it even worse is I sat in a theater full of people cheering every time these concepts were presented.  These people all drove cars to the theater, sat in an air conditioned room, and enjoyed popcorn and other conveniences of our modern economy.  Didn’t they see the irony?  If they had come to the theater living like the indigenous people in the movie, I would have been satisfied.  Does Hollywood really have such an impact over our thinking?  I hear people praising the movie all the time.  Was I the only one that didn’t like it?

Intel is now saying that it’s listing of Macbook Pros with Intel i5 processors was a marketing error.  Don’t you love the language in the correction?

“Intel has apologized for the mistake and the confusion they have created with this slip, which it blamed on a lack of communication from their central marketing agency. Intel has modified the artwork for the promotion, which was available in several countries, to reflect the “new” laptop model available for the drawing.”

In other words, Intel is not denying that the new MBP has an i5 — it’s just saying it was a lack of communication.  How much do you want to bet the new MBP will have the i5?  Someone got chewed over this slip.

As one commenter said, it’s a non-denial denial.

Wow

Jan 27

I’m currently on a Skype conference call with researchers in Utah, Nebraska, Germany, and the Netherlands.   It’s as clear as a call to my next door neighbor.  And it’s totally free.

What a cool world we live in.

I just finished reading a short history of video compression on Ars.  It’s not too technical and is an easy 10 minute read.  It details how we went through Cinepak, MPEG 1 and 2, DiVX, and H.264.  It’s a great read for anyone wanting to speak (somewhat) intelligently about video codecs.

I’m sitting in a meeting in a Washington, D.C. hotel, and it’s amazing the number of “green” references I see everywhere.  Green has taken over marketing everywhere.  Here’s two references that strike me as interesting:

  • We’ve been given Fiji brand bottled water, which has green water drops on it, a link to a green web site, and other green references.  Now, I actually enjoy bottled water for the convenience even though I know it isn’t the most environmentally-friendly thing.  But, in reading the back label, I see that this water has actually been bottled in and shipped from Fiji!  We have perfectly good water (both locally bottled and culinary) here in D.C.  Do we really need to be shipping it from halfway around the world?
  • My hotel room has the typical sign that says I need to help save the planet by reusing my sheets and towels.  I don’t have a problem doing this, but I am quite sure that if not washing towels actually hurt the planet, most hotels would find a different reason to have me reuse.  In other words, the reason they want me to reuse has little to do with the planet — they want to save money!  Why can’t they just be transparent and tell me to reuse so they can keep my hotel rates low?

I’m not against recycling and reusing.  It’s just amazing how many companies and politicians jump on the bandwagon because it is convenient to their own purposes.  It’s near impossible for a regular individual to separate reality from fiction because people have so many goals in this.

I posted previously about my little Brother wireless printer that I “hacked” the toner on.  Just a quick note to say it is still running strong on the “empty” toner.  My kids print dozens of pages each day, too.  Awesome.

As of November, Tiobe lists Python as the 7th most popular programming language in the world.  It’s held that position (or close to it) for a long time.  Python just can’t push past about 5 percent of the market.

Python is my favorite language.  I would love to see it gain more popularity.  It is clean, easy to use, and very powerful.  It can do most things, and it natively plugs into C for anything it can’t do.

Let’s look at the languages above and near it in the list.  There’s little to be gained from the C and C++ camps.  The people using C and C++ generally needs those languages and won’t be switching to anything else soon.  That leaves C#/VB.Net, Perl, Java, and PHP.

What is it that these languages have that Python is missing?  Where does Python fall short?  I submit that Python has failed to standardize on a few key uses.  Sure, there are Python projects that fill these spaces, but most new programmers don’t want to learn and evaluate several frameworks; they want to move immediately.  The following are the areas I’m thinking of:

  • A standard GUI toolkit – Yes, I know that Python ships with Tkinter, but it’s weak and lame.  Tkinter doesn’t hold a candle to .Net forms or even (dare I say it?) Java Swing or SWT.  Yet, there are several very powerful, cross platform toolkits available for Python.  wxWidgets is a modern, complete toolkit for building GUI forms.  It has lots of support, a great wiki, and works well on all the major platforms.  PyQT is feature complete, supported by a company, and creates beautiful GUIs.  There are other options out there beyond these two.  The Python overlords need to step up to a new standard.  wxWidgets is my personal pick because it is truly open source and integrates well.  It (or another toolkit) should ship with every Python build.  Programmers should be able to assume that it will be on any major Python platform.  This would put it closer to what .Net gives.
  • Free-form web integration - This one is targeted directly at the PHP competition.  We need a standard way to create web pages with Python, PHP style.  No, I don’t mean CGI programs.  Nor do I mean full web frameworks.  I mean the quick and dirty, embed Python into a web page stuff.  Don’t tell me that all web sites need an MVC framework.  There are lots of web sites out there that need a little code inside of a mostly-HTML site.  I know it is not Pythonic, but that’s why PHP has been so successful.  It’s gets the job done, and quickly at that.  In many programmers minds, there is always time to come back later to make things more structured.  There have been several projects to make Python do this.  The now-dead Spyce project had much of what JSP provides, including custom tags. PSP is a less complete but still viable solution for this.  The Python camp needs to be able to embed Python into web pages easily, and it needs to ship with the product.
  • MVC web framework – This is for the times a person wants to do a web site right.  It’s why .Net makes web so easy.  It provides an easy way for new programmers to do solid web sites.  It provides widgets for common tasks.  It automates form creation.  Several Python projects have done this, and they’ve done it very well.  Django is an awesome project.  TurboGears is great.  Let’s pick one and get behind it.  Let’s ship it with Python.
  • Integrated development environment – Python ships with a very rudimentary environment called IDLE.  The Windows version ships with something slightly better.  The problem is that most Python programmers (me included) simply use a text editor.  But many new adopters need an IDE to hold their hands.  There are some great IDEs out there for Python: Wing and Eclipse are two.  These need to be pushed harder on the Python web site, and even possibly included in one of the available downloads.  We could have the “small” version or the “full” version that includes the IDE.
  • Frozen Applications – Most users want to compile their programs to .exe files on Windows, app bundles on Mac, and .deb or .rpm on Linux.  Several frameworks do this nicely for Python.  py2exe, py2app, and the standard linux packaging tools make it easy.  But they don’t ship with Python, and they aren’t standard.  Make it easy for people to distribute their Python programs.  IMO, this is one of the primary things that has held Java back since the beginning.

In all of the four categories above, there are mature projects ready to be included in Python.  Just as the ElementTree XML project was included in recent versions of Python, the community needs to package the above four as well.  Python’s mantra is “batteries included”, yet it is missing (decent) standard toolkits for the work that 75 percent of programmers do.  I know there are issue with bringing projects this big into the main tree, but I believe it is time for Guido to seriously consider doing so.  Despite the difficulties involved in doing so, the lack of these toolkits as a standard part of Python continues to hold the language back.

LaTeX is a text-processing system that creates beautiful PDF documents.  It is a great alternative to MS Word for structured documents.  Word is still better for the simple stuff, but LaTeX kicks its tail when it comes to organized documents.  For documents like academic papers, technical reports, and user manuals, LaTeX is great.

LaTeX is not easy to learn; it’s got quite a steep learning curve.  It is similar to programming – you create the document using LaTeX codes in a text editor (TeXShop is awesome for Mac), then you hit the compile button to get a beautiful PDF.  The compiler automatically formats the document for you, including title page, table of contents, chapter headings, etc.  When creating the document, you focus more on content and organization and let LaTeX take care of formatting and publishing.

I am currently writing the Picalo workbook, which is a workbook for users to go through when learning Picalo.  I need one page with the questions on it, then a second page with both questions and answers.  LaTeX allowed me to create a macro where I enter the question paired with its answer.  The compiler grabs these pairs and separates them into the correct pages, with the correct formatting.  It’s a sweet way to create the document.  When I’m done, you’ll be able to view it in the document section of http://www.picalo.org/.

For anyone doing technical documents, check out LaTeX.  The learning curve is steep, but it’s well worth the effort in the end.

I’ve been ordering a lot of pizza lately because of Domino’s $5.99 large deal.  I’ve also filled prescriptions lately.  And I’ve been comparing the process.  How is it that pizza ordering is so technologically advanced while prescription filling is so, well, frustrating?!?

To fill a prescription, the doctor has to fax or call the order, or I have to take a signed paper slip to the pharmacist.  Then I have to wait.  It will be done when it gets done.  It might be 15 minutes, or it might be 2 hours.  I have no information on how my prescription is processing, and I have to guess when to go back to get it.  I’ve spent countless hours of my life waiting for prescriptions.

From a process perspective, pizza ordering isn’t too different.  Customers submit orders, and the store fills them.  It takes about 15 minutes for either one.  There are a few differences.  Pizza orders are filled by minimum wage workers.  Mistakes at the pharmacy are more serious than accidental anchovies on a pizza.  There are more potential “ingredients” at the pharmacy.  But reduce it to the actual process, and they seem pretty similar to me.

Domino’s has perfected the online ordering process.  I simply login to their web site, submit my order, and watch the progress bar.  At every step of the process, a worker updates the pizza status, and an Ajax-enabled web page updates my screen.  It’s a totally transparent process to the customer.  The current step even glows to me.  Here’s a sample graphic if you’ve not seen it before:

dominos_pizza_tracker

Why can’t pharmacies do this?  Can’t doctors’ offices submit the prescriptions to a web form and give me an id to track it?  Sometimes the simple stuff gets the most advanced technology, doesn’t it?

Nope, it’s not the blog that is moving again.  We’re moving in the old fashioned sense.  We bought a lot in Eagle Mountain today.  We’ve always wanted to live closer to the country, so we’re taking the leap.  We absolutely love our home and ward in Orem; it is sad to leave.  If you know anyone looking for a home in Orem, let me know.