Archive for category Ranting & Ravings

Computer Science vs. Programming

There have been a few Slashdot submissions here and here. They’re concerned with an article published by two professors from NYU that assert that Java (and similar high-level languages) are damaging to teach as the “first language” of a Computer Science education. Since I wasn’t a real CS major, I’m perhaps a little outside of this discussion. However, I cut my teeth on C/C++ at school before moving on to the high-level languages (really just .NET and some very high-level languages like Ruby and Python).

I tend to agree with the conclusions. It’s not that there’s no place for Java. It’s just that without the fundamentals of pointers, memory management, and basic understanding of the construction of complex data structures which are just handed to you with Java or .NET, it’s very difficult to fully comprehend what you’re doing

I had a very good professor that taught algorithms and data structures at school and although at the time, the experience was painful, I’m sure it has helped immensely. Despite my affection for things like Ruby on Rails which is extremely high level, I’m annoyed sometimes because of the indeterminacy of functions and the vagueness of the specifications. When you write a language that can do powerful things in one line of code, you’re taking a lot of shortcuts and it can be surprising when a function returns something very unlike what you expected do the complexity of the underlying code. Basically, you ignore things like sorting algorithms entirely in favor of the “built-in” sort routine. How does it work? Well, you can dig it up in the code, but most people will simply use it and assume that it’s the fastest for all of their needs. What happens is that writing code becomes an assembling of pre-built components. It reminds me of “building” Ikea furniture. Granted it takes a certain amount of handiness to put together your new desk but you’re not gaining skills that you can use to build anything yourself without first being handed the pre-built pieces.

I tend to think of myself as primarily a Software Engineer. I’m not just a programmer because I do a lot more than write code. But I’m also not much of a Computer Scientist because I spend very little time actually attempting to improve upon techniques and mechanics of processing information. These definitions are a little vague, but I feel that Software Engineering is more what I do because I apply creativity to the process. I think one can be a Computer Scientist and a Software Engineer but I don’t think my work normally falls into both categories. I’ve always found the role of a traditional Architect to be similar to Software Engineering. It’s an application of creativity (design, color, texture, material, etc.) to a field of science (physics) that results in [hopefully] useful buildings. There are some “cutting edge” Architects that attempt new and innovative projects but most Architects are working with existing ideas and applying them creatively.

I’ve heard that Frank Lloyd Wright’s buildings although amazing in appearance and remarkable in their artistic qualities are often problematic in simple ways. Flooding basements, leaking roofs, etc. were the result of a poor implementation of a great and artistic idea. It’s not enough to be artistic and creative; a good system like a good building works and functions as it should in addition to its aesthetic qualities (which make it unique).

I’ve always seen this distinction between implementation-focused approaches and theory-focused approaches. Implementation is desirable for the production of new applications and system but will always be held back by advances in theory. It seems that Computer Science has largely lost its way in North American schools by focusing too much on implementation without teaching theory. Programmers are cheap. It doesn’t take a lot of brains to assembly code from pre-built components and creativity often is the only difference between a good programmer and a mediocre or poor programmer. Without new advances in theory, applications and systems will simply have to stand on their desirability of implementation (i.e. how easy is to use?). New ideas must be infused into the process for real advances to be made.

The use of so-called AJAX seems an interesting example. The ability to use things like the XMLHttpRequest object were available for quite some time before companies like Google began using it to do amazing things. This is entirely focused on implementation. Web 2.0 applications (whose primary distinction seems to be AJAX technology) are an innovation in implementation only. Many “hard-core” programmers find the terribly sloppy and inefficient results that often result less than satisfying. It does cool things but isn’t there a Better Way? I use AJAX quite a bit these days and it’s handy. However, I have only a bare understanding of how it works and what might be a better design. I don’t tend to concern myself with the next evolution of the Internet– I focus on building things that work with the technologies that now exist. But AJAX really isn’t a huge advance — in fact its “magic” often results in massive security holes, odd and unpredictable behavior, and hugely increased server overhead.

At the same time, a Software Engineer who truly understands the science of the code that he writes is likely to make far fewer mistakes and write much more efficient code. Even without much creativity, a programmer who can optimize code is a desirable catch for any software company. I think that everyone should understand the underlying details of code even if some end up focusing on the creative, implementation focused approach or the theoretically, algorithmic approach.

I mentioned security in regards to AJAX and this seems important. It’s well and good to provide applications that do the same things in easier ways but without a strong cadre of Computer Scientists, developing faster, more secure, and more reliable ways of doing business, we end up with applications that are never properly tested (it’s difficult to test code that just does magical things!) and never adequately secured.

A little rambling of a post — hopefully I’ve managed to convey something. Your comments welcome.

, ,

2 Comments

Fight the law, or let the law win?

I’m not a big fan of government (see Ron Paul posts below). I’m also sick and tired of the police state. Today on my way to work I was pulled over for using the HOV lane. Foolishly, instead of letting the officer write the ticket and getting it dismissed (it was before 5:00am and the HOV lane was open to all traffic) I pointed it out. He paused, looked annoyed and told me that I was speeding at 72 miles per hour ALSO. This is a little silly because I always cruise at 68-69. Yes, it’s speeding and still technically ticketable but I’ve found that it’s the speed that everyone cruises on that stretch of road. I’m very consistent with my speed and always use cruise control. If he had given me a ticket for 68 or 69 I would have grumblingly accepted it.

Anyway, I told the officer this but he ignored me and told me to “have a good night”. As I tried to decide whether I should tell him it’s morning or hand him a Ron Paul flyer (I had a bunch on the front seat) I realized that he had already scurried back to his car. A little vexed, I continued to drive to work. I was annoyed but figured I’d live with it.

Upon arriving at work, I realized that the ticket I had received said that I had committed a traffic offense on “N/B I-5 at S. 200th”. This is plain silliness. I never take I-5 to work (I use the Valley Highway and then take I-405 around Seattle). He had neatly signed the area that read “I certify under penalty of perjury under the laws of the state of Washington that I have issued this on the date and at the location above.”. Ironically, the form was automated (actually printed in his car) and I think the only fields that he had to manually enter are the citations themselves and the location. My only conclusion is that the officer was delusional. Everything fits.

I think I’ll take a softer approach at the hearing but since I clearly didn’t speed on I-5 on January 7 at 4:49am I think I have a good case. We’ll see what the courts say.

Update: By the way, because I know I’m “near the edge” on the speeding thing, I think I’m going to make the assumption that the new, super-secret, real speed limit of the Valley Highway and I-405 is 65 instead of 70. I don’t relish more run-ins. These guys have tasers and they’re not afraid to use ’em!

, , ,

4 Comments

Happy New Year!

It’s 2008 and about time I say! I have high hopes for this year. Having resolved to not make resolutions I don’t intend to carry through with (keep up with the double negatives there) I simply intend to continue to improve in every way possible this year. If I gained 10 lbs this last year, I bet I can double it this year! Wish me luck!

While it’s fresh in my mind, I would like to mention that the word gift as a verb meaning to give as a gift is irritating. I’m a bit of a stickler for proper English, while realizing that of course languages do evolve. I also don’t mind the use of new words for fun or for poetic/literary purposes. Obviously if the word gift was never used as a verb it could be a rather powerful bit of poetry that chose to use it as such. But what bothers me is the common use (and it really is getting common just in the last few months it seems) of gift as a verb. What irks me is that perfectly good words already exist that mean the same thing. Most often the verb give works well. When it doesn’t, the words endow or bestow seem appropriate (maybe they feel a little too old-fashioned). I find it commonly used in church circles, especially in reference to what I think should be called making a donation, tithing, or giving.

Regifting is commonly used and makes good sense as a new word in my opinion. It has a highly specific meaning and purpose and doesn’t replace an existing verb. Perhaps the recent increase in usage of gift as a verb is as a back-formation of regift.

I think also that one of the reasons I reject this verb so much is that it’s very pretentious. It’s redundant to say that I’m “gifting my son a present for Christmas”. Of course it’s a gift if it’s for Christmas! Well, what if I am “gifting a tool to my neighbor”. If you use the common verb “giving a tool to my neighbor” it means something slightly different. I may simply be handing it to him and expecting him to return it later. So you could argue that the use of gifting in this second example is in fact providing clarification to the verb give by showing clearly that it is a gift. But what’s the real difference? I see it as a weasely way of drawing attention to your act of generosity. It’s similar to give but just different enough that people notice it. For example, saying that “Mr. X gave $10,000 to the church” is not really different than “Mr. X gifted $10,000 to the church” except it really does sound like he was somehow more generous in the second phrase. Of course our fictional Mr. X isn’t going to ask for the money back either way but with the second form it’s rubbing it in.

When I was a kid, I remember using the phrase “for keeps” and tacking it to the end of statements such as “I’ll give you my firetruck” (I was more of a police car guy). I would feel absurd saying, “I’ll gift you my firetruck” and I have the hardest time imagining this ever becoming regular, non-pretentious English speech. As I’m writing this, I’m feeling more and more that this is really about culture, not grammar. If I randomly present someone with something, it’s proper in Western culture to say something like “Here, you can have this angled, cordless DeWalt nail gun. Go ahead and keep it when you’re done with it.” It’s rather immature to say “I’m giving you a gift — this angled, cordless DeWalt nail gun”. You don’t call gifts “gifts” just like you don’t call your own generosity “generosity”. If it’s Christmas or a birthday where a gift is expected, then it’s redundant to gift rather than just give. It creates far too much ambiguity between the phrases “gifting Ted a present for his birthday” and “giving Ted a present for his birthday”. I don’t see a clear difference except now the presence or use of the first phrase creates odd connotations in the second. Maybe Ted has to let me borrow his present now.

So, in summary, it’s bad. I encourage one and all to pretend to be confused whenever you hear this word used as a verb. “Do you mean give?” is a good response.

And if I do get a DeWalt nail gun I’m not gifting it to anyone!

, , ,

5 Comments

Google: Ad me!

I just moved all my archived email going back to 1998 (when I really first started saving emails) into my Gmail account. There are probably two standard ways of responding to this:

1) Cool

2) Oh knows! Google can read all your private emails now!

I happen to be one of those people that actually take private property rights seriously and am concerned about privacy laws and so on. However, in this circumstance to those who hate the idea of storing email on Google’s servers I can only respond by saying that I:

1) …Have nothing that’s too “secret” in my email. It’s mostly boring stuff to others and interesting because it documents aspects of my life which flood me with memories that go way beyond the words and paragraphs of the emails themselves. I’m sure there are things in my emails that would be embarrassing if they were revealed but I should be able to live up to the mistakes I’ve made and the bad things I’ve said and been party to.

2) …Realize that if the Feds want my email, I think they’ll find a way to get it. I don’t appreciate their nosiness but I don’t think that Google is going to let Joe Shmoe into my email account or simply offer my email records to the Feds. I could be wrong, but then again, I could accidentally lose a hard drive that had a copy of the same emails and run into the same problem.

3) …Think that instead of the common response of “don’t let anyone online know anything about you”, that I should attempt to embrace (ahh, the warmth) the future of broad information sharing with the full realization that everything that’s out there including my blog, my resume, my family photos, my emails, my forums entries, etc. are potentially available for exploitation. What does this mean? It means that if you have secrets, stop recording them! If you must record them, encrypt them using a non-trivial encryption method and at some level, protect it with information that is (again) NOT RECORDED anywhere but in your brain.

The reason I make point 3 is that so many people I know are totally paranoid about the Internet and the potential for identify theft and other things. However, they don’t live their life day-to-day in the knowledge that much of their information is in fact still leaking out and becoming available (dumpster diving, data theft and loss at financial companies, disgruntled — heck, even gruntled employees stealing information). If it’s leaking anyway and we must (or at least MOST of us must) rely on things like imperfect financial institutions and garbage companies then it’s silly to pretend that you’re protected. Instead, I think the better approach is to be aware that in the “digital age” information is incredibly easy to collect, extract, and decrypt. Put price tags on information (like your bank passwords) and be aware of policies that your bank has with regards to “insuring” you against loss should your account be compromised. Stop thinking it won’t happen but start thinking about ways that it CAN happen and your life can still go on. People put far too much faith in things like SSL (for secure online transactions). Don’t think that it can’t be broken or that the NSA doesn’t have a dedicated real-time SSL decryption method for something like that. Never believe it when people tell you that something is “unhackable”.

I’ve heard people tell me about how posting pictures of your kids on the Internet could result in them being Photoshop’ed by child pornographers. I don’t really know how to respond to this… It just seems a little silly. Of course they could — but why does this matter to me? For that matter, how would I find out…??!? There’s always a risk of having people find your personal information (like your address) but I just don’t understand the obsession about trying to hide it. It’s available! It’s out there already! If you have a secret that no one else knows (at all) then maybe you should keep it “off the grid”. But for things like your name, address, email, phone, etc. live with the realization that it’s not private anymore. If you want it to be private, prepare to not use them for anything.

If you need anonymity, there are certainly some good ways of covering your tracks. However, the difficulty in doing this even one time is high — I think it’s likely impossible to do this routinely and still effectively communicate. If you’re reading this post, you’ve left some trace of your presence. Yes, you might be using a proxy, but you left a trace at the proxy also. If you’ve accessed it via a proxy from a coffee shop,well, you’ve left a trace on the security camera there. It never really provides total anonymity — it just makes it difficult and expensive to find you. Don’t get me wrong, I think it’s excellent that people develop attempts at anonymity on the Internet (like Tor) but it’s not providing TOTAL anonymity any more than a password will ever provide TOTAL security. If all your doing is attempting to stop marketers from bombarding you with ads or targeted marketing, then great. I do the same (often, but not always).

So, that all said, I guess my philosophy could be summed up by saying that I’d rather wait up for trouble, ready to deal with it than fall asleep thinking that I’m safe. If it’s worth securing, realize that you’ll have to fight hard to keep it secure and that trivial things like emails are probably not worth the effort.

, , ,

5 Comments

A proper prayer to God?

I just found the following in a local church‘s bulletin for the prayer of confession:

God of the future, You are coming in power to bring all nations under Your rule. We confess that we have not expected Your kingdom, for we live casual lives, ignoring Your promised judgment. We accept lies as truth, exploit neighbors, abuse the earth, and refuse Your justice and peace. In Your mercy, forgive us. Grant us wisdom to welcome Your way, and to seek things that will endure when Christ comes to judge the world. Amen.

And now, from another church that will remain nameless.

Almighty and all holy Father; we confess ourselves unworthy of Your unspeakable Gift. We have not loved You as we ought; nor have we always been loving to one another; kindhearted, forgiving one another; even as You, for Christ’s sake, have forgiven us. We have lived in selfishness and worldly pride, and the good gifts You have bestowed upon us, we have not used to relieve the burdens of others. Pardon and blot out our offenses, we beg You. O merciful Father, who in compassion for Your sinful children did send Your Son Jesus Christ to be the Saviour of the world: Grant us grace to feel and to lament our share in the evil which made it needful for Him to suffer and to die for our salvation. Help us by self-denial, prayer, and meditation to prepare our hearts for deeper penitence and a better life. And give us a true longing to be free from sin, through the deliverance wrought by Jesus Christ our only Redeemer. Amen.

One mentions redemption and the other doesn’t. It’s very weird to me. The first excerpt is a little mystical as to why we bother to obey and why what we’ve done is wrong (other than it’s not part of His “way”). It seems that the author(s) of the first prayer seems to think that we should be on the winning side when Christ comes again. The second seems personal — a real offense has taken place, a real sacrifice to appease the wrong has been offered, and a real act of reconciliation has been brokered.

I’m obviously extremely biased to the second, but I do think that the above shows how the mainstream church in America has become “drained of its blood”. It’s not that it’s wrong, but just incomplete. Could moves like this, be one of the reasons that the mainstream church is falling in membership and attendance, and lacking purpose? The odd thing about all this is that it probably was designed to make things more palatable to visitors. But really what it’s doing is watering-down the Christian faith so much that a Buddhist could jump right in and participate without changing any of his beliefs. When something lacks a unique identity, no one will be interested in any depth or for any length of time.

, , ,

3 Comments

Filth

With three boys now, I’m seeing a fair amount of filth around us. If it’s not an excreted material, it’s a pulverized food product, or some sticky conglomerated mass composed of items A and/or B combined with other household objects. It’s not pleasant.

Today my oldest got into the spackle and dutifully applied it to not only to the walls, but also his younger brother. At least it doesn’t smell bad…

…But now the serious point: We have this massive amount of cleaning tools, equipment and supplies that we use on a daily basis to scrub ourselves, our children, our tables, floors, cars, etc. It’s sort of amazing how much effort we put into it. I think the wife and I are a little on the freakish side of obsessive compulsive cleaning but still, I would bet that most people spend an enormous part of their life cleaning. I think about people in the past… I have a strangely realistic-feeling episode in my head of “neolithic” people huddled in a cave with their bear pelt (carefully skinned and washed to remove the stench). And oddly I can picture that although we would consider them filthy, I bet they spent a LOT of their time cleaning things.

…But now to the REAL serious point: I don’t think we consider very much how incredibly revealing this is about us as Christians. An ordinary Christian hates sin just like your plain vanilla human (yum!) hates filth. It’s internal filth and it’s really pretty nauseating. But for my own part, I know I spend hardly any time at all cleaning out the internal filth with some spiritual Windex topped off with some heavenly PineSol. Why not? We’re so focused on the trivial filth of this world. Sometimes we complain about the bad smell of sin in our lives but we don’t spend enough time taking a shower in God’s grace.

We know we’ll get dirty again as humans but we still make a real and conscious effort to avoid it. Shouldn’t we have the same attitude towards spiritual gluck? I don’t believe “cleanliness is next to Godliness” but maybe if we synchronize the ideas in our heads we’ll end up spending more time thinking about our Godliness (or lack thereof).

There’s not too much else to do in the shower — why not pray for spiritual cleansing? I think I’m going to try to do that from now on.

For those of us that already have a keener sense of their sin and God’s grace, take this post the other way around and hop in the shower a little more often! Your friends and coworkers appreciate it and being clean is at least nice even if it’s not morally required!

, , , , ,

6 Comments

Patently pretentious people

Is it just me, or do others notice a lot of people around them who are:

1) Pretentious

2) Obvious about it?

I think everyone’s a bit pretentious (myself included — notice the pedantic use of alliteration and long words in the title –and, oh darn, the use of the word “pedantic” just now). I think that as a Christian, and in particular who experienced a rather long period of life under a pastor who was a big on “mortification” I may be more sensitive to this than others. I was always able to see the dark side of my own actions (for example, “I’m writing this blog post because other people write more interesting things on their blogs and I need to be better than them”). Maybe it’s unhealthy… It’s definitely highly pessimistic. But I can’t help but be somewhat annoyed when people think they’re so clever but they’re not very gracious about admitting their shortcomings. I think I mostly feel that people are “real” when they’re able to say that they may not know what they’re talking about.

So, if anyone ever asks you if your “motives are pure” answer immediately, “No!”. I don’t think this side of the pearly gates we’ll ever have pure motives. I think that friends and relatives admitting faults to each other is amazingly refreshing. And to be clear, this is not the same as inventing trivial, almost good sounding faults. “I’m so sorry to give you such a large and expensive present!”. Honesty, especially when talking about motives makes me feel so much better. “Sorry that I was abrupt with you today” is not nearly as helpful as saying, “I was in a rush and didn’t consider that you had something you needed to tell me.” Or even, “Sorry that I was abrupt but I was angry from before with you and took it out on you.” (By the way, I tend to be abrupt with people when I’m irritated with them and I know that this last statement is one that I should say more often.) There’s something there that isn’t usually mentioned in an apology… It’s a statement that you didn’t do something right but now you’d like to make it right. It’s not passing the buck or making excuses. We always can make excuses (I was in a rush, it was a stressful day, you were hard to deal with, etc.) but the reality is that these simply don’t help the person that we’re supposedly apologizing to. And the point is to help them.

But I’ve wandered a little bit — I was talking about pretentious people. From the Free Dictionary I get the following definition:

Claiming or demanding a position of distinction or merit, especially when unjustified.

So, my gripe is that everyone, absolutely everyone has tons of problems and should be awfully careful that they don’t act as if they deserve distinction or merit for their actions. And furthermore, that being humble will go a long way to really connecting with people. I was just listening to some lectures by Gordon Clark from a class that he taught. He was asking students in the class if anyone knew what the “Lycopersicon esculentum” was and making it sound like they should. No one knew. But instead of blithely going on and pretending that this was everyday stuff to him, he sort of stumbled over the term himself making it abundantly clear that he had simply written the name down himself and probably wouldn’t remember it tomorrow. I know this is trite example but it was something fresh in my mind. He could have made himself seem incredibly smart but he instead really connected with his students by admitting that he didn’t have this stuff memorized and then went on to make his point.

I was watching (I’ll admit it) a rather horrible show called The Next Great American Band. The idea is that bands get up and perform and are one after the other eliminated until the voters (the watcher’s of the show) have determined the final band that “makes it”. Anyway, the point is that after each band performs the judges make some statements about how they think the performance went and what needs improvement. With one exception, all the bands said things like “That’s just who we are”, “that’s how YOU feel”, “We don’t agree”, etc. It was kind of disgusting. Because they “made it” to the show, they were too proud and self-important to admit fault at all. I thought some of the bands did well, but I was immediately disgusted afterward when they acted so pretentious about their performance. It’s so commonplace now in America to act like this and it’s sort of sickening.

This has been sort of a long post and I don’t know what else to mention. It just bothers me a lot and it seems like people don’t realize how bad they make themselves look. Doing something stupid makes you look bad but not admitting it or making excuses makes you look much worse than just stupid. Being smart makes you look good, but being smart and admitting that you don’t have all the answers make you truly seem wise. And that’s what we should all try to be!

, , ,

4 Comments

Ron Paul 2008

Ron Paul is on a roll! Today, he’s raised more than $1,348,377. And it’s only 11:15am EST…

It’s part of a grass-roots movement — This November 5th

Faithful blog reader! Donate now!

http://RonPaul2008.com

Here are some charts and graphs… He’s getting about $57/second right now.

http://www.ronpaulgraphs.com

ron-paul.jpg

Update: Ron Paul ended up raising close to $4.0M on Monday. Absolutely amazing. We can only hope it’s put to good use!

21 Comments

$70 Lesson

Our washer machine didn’t work on Monday. I smelled what seemed to be that electrical burning smell and freaked out. This week has been BUSY and although normally I poke and prod dying electronics of all shapes and sizes I broke down immediately in this case and called up the repair people. They came today. Hmm — “Did you realize that the circuit’s off?”. *click* now it works!

What a pain… Ironically, I must mention that my wife TOLD ME to check the circuit box before I called.

Good wife. Bad Andrew.

Hey, at least I’m stimulating the economy!

, , ,

4 Comments

Done? Good, now start again.

That’s how I feel these days. There’s always been “overhead” stuff that I have to do. You have to take showers and dress and clean up after yourself (at least somewhat). You have to spend time getting ready for work and driving to work and reading emails and just doing all the boring monotonous things that no one enjoys but are required.

Well, I’ve now hit the point where about the time I’m wrapping up all the “overhead” tasks and ready to do something useful I realize I’m out of time. More “overhead” tasks crowd in around me and it’s time to brush my teeth and get to bed early so I can wake up early and repeat.

It’s terrible.

Granted, I have time to write this blog entry. But you know what? I’ve sadly actually tried to allocate “overhead” time to write to my blog! I guess I feel as if it’s a journal in many ways and so writing in it is part of this complete healthy life.

But this makes me think: maybe it’s not that I get nothing but overhead done but rather that I’ve put far too many tasks into the “overhead” category merely because they repeat frequently. Nowadays, virtually everything I do is scheduled. I schedule my oil changes, how many times we vacuum the house, every odd job and maintenance task is updated on my calendar if I can think of it. My daily status report for work is scheduled (and I receive a horrible email warning me about it every day). If Sarah and I want to have fun, we generally schedule some event weeks in advance and I shuffle some of the chores off of that day in the calendar and reallocate them to make a little extra room.

So maybe it’s not about overhead, maybe it’s about spontaneity and the realization that precious little can be done on the spur of the moment anymore.

I hate routine. Maybe I should write a program that takes my tasks and in an intelligent way re-arranges them to surprise me without totally destroying any sense of order.

Hmm… that sounds like a program that would probably have to pass the Turing test. I think what I’ll do is make an entry in my calendar to write this program. Maybe next Tuesday. That sounds good.

, ,

7 Comments