Word of the Day: Weasel

by Jon 7/21/2008 6:37:00 AM

I hate bugs that I can't fix because the cause is buried in a third party architecture (like WCF) and disappears faster than the symptoms occur. I call these things weasels, as in those little bastards that pop their heads out and make a nuisance and disappear under the ground before you have a chance to ask what the heck happened. (The other dictionary definition fits the bill, too: a sneaky, untrustworthy, or insincere person. http://www.merriam-webster.com/dictionary/weasel)

I once saw an app show up on my taskbar for a split second and it knocked whatever I was working on out of focus .. I didn't know what the heck it was, there was no way to trace it .. so I created a Windows app called "Weasel Monitor" that basically monitored all processes and made a bunch of noise (showed up on a log) if a process's lifetime was only a tiny split second. This worked for me, and the term weasel stuck.

Could've gone with mole but that word is severely over-used in software to mean different things. (Spelunking, anybody?)

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Computers and Internet

Blog List 2008

by Jon 7/20/2008 3:56:00 PM

Here's my current blog subscription list. Pasting here just because the list was conveniently handy (I had to extract the list for my own reasons).

 .NET slave
http://feeds.feedburner.com/netslave

Ajaxian » Front Page
http://feeds.feedburner.com/ajaxian

Ayende @ Rahien
http://feeds.feedburner.com/AyendeRahien?format=xml

AZGroups Event Calendar
http://www.google.com/calendar/feeds/admin%40azgroups.com/public/basic

CodePlex
http://www.codeplex.com/rss.ashx

Coding Horror
http://feeds.feedburner.com/codinghorror

Delicious/devkick
http://feeds.feedburner.com/devkick/news

devKick Components
http://feeds.feedburner.com/devkick

DotNetKicks.com
http://feeds.feedburner.com/dotnetkicks

Extremetech
http://feeds.ziffdavis.com/ziffdavis/extremetech

Fragmented Code
http://feeds.feedburner.com/FragmentedCode

If broken it is, fix it you should
http://blogs.msdn.com/tess/rss.xml

ISerializable - Roy Osherove's Blog
http://feeds.feedburner.com/Iserializable

John Resig
http://feeds.feedburner.com/JohnResig

Jose Fajardo
http://www.cynergysystems.com/blogs/rss/josefajardo

Matt W's Windows Workflow Place
http://blogs.msdn.com/mwinkle/rss.xml

MattBirmingham.com
http://feeds.feedburner.com/MattBirmingham

MSDN Architecture Center. Agile Development
http://www.microsoft.com/feeds/msdn/en-us/architecture/rss/rssSpecialAgile.xml

MSDN Home Page: "How Do I?" Videos
http://www.microsoft.com/feeds/msdn/en-us/HDI/Home-HDI.xml

MSNBC.com: Technology & Science
http://www.msnbc.msn.com/id/3032117/device/rss/rss.xml

MSNBC.com: Top MSNBC Headlines
http://go.microsoft.com/fwlink/?LinkId=44406

PDC 2008 Event Updates
http://www.microsoft.com/feeds/MSDN/en-us/events/PDC_2008_Event_Updates.xml

Planet Ajaxian
http://planet.ajaxian.com/index.xml

ProgrammableWeb
http://feeds.feedburner.com/ProgrammableWeb

Rick Strahl's Web Log
http://feeds.feedburner.com/rickstrahl

Rob Conery
http://feeds.feedburner.com/wekeroad/EeKc

Rob Fahrni
http://rob.crabapples.net/rss.xml

Scott Hanselman's Computer Zen
http://feeds.feedburner.com/ScottHanselman

ScottGu's Blog
http://weblogs.asp.net/scottgu/rss.aspx

Shawn Hargreaves Blog
http://blogs.msdn.com/shawnhar/rss.xml

Slashdot
http://rss.slashdot.org/Slashdot/slashdot

videos - Channel 9
http://channel9.msdn.com/rss.aspx?ForumID=14&Mode=0&sortby=0&sortorder=1

Visual Web Developer Team Blog
http://blogs.msdn.com/webdevtools/atom.xml

you've been HAACKED
http://feeds.haacked.com/haacked/

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

First Music Single Sale, Ever

by Jon 7/19/2008 4:31:00 AM

I just made my first sale of a music single.

I've been tinkering music production as a really lightweight hobbyist my whole adult life (it was one of my core interests when I was a kid), not really producing many songs, never going public with anything I had done, and mostly just tinkering with music tools and experimenting. I have thrown together a couple two or three *shrug* complete songs over the years as an adult, though really nothing very special, and I keep kicking myself for not actually making music production a higher priority considering how much money and "wannabe musician" efforts I've invested in tools and in tinkering.

While my musical interests are diverse among all major genres (pop, rock, jazz, classical/symphonic, electronic grooves, ambient), 2600 Hz has always been the "band name" chosen for electronic grooves and ambient music. I've owned 2600hertz.com for years, but never actually did anything with it.

A week and a half ago, after I decided it was time to transition to a new job, I decided I should also start daring to throw my music out there for public consumption. To start with, I decided, I should get a few of my initial silly experiments of the last decade out there and see where they hang. I created a profile on soundclick.com (the new replacement for what was MP3.com back in the late 90's for indie music):

http://www.soundclick.com/2600hz

And a few days ago I decided it was time to reconnect my MIDI keyboard to my home PC workstation, reinstall my music tools, and get to work actually doing what I keep wishing I was doing, which is having fun with music production.

To my surprise, Space Ages reached #84 in the Ambient music charts!!  I thought it was surely a fluke--it was, at the time, the first song on my 2600 Hz profile page, and for a while there when I had "hack" this and "hack" that on my 2600Hz profile, my ClickSound profile was on the top page of the Google search for "2600 Hz". (Not anymore. Seems it was very quickly put into Google blacklist, which is obviously extremely unfortunate for me.)

Anyway, I received the following e-mail last night. This, in itself, is utterly meaningless, but it's kind of like that "first dollar" thing that a retail store might frame or something (except that it's a lot less than a dollar). It feels really good, and makes me want to consider actually giving music production more than just a toyish occasional tinkering.

-----Original Message-----
From: SoundClick Store [mailto:ecommerce@soundclick.com]
Sent: Friday, July 18, 2008 5:34 PM
To: ----@-------.---
Subject: 2600 Hz - Space Ages (Single), sale on SoundClick


Hi 2600 Hz, you have a sale on SoundClick!

1 x 2600 Hz - Space Ages (Single)

Customer:
----@-------.---
   
You're credited a total of $0.17 USD for this sale.
Your current balance is $0.17 USD.

You don't have to do anything. If your current balance is higher
than $20.00 USD, you receive your next payment within the
week via PayPal.

Please make sure that the PayPal email we have on file is your
current one:
----@-------.---

------------------
SoundClick - your #1 eCommerce store
 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Music Production

Looking For Opportunities

by Jon 7/18/2008 7:31:00 PM

I recently put in my resignation notice (finishing as of August 1), feeling it was time to move on, so I am on the "job hunt", hoping primarily for a role where I can specialize in something like:

  • Architectural leadership and core development in any new system or software product
  • Software product management
  • Search engine development
  • Social networking development

The first two of the bullets above are not titles I have actually "owned" before. They are roles, however, that after 12 to 13 years of doing what I do professionally I feel I've picked up the capacity, the individual experiences, the detail-mindedness, and the ability to focus on the bigger picture while nitpicking the finer aspects of a project, that I feel I could genuinely do a lot of good in either area.

Meanwhile I have always been and will continue to be available for short-term, invoiced-by-the-hour contracts in C#, SQL Server, and/or ASP.NET. Normally I limit my availability on that to evenings and weekends, but things are obviously different, for now, so any time of any day is fine.

References are hard to come by because time flies and head hunters have abused the references-calling in the past, but my LinkedIn profile/resume (with a couple written recommendations) is available on request.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Quick American Advice For Imported and Outsourced Software Engineering Contractors (Primarily From India)

by Jon 7/12/2008 7:16:00 PM

WARNING: THIS POST IS IN-YOUR-FACE UNAPOLOGETICALLY OFFENSIVE. TURN AWAY NOW!! 

This is not about what will make you happy or how to be a better programmer. This is about how to help you break out of the mold that your peers and society put you in. It's about how to be American, or else how to do well in an American society. America is a melting pot of people from around the world; it consists of people who want something more. Shameful as American thinking may be, it's a lot better, in the minds of some, than the opposite alternative.  

"Even your comedy is being outsourced!" That was a great line from an Indian guy (a dude from India, not a Native American) on Last Comic Standing a few weeks ago. His whole act was/is focused on how India's workforce has become almost entirely focused on outsourcing. Not sure how true this was, but one joke was how he'd seen a guy sitting on a bench in the park, with a laptop on his lap, and a cell phone to his ear, as he said, "Thank you for calling Customer Service, how can I help you?"

I've had a few occasonal opportunities to work with non-American technology professionals over the last 12 years of my professional career, and I've picked up a few things that have led me to want to share a few tips for your sakes.

  1. Typical stereotype Americans are bastards, they'll look lowly upon you, pay you a small fraction of what they'll pay themselves, expect that you won't know your stuff, and, by default, not likely respect you. Deal with it. Prove us wrong. Make us feel ashamed. Some of the most successful executives and lead engineers are from India. But they're rare. Be one of these exceptions, and don't settle for anything less.
  2. American culture values excellence, speed, innovations, even opinions. Don't deliver crap. Be a fast worker. Learn to deal with the stress of someone looking over your shoulder. Think outside the box. Express yourself and your thoughts. Be a little daring.
  3. Don't push it. A little arrogance might help, but never roll your eyes in an interview. It doesn't matter how much you know, the interviewer doesn't know how much you know, and has likely come across hundreds of people who don't know anything (yes, even many Americans). So smile and give people the benefit of a doubt.
  4. School isn't as important as experience. The last Indian programmer I had the opportunity to work with was also the first person I personally had to fire. (The boss was out of town, and this individual was working right alongside me.) Despite a master's degree, and full Microsoft developer certification, I sat there holding my head as I watched this person spend 15 minutes adding a hyperlink directly below an existing one. That's right, an <a> tag. 15 minutes. This person claimed during the interview an interest in AJAX and side experience with HTML, but clearly this did not suffice. Efficiency and quality are of equal importance!! Both come from experience, not from study. Study as you go, don't assume that you're ready for the real world because you studied first. Take on pet projects (personal projects you're not getting paid for). Lots of them. Strive for excellence and speed in everything you expect to focus on.
  5. Many American executives who hire you will hire you in bulk and will line you up in rows on flimsy, long tables stacked with standard PCs (software sweat shops), or else might be clueless about the fact that some of you guys have an awful reputation of delivering work that usually ends up getting thrown out and replaced due to poor quality while they swear up and down that they will never hire your kind again, but then a year later they do anyway. I don't know how you can avoid this, but ..
    • If you get hired in bulk, don't assume much on your profile growth. You as a person will not likely get noticed, you're just a number, so there's not much of a ladder to climb. Do excellent, solid work so that your tasks don't go unnoticed (and so that you don't lose your job), but try to take time to meet people outside of your domain as well as grow yourself during your free time with educational pet projects.
    • If you get hired as an outsourced team member, have high expectations of the coordinator. Whoever is managing communications needs to demand complete specifications from the client, while demanding utmost highest quality and efficient output from the team. And if ever there was an important role in this space, it is the role of a rock-solid coordinator. That said, though, if your job is that of an engineer and you're imported (living in the U.S.), don't even think or wish for being a coordinator; you have a job and there is no "coordinator" ladder to climb unless you either go back home and become one or else you are somehow at the top of the ladder in a sweat shop that would later get dropped and replaced with an outsourced team from "back home".
    • If you are hired directly as a respected, equal opportunity member of an American team, you are, in fact priviledged. Indians don't have the right to work with Americans, they are given priviledges. (Don't get me wrong; it is likewise a privilege, not a right, for an American to work in India, or to fly to Paris. This is not about being better than the other, this is about the simple fact that you must get permission or earn the opportunity to do some things.) So treat the priviledge with pride. Take pride in your work. Don't output garbage. Think like an American. Be competitive, in a way that benefits both the company and your career. Do this not only by not giving management any reason to look down on you by poor quality output, but also stick your foot out and dare to speak up, innovate, refactor, and share your opinions.
  6. If you are female, your culture might have limited you, and possibly has you cornered. Many female import programmers are QA testers (grunts). Some of them are database programmers, some are "normal", cross-discipline programmers. Most female engineers are so quiet that they settle for a puny role with a puny salary. There have been exceptions, though. Here's my advice: beauty might help to get you in the door. It's an embarrassing reality that isn't always true but often is. So put on some make-up during your interview and smile. But here's the deal: the pressure is on the female more than on the male to perform efficiently and with high quality. In a male-oriented industry, you're already introducing unspoken awkwardness to the team just by your gender, so people will be trigger-happy. Expectations are low, but overcoming the stereotype will take an extraordinary amount of effort. You can climb the ladder faster if you are both bold and a little tomboyish in behavior. The goal is to get the people in the work place to stop thinking of you with "nice ass!" and start thinking "kick ass!" So study hard and be as competitive as the fellas by being very good, opening your mouth, sharing ideas and innovations, and proving yourself out. Your culture might have taught you to study to be quiet, but here in America you really need to do the opposite, open your mouth!! Sucks to be you, though, having to fend off prejudice and "unwanted" attention, dudes are three-legged morons. Sexual harassment laws exist because people actually do struggle, all the time, from one extreme (prejudice) to the other.
  7. Most non-American workers I've met who have managed to climb to the top actually scare me half to death. They're incredibly brilliant, so brilliant that I get a little shaky and quivery when they talk. It doesn't help that they have a strong accent, so I have to struggle to understand what they're saying. But they're so rediculously good that they tend to come across as somewhat elitist. They will court the brainiacs of the industry, while looking down at you like someone they could never waste their time with eating lunch together with you. I say these things with a little bit of animosity, but ackowledgement at the same time that these people didn't float to the top, they worked their way up and possibly climbed on top of people to get there. A couple things stand out to me about them, though: they have deep understanding, and they communicate very, very well.
  8. Work on that accent. Try to get rid of it as much as you can. Most Americans don't know what it's like to grow up in one country and then make a commitment to work in or on behalf of a completely different cultue and language. They're almost all self-absorbed, spoiled rotten to the core consumers and most of them speak only English. Many Americans absolutely hate the language barrier with outsourced help. Just because you can speak and understand English doesn't mean that there isn't a barrier. If a significant amount of effort is given by the American to discern or to repeat things being said, the perception is that this is not going to work well. All things done in any corporation or business relationship happens first with communication. Written communication matters, too. Avoid chat shortcuts. Write good, clean English. "HAI JON HOW R U?" is not going to help win respect of you. Try, "Hello, Jon. How are you today?" The l33t sp33k that is often chosen between two Indians or between two Americans does not work well between an American and an Indian; the likes of "sup homey, what's new wit you yo?" is often used by me with my buddies but it's not a word choice I would use with professionals who live on the other side of the planet, and I would be really irritated if anything less than proper English is used in return. (On the other hand, now that I think about it, I would probably fall out of my chair laughing if I came across an outsourced Indian who had mastered, and who used, American gangsta speech. You'd probably be the coolest person on the planet, literally, to work with, because you'd be breaking out of a tiring stereotype of your culture, one which doesn't seem to emphasize a sense of humor. Careful, though, there's a time to be funny and a time to be business-like.) 
  9. I've suggested it already but I'll say it again emphatically: The extroverted consultant who speaks clearly, has a strong grasp of what he is saying, and is business-like in demeanor already has the world at his fingertips.
  10. Have a strong sense of the bigger picture. I've heard horror stories from my co-workers about how, before I joined the team, they'd worked with Indian contractors and had them write code that would pass a test, but their code was hard-coded to pass the test (to simply output the desired output) rather than actually perform the function that the assignment required. They should have been, and probably were, fired on the spot. Don't ever deliver crap! On that note, though, don't apologize frequently. Apologies don't help anyone. If you make a mistake, own it by fixing it. One apology is enough, and try not to use "soddy" (that's "sorry" with an accent). If you're not making personal offenses then there's nothing to apologize for. Here's the deal with the apology: it is a request for grace and forgiveness. Too much of this can be offensive and grinding. Just do your job well, and if you make a mistake, apologize to yourself and never settle for mediocrity in yourself again!!
  11. It's not about us, it's about you, so please, please, don't IM the American during your business hours while you are sitting at your desk at the office. That's midnight over here, and the last thing I want to deal with when I've got Conan O'Brian up on the TV and I'm sitting on the sofa with my laptop trying to type up a blog or browsing the web for stupid entertainment is some technical discussion from someone in India about work-related issues. You're in India, for goodness sake, why don't you innovate and start a company that involves Indians working with just Indians rather than Americans? Speaking of which, why can't India become the fat and sassy consumers of the world, why does it have to be us?

Currently rated 2.3 by 3 people

  • Currently 2.333333/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , , ,

Social Load Testing?

by Jon 7/8/2008 3:58:00 PM

Five Runs (silly how many Ruby/Rails-oriented companies are named with two words and one with a number) developed a social load testing solution that appears to help you load test your site and trace bottlenecks in code, but instead of pounding on your own site using local automation, it allows live visitors -- fellow developers who need load tests done for their sites -- to pound on your site.

http://www.fiveruns.com/products/tuneup

Interesting concept. We even have social networking for load testing.. LOL..

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , ,

Computers and Internet | Software Development | Web Development

SD Cards' Capacities Are Exploding

by Jon 7/8/2008 2:16:00 PM

Two years ago I really went out and splurged and got myself a halfway decent 6MP digital SLR camera, lenses, a travel case, and the largest capacity SD (Secure Digital) RAM card I could get at Best Buy. Altogether, I spent somewhere on or around $1,000. The SD card was 2GB. It was about $100 at the time, as far as I can remember. But meanwhile I've found myself using it from time to time like a tiny fingertip-held floppy disk.

One year ago, solid state drives started to take off, and 32GB capacities were about the biggest you could get. Anything more than that costed about $1,000.

Now, 32GB SD cards are available at Amazon.com for less than $300. It's this tiny little thing, and yet it has room enough to dual-boot the full installations of Vista and Linux with complete suite of developer tools. So then the questions become, do BIOS's support booting from these things? And, shouldn't these be the new solid state standard?

Might be a speed issue. "15MB" means that it transfers data at only 15MB/s, so perhaps therein lies the problem. 52x CD-ROM drives transfer at around 64 megabits per second (or 8 megabytes per second) so this transfer rate is only about double the speed of a standard high-speed CD-ROM drive. Whereas, a SanDisk SSD5000 Solid State Drive (64GB) has a transfer rate of 121MB/s, which is about eight times as fast as this little SD card.

Even so, the geek in me wonders how far one can go with shrinking UMPCs with technologies like this.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

General Technology | Computers and Internet

Does 1 Millisecond Matter?

by Jon 7/6/2008 1:31:00 PM

I'm casually skimming an ASP.NET book for review purposes and I came across mention of the connection factory classes in ADO.NET 2.0.

I forgot about these; I've always seen abstract, app-specific DAL base classes that get implemented with a SQL, Access, or other database-based implementation, but I've never seen anyone use DbProviderFactories.

The book claims that these factory classes provide database neutrality in instantiating a database connection, so that you can use SqlConnection but also OdbcConnection, et al, without changing or recompiling any of the codebase, "without affecting the application's performance!"

No performance hit? Is it not using reflection? I fired up Reflector to introspect these classes, namely System.Data.Common.DbProviderFactories, System.Data.Common.DbConnection, System.Data.Common.DbCommand, and System.Data.Common.DbDataReader. Reflection is used. It's fine, relflection is there for a reason, but when used in any loop it is also notoriously slow (at least 10x the invocation time of a strongly referenced invocation). I suppose if the application has a very lightweight load, it might not matter.

I wrote and ran a performance comparison test in a console app. First I just ran two near-identical methods seperately, each in a loop (1000x), one method using DbProviderFactories and one just using SqlConnection, and both using SELECT to return all rows in a single-row, 4-column table. Then I realized it would be good to measure the performance of the last run of each, because the first few runs and especially the very first run will be expectedly slower due to runtime caching and JITing.

Here's the end result:

Factory:        23739 ticks / 2ms (total @ 1000x: 2331ms)
SqlClient:      11233 ticks / 1ms (total @ 1000x: 1321ms)

Now the question becomes, does 1 millisecond difference per connection instance matter, considering how high that number's gonna go when it goes over the wire and both data load and business logic is going to increase things to anywhere from 10ms to 1000ms?

Perhaps not. There is a difference, but it is subtle. The debate is kind of like the debate about "" versus String.Empty.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , , ,

Software Development | C#

Intellectual Honesty

by Jon 7/6/2008 9:47:00 AM

In 1998, when I was working at a fulfillment company called K/P Corporation as a web developer, the several offices scattered throughout California routinely held meetings, exchanged e-mails sent both from the bottom up and from the top down, brought in trainers, and even distributed inspirational books company-wide for our enjoyment.

One time after a typical round of corporate meetings and e-mail announcements, the president of the company tried to list a number of key behavioral patterns and attitudes he wanted the company to have. Usually this stuff goes in one ear and out the other--yeah yeah, "work hard", "be respectful", "don't poop in your pants", who hasn't heard this stuff before--one of these things stood out to me, because it was something I wasn't used to hearing.

It was "intellectual honesty -- don't be afraid to share what you know".

I've noticed that not all American cultures behind the doors of corporations have standardized on a philosophy of intellectual honesty over the last decade. I suppose human nature hasn't changed for the better at all since the history of mankind. Time isn't our friend in this regard. Traditional respect has degraded over time. The elderly respectables have been laid to dust, and the brats of yesterday have assumed their roles.

I've been expanding on the term "intellectual honesty" over the years, identifying more and more elements that I think describe what it should really mean:

  • Be unafraid to share what you know.
  • Don't hoard knowledge.
  • Accept criticism about your understanding.
  • Be teachable.
  • Be willing to teach.
  • Be willing to be wrong.
  • Acknowledge correction.
  • Sharing it is as important as doing it.

A lot of this, but not all of it, relates closely with the idea, "seek humility in yourself with everyone below you".

This is an extremely difficult philosphy to follow because it requires you to minimize self and maximize teamwork.

The opposite of intellectual honesty smells a lot like body odor, looks like a giant, dark wolf ("I am a servant of The Nothing!"), and a corporate environment that doesn't encourage intellectual honesty might be described more like:

  • The veteran of proprietary knowledge cannot be fired because he alone understands.
  • Disagreements are intolerable. 
    • The veteran of proprietary knowledge who alone understands the legacy codebase automatically wins all arguments about the newer codebase without consideration of the disagreement.
    • Don't even consider the plausibility of, or answer to resolve, the arguments of the individual who questions the strategies of leadership's new directions.
    • Shun the individual who dares to question authority, even when he does it in a one-on-one private meeting.
    • Don't resolve the occasional serious disagreement by evaluating the premise. Just isolate the disagreer and call him "disrespectful" and "high maintenance".
  • Speak about critical team, technology, or business decisions in hushed tones (".. msh, msh, ...... took my stapler ... shm, msh.."), in a dark corner, of another room, with the doors closed, with no one invited except the leader and the leader's leader.
  • Shun the newer individual who likes to innovate.
  • Send negative "stop wasting time on this" e-mails to any individual who shares new discoveries.
  • No underling grunt could possibly know more about any individual thing than management!

An individual is often intellectually dishonest as a selfish defensive strategy. Often this ugly beast bears its teeth and attacks when people are faced with personalities opposite of their own. People who can't handle someone putting an ounce of emotion into their words often find it very difficult to be intellectually honest. Other people will impose their opinions but will hold their ears and run away when hearing someone share something that differs with their own philosophies, even if what they're hearing is perfectly sensible. This situation is called cognative dissonance, and mastery of pushing past cognative dissonance is one of several important skills used to carry out intellectual honesty, second only after plain and simple humility.

Fear is a huge cause of a lack of mastery over cognative dissonace,

  • fear of humiliation,
  • fear of losing rank,
  • fear of losing respect,
  • fear of losing control, and
  • fear of unplanned changes to scope

Some of these fears are reasonable, but they should all be fought and avoided.

  • A humble person cannot be humiliated for being wrong, because he already accepted that he is not omniscient God.
  • A wise person will recognize that the loss of rank, if temporary, is either unlikely or else probably appropriate.
  • An experienced person already knows that he loses tons of respect if he doesn't practice intellectual honesty.
  • A responsible person recognizes that part of responsibility to "keep things under control" is making sure that everyone who can benefit from knowledge or from correction can benefit (has access to such benefits).
  • An adept and agile person will have prepared, both mentally and logistically, to adjust to changes of scope.

Do I think I'm intellectually honest? That's a bit like asking if I think I'm humble; you can't answer that either way without lying. But it is certainly a philosophy worth striving for. Not to mention the hopes and expectations that an employmentt environment might strive for it, too.

But kudos to the Open Source Software movement and community. While many proponents of traditional Linux and other "dark knowledge to be known only by the sorcerer" are not regarded as such, the notion of "share, and join us as we all strive to improve" seems to be the core philosophy of excellent open source software.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

280 Slides

by Jon 7/1/2008 2:41:00 AM

Wow. As a StumbleUpon user, I thought I'd seen it all. Apparently not!

http://280slides.com/

(Works best if you use anything other than IE. IE doesn't puke but it does choke.)

The most interesting thing about it is that the Javascript is actually pre-processed from an Objective-C-like language that is Cocoa inspired.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

McDonalds' Ice Coffee Is More Like Coffee-Flavored Cream

by Jon 6/28/2008 7:05:00 PM

I took a couple pictures of McDonald's iced coffee a few weeks ago when I was reaming mad about the crap they hand out and I wanted to blog about it; only now am I getting around to blogging it.

I am a huge drinker of iced coffee. My sister got me hooked years ago when she bought cans of ice coffee from an Asian grocery store and brought a few home. Canned ice coffee is huge in regions of Asia; I'm not sure why it hasn't picked up here, but I'll bet it has to do with the fact that most ice coffee in America comes with rediculous amounts of sugar. I tried bottled Frappuccino, as well as the cans of Double Shot, but it's all so horribly expensive and sickeningly sugary.

Here's how to make delicious ice coffee:

  1. Brew a 12-cup pot of coffee.
  2. Pour brewed coffee into a closed (sealed) pitcher.
  3. Refrigerate for at least 1/2 day.
  4. As needed, pour into a tall glass, 1 cup.
  5. Add 1/4 cup whole milk (not cream).
  6. Add 2 packets of Splenda or 3 tablespoons of sugar.
  7. Add ice.

It's simple, people. The only difference between coffee and good iced coffee is that it is cold with ice, uses 50% to 100% more in quantity of milk, and about 50% more sweetener or sugar than a hot cup of coffee. This is how I order my Starbucks every day: "A Venti iced coffee, unsweetened, with room for cream." I add about one inch of a cup of whole milk and three Splenda packets. Starbucks' unsweetened iced coffee is some strong stuff, it took some getting used to, but it's incredibly effective as a morning caffeine fix.

Now and then I try the iced coffee options at McDonald's. Personally, I don't know what on earth they think they're selling. They tend to sell something that is more like a cup of creamy milk, with a little bit of coffee to give it some flavor, except that the coffee "flavor" is buried in the vanilla or hazelnut flavoring, so really it's just a vanilla-flavored cup of milk. Even when I ask them to "go really light on the cream" it looks like this:

There are two McDonald's near me, one near home and one near work. Both of them give me this crap.

One day I asked--no, I begged, insisted, yelled!!--at the person giving me my order of iced coffee to get rid of some of that sickening cream. "All of our iced coffee has cream," she said. Excuse me?! How hard is it to deal with a custom order? And at a time of the day when there are no other customers to confuse anyone? I said, "I'm not taking that. I'll pay for it because I ordered it, but I don't want that, you can keep it." She asked how much cream I wanted. I held up my hand and showed a "pinching" gesture and said, "Just a little bit!" So she came back with this:

If you ask me, I think it's only just gone from a cup of creamy milk with a touch of coffee in it, to a cup of coffee that's drowning in cream.

The next (and unusual) time McDonald's politely asked me how much cream I want, I said, "Out of five parts, I want two." I said this because I read somewhere on the web that the large iced coffee uses five parts of cream, while the medium uses three parts.

As alternatives to McDonald's, besides Starbucks, I do respect Wendy's ice coffee and their intellectual capacity to limit cream to "a bit too much" when I ask them to "go light on the cream", rather than a cup full of cream.

One more thing: Even hours after drinking it, McDonald's iced coffee makes me sick to my stomach, almost as if I drank a cup of .. well, cream.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , , ,

Best T-Shirt Ever

by Jon 6/28/2008 4:59:00 PM

http://www.shop.com/Childrens_I_Love_Jon_Davis_T_Shirt-91483708-p!.shtml

I promise I didn't make this and had nothing to do with this. But I think everyone should wear it. ;)

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

WorldWide Telescope: Technology's Solution To Get Around Smog (To View The Night Sky)

by Jon 6/28/2008 3:41:00 PM

*sob* I just spent about three hours writing up a detailed blog post about WorldWide Telescope, which is a software invention from Microsoft Research that makes terebytes of photos of the night sky available for free to the Windows-using public, and had the whole thing done except to add one last media element, when one of my hard drives flaked out and the computer locked up for a couple minutes and suddenly rebooted to the BIOS screen.

I'll refrain from trying to reproduce the whole blog post, or at least for now (I'm bummed out), but I wanted to share the URL:

http://www.worldwidetelescope.org/

.. and a few images. The software displays the entire spherical panorama of the night sky, at first looking just like the night sky looks just like when you look up with a naked eye on a clear night. But you can scroll and zoom in on any particular heavenly body.

The zoom-in details from the telescope sources are astounding and spectacular:

I also liked the user interface implementation, and the integration of web-based resources:

  

Besides the images, the key points I wanted to make about this that excites me are .. 

  1. This is free software that is not only commercial quality but is complete enough, I believe, that it would be a dream tool for a serious astronomer reviewing preexisting data
  2. This software can compete with the most immserive experiences at science museums and/or planetariums.
  3. The Guided Tours are awesome, and very similar to getting a tour at a planetarium (but in some ways much more detailed), and the people who host some of them are notewothy contributors ranging from PBS/Nova to major planetariums/museums to Astronomy Magazine to adorable six-year-old Benjamin. 
  4. Sci-fi entertainment software (i.e. EVE Online), meet your match on immersion and detail!!
  5. Google, Force.com, Amazon Web Services, SETI @ Home, et al, meet your match on Internet landmark software demonstrations of how mainframe databases, Internet networking, and personal computers can work together to make insanely useful supercomputing grid applications available on a PC.
  6. Commercial educational astronomy software vendors, start looking for new career paths!! Looks like this free software is so complete, rich, and detailed, that, well, no one will need your software anymore. (Tragic.)

 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Computers and Internet

I Am Officially An IE Hater

by Jon 6/27/2008 2:41:00 AM

Over the last 24 hours, I crossed a certain threshhold.

Originally, I was 100% biased in favor of IE (back in the days of IE3 and IE4). When Firefox came around I thought it was good that IE got some competition. But it wasn't long before I realized that IE was not competing anymore, it had dropped out of the race.

Eventually comes CSS 3 proposal drafts and HTML 5 proposal drafts, and the Webkit/Safari and Mozilla teams are on top of them, but IE is pooping along still trying to figure out how to spell "CSS 2.1". So I got angry and frustrated and started suggesting that IE8 had better clean up its act or boycotting of IE may commence on my part.

Now I am officially an IE hater. I applied the following CSS style:

div.ProfileQuestions {
    background-color: white;
}

.., overriding a default light gray color, and suddenly, erratically, about 1/3 of the off-black colored text vanished. Where did it go? I do not know! I fired up the IE Developer Toolbar, used the inspection tool, and as my mouse hovered over the areas where the text belonged, once again, erratically, text showed up while the hover border surrounded it, then disappeared when I moved my mouse away.

Could my computer be out of resources? I closed Internet Explorer, all instances, and then opened up the page again. The text showed up. I hit refresh. Now half the text was missing. I used my mouse to select the page's rendered text, some of the missing text appeared.

Safari 3, Firefox 3, Opera 9.5, all of these showed the page fine.

Surely I have a corrupt IE installation! I sent the URL to a co-worker and asked her to look at it. She, too, was using IE 7. She, too, was finding that there was text that was just plain gone.

I tried forcing the text to be black. I tried variations of background colors. Nothing I did, except to leave the background color defaulting to the body background of light gray, could stop IE from making random lines of text just vanish.

Internet Explorer 7 is used by a MASSIVE portion of the Internet browsing community. I am flabbergasted by this cheap rendering behavior, and that statistic of IE7 usage NEEDS TO CHANGE or else we will have a broken web indefinitely.

Let the boycott commence.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Opera Competes

by Jon 6/27/2008 2:28:00 AM

Opera is showing the world how to be fierce competitors but doing it fairly and in a good way.

http://ajaxian.com/archives/opera-gets-proactive-and-helps-you-fix-your-code

In the words of the judges on a TV show I've been watching, So You Think You Can Dance,

"Yeaaaaaahh!!!  YEAAAAHHH!!! WOOOOOO!!! That's competition!! That's what I'm talking about, YEAH!!"

Now if only Microsoft could comprehend the philosophy, they would stop making excuses for their corporate partners and start asking them to simply make their web sites compliant.

Oh, but oops, that would break their sites on IE... *sigh* .. Oh wait .. Ahh, got it .. they did understand it, they've been telling their customers to retain broken code that only works on IE and not to make it standards-compliant so that it keeps working on IE .. maybe they're not so stupid. Improper? Yes. Stupid? No.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Web Development

openSUSE 11: Sorry, I Gave You A Fair Chance

by Jon 6/24/2008 1:08:00 AM

I was excited that openSUSE 11 had just been released. I was looking forward to the Next New LinuxTM to come out and convince me that the best non-Windows alternative besides a Mac was usable and exciting. 

For the first time in years, I deployed Linux (openSUSE 11) to physical hardware (not a VM), meaning a quad-core processor, 4GB RAM, a GeForce 8800 GT, and a WD Raptor drive, and gave it a completely fair shot.

The first installation attempt was actually in a VM at the office, and it failed--it got to 90% installed then froze up on an FTP download. A 2nd attempt with out networked repos had it still freeze up at some point, now the VM just boots to a blank black screen.

But now at home installing on physical hardware, it booted to my environment with a striping RAID array configured it warned me that it couldn't "partition the drive using this tool". Oh. Okay. I pushed forward anyway, spending upwards of 15 minutes selecting most of the software package options without selecting conflicting options, and then I went to go forward and install and, sure enough, it failed to partition the drives, and sent me straight to a non-GUI installer view where I pretty much had to just restart the computer, enter the BIOS, break off my two Raptors from RAID, and give it another shot.

An hour or so later, I was looking at my fresh new KDE 4 desktop and thinking, bleah. Okay. So there's not really anything to see here, nothing I haven't seen over the last many years. Sound is gone, I enabled the sound but my 48kHz native sound card could only playback jittery noise that had me laughing and moaning on every reboot. I tried the GNOME desktop as well. Yeehaw *yawn*.

Having two monitors, one monitor was not displaying. I went to nVidia's web site, installed the latest display drivers (executable, but still opening up a terminal and chmod +x 'ing, how retarded!), rebooted, still didn't see two monitors lit, tried to enable the 2nd monitor from the nVidia control panel, couldn't save the xorg.conf (or whatever) file for no obvious reason, rebooted, tried again, still couldn't write the xorg.conf (whatever) file, logged in as root, tried again, worked. *sigh* OK now both the Mac and Windows' UAC have spoiled me on this, why was I just not prompted to enter a password?

Without even considering using MonoDevelop, re-exploring Eclipse, testing Apache and PHP5, dinking around with Ruby, trying out OpenOffice, or tinkering with any of the games, I threw my hands up and said, "I've seen all this crap. It's all crap."

Linux has still not managed to catch up with Windows 95, and instead of fixing these usability issues they just keep slapping on new software and eye candy like Compiz-Fusion effects, and I've had it.

Fortunately I had a full backup of Windows Vista, which I was 95% certain I was going to restore within a day, and, sure enough, I did.

Currently rated 2.0 by 4 people

  • Currently 2/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

Computers and Internet | Linux

Quick Method Of Sorting On Multiple Properties

by Jon 6/24/2008 12:37:00 AM

I’ve started replacing my custom List<T> sorts of

 

ret.Sort(new Comparison(delegate(MyClass o1, MyClass o2) { return o1.City.CompareTo(o2.City); } ) );

 

.., which doesn't seem to support multiple property sorts when I run Sort() multiple times (and I don're care to glean from the many multi-property sort samples on the web that have tens of lines of method execution), with ..

ret = new List<MyClass>(from r in ret orderby r.State, r.City select r);

Works like a charm. I'm slowly learning to dig LINQ-to-Objects ;)

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , ,

Software Development | C#

Microsoft: Please! Stop Handing Out Beta Software Like Candy!!

by Jon 6/18/2008 9:48:00 PM

I'm really getting annoyed by the signal-to-noise ratio coming from MSDN over the last year or two with regard to releases versus CTP's and betas.

Beta releases are really supposed to be hush-hush, "sure you can use it but it's not supported, it's available because we need you to test it and report your findings while planning your future deployments". It's inappropriate, though, to pass out beta software as if it was already ready to go.

I'm a HUGE believer in early previews and betas, don't get me wrong. I don't wish Microsoft would stop releasing them. I just wish they would stop marketing them as though they are production supported. Openly releasing Visual Studio 2008 Service Pack 1 Beta directly on http://msdn.microsoft.com/en-us/vstudio/default.aspx is a really dangerous move because we, the customers, have no guarantee that when the RTM build goes gold the Beta build will uninstall correctly or that the RTM build will successfully overwrite the beta build. Actually, when it comes to development tools and platform SDKs, how many times have you heard the disclaimer, "Installation of this beta software is not recommended on production workstations. We recommend using Virtual PC or a test lab."

Come on, if you're plastering "Download Beta this! and Beta that! today!!" all over your primary tools resources web site, you're just making yourselves look like a company with nothing but beta software. And that's only the second worst thing to vaporware.

I would normally be very excited about beta releases. I just expect them to be packaged and delivered in a way that isn't pre-marketed--I want them documented and detailed, but not shoved in my face in sales pitches in place of examples of how I can use or support what I already have--and then I expect service packs and support for the current released version of a product to be readily available on the product web page. SQL Server's web site has infuriated me time and time again, making my head spin as I scour the Microsoft web site to try to find the latest Service Pack download, when they are throwing at me everything but the kitchen sink to try to gain my interest in stupid success stories, trial versions, and, most prominently, the next version's beta!!

People everywhere, get this through your heads: support for your existing customers is more important to your long-term image than vaporware, sales pitches, and blinking LEDs.

 

On the flip side, I just had a mental flashback of a warm and fuzzy feeling I have towards a beta thing Microsoft engaged in a few years back. It was this wonderful experiment called the ASP.NET Web Matrix, which was basically a beta version of Visual Web Developer Express back in the day. Microsoft had a dedicated site for it--they did not plaster it all over the Visual Studio web site (although they did plaster it all over http://asp.net/), they gave the beta software its own space, isolating it from paying customers of the real Visual Studio. And then, they took feedback. The forum threads were filled with great ideas and wishlist items.

:) Good times.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , , ,

BlogEngine.net author blog

by Jon 6/12/2008 3:25:00 AM

Hey, Mads has a nice blog. It's not just BlogEngine.net updates (my blog uses his blog engine and theme), he has opinions too. :)

http://blog.madskristensen.dk/

 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Introduction to TortoiseSVN (Viewlet Animation)

by Jon 6/11/2008 11:58:00 AM

I was asked to learn how to use ViewletBuilder so that I can create in-house tutorials for some of the web applications we're working on.

Meanwhile, I was also asked to find a way for one of the teams to be able to versionize and manage their web files. These teams do not consist of developers, just graphic artists, editors, and multimedia specialists.

This is why I went down the wiki path, but wiki's in turn introduce a number of support and maintenance issues, not to mention web design limitations, that made me realize it was not the best path. I asked these folks to consider just using Subversion, and since they weren't familiar with Subversion I created my first ViewletBuilder viewlet as a way of hitting two birds with one stone--explain Subversion while discovering how to use ViewletBuilder.

Subversion for normal people, imagine that. ;) Once I shared it, I realized it's kind of a nice little thing to share with the world. Maybe you might find this useful.

Intro to Subversion - TortoiseSVN Basic Workflow
http://www.viewletcentral.com/vc/viewlet/464812468/

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , , , ,


 

Powered by BlogEngine.NET 1.2.0.0
Theme by Mads Kristensen

About the author

Jon Davis Jon Davis (aka "stimpy77") is a software and web developer by day and a software and web enthusiast (geek) by night. He was recently a senior web engineer for the enthusiast division of a major magazine publishing company for nearly two years. He has been a programmer, developer, and consultant for web and Windows software solutions professionally since 1997, with experience ranging from OS and hardware support to DHTML programming to IIS/ASP web apps to Java network programming to Visual Basic applications to C# desktop apps. Lately, Jon's professional focus has been on C#, ASP.NET, Windows services, WCF, custom Javascript libraries, and implementations of Lucene.net and telligent's Community Server for multiple web sites.
 
Software in all forms is also his sole hobby, whether playing PC games or tinkering with programming them. "I was playing Defender on the Commodore 64," he reminisces, "when I decided at the age of 12 or so that I want to be a computer programmer when I grow up."

E-mail me Send mail

Calendar

<<  July 2008  >>
MoTuWeThFrSaSu
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

View posts in large calendar

Pages

    Recent posts