Archive for the Category » TechTalk «

Wednesday, June 02nd, 2010 | Author: bmadsen
No Gravatar

I happened to read a RWW article on Tweeting in Color today.  I can’t say I was thrilled at the entire concept of Twitter Style Sheets (TSS), the Twitter version of CSS for HTML.  The entire concept of having people able to colorize and change the font characteristics of their tweets is a bit disturbing to me.  To quote the last section of the article:

For now, come check out our demo (if you have a preview access account), or at least read the code (at http://xent.com/tss.js ) and stay tuned for what comes next. Though, like @ev himself, we’re not quite sure about the Promethean curse of giving users Tweets in any color they’d like – we’re afraid it’s only a matter of time before we see animated, blinking Tweets in 3-D!

I can’t say I’m hopeful at the ability of at least some of Twitter user base to restrain from posting loud and obnoxious tweets, or louder and more obnoxious, anyway.  What I do like about that post is the mention of annotations and that people are thinking about how to link between tweet subjects and other social network accounts using the annotation functions.  It is indeed difficult to reference a Facebook user in a Tweet in a useful manner while keeping the message under 140 chars.

What interested me more about the article was the thoughts that it prompted about the usefulness of the Internet.  The concepts of “Content is King” and “keeping presentation out of the way of your message” seem to come to mind when being reminded of the old “blink” HTML tag and it’s possible use (or abuse) in the future of Twitter.  It is a very good reminder that new functionality can be misused just as easily as it can be used to improve experience.  That’s something every UI designer and software engineer needs to be reminded of on a regular basis.

Wednesday, June 02nd, 2010 | Author: bmadsen
No Gravatar

I was forwarded an article today that talked about the benefits of SSDs (solid-state-disks) on the performance of MySQL databases.  It sounds both amazing and almost unbelievable.  There has to be a catch, right?

Well, there probably is, but I’d love to see the technical scenarios behind which the 4 companies referenced in the article claim that much of a benefit.  None of my projects are yet to the point of scale where it would be likely, but I hope they will be soon.  I could probably learn a LOT from setting up informal interviews with the engineers behind those architectures.

Then I got to thinking about MySQL database server architecture and some consulting I’ve been doing for a friend of mine.  He’s running a fairly popular web forum based on raising chickens in your backyard.  Go ahead and pop over to www.backyardchickens.com if you’re interested in the topic.  He’s been facing some load problems with his database and his server environment he’s using.  He has some architectural decisions to make soon that have been heavily weighing on him lately, not the least of which deal with the size and structure of his MySQL database.

My thinking in his scenario where his load has gotten high enough to warrant fairly advanced performance tuning of his database, leaned me to thinking about one tunes a MySQL database, specifically when running the InnoDB or in-memory table engines.  Basically, the more memory you can throw at the system (and assign to MySQL for in-memory caching), the better it’s going to perform.  (Tuning gets much more advanced than that, but that’s the main portion of it).  It’s imperative these days that you use a 64-bit processor and matching OS and software if you have any sort of size on your database, lest you run into the 2GB process memory limit of 32-bit systems.

However, the reason that caching mechanism works so well is that it reduces the number of reads from disk that need to be executed.  It stands to reason, thinking logically anyway, that if you can get the read to write ratio down far enough, the disk subsystem will be spending most of it’s time writing.  If SSDs are supposed to perform much better than their standard disk counterparts, than the little time MySQL spends reading from the disks would be even faster, and the write performance would be even less, leaving much more time to spend answering queries from memory cache.

Of course, this is all hypothesis on my part since I am not deeply skilled in the arts of MySQL performance tuning.  Nor do I know a significant amount about SSDs, definitely not enough to say for certain whether their performance attributes would definitely be of benefit to specific MySQL architectures and design use cases.

Wednesday, May 26th, 2010 | Author: bmadsen
No Gravatar

In the last few years of my professional career, I have had the opportunity to work in various programming languages, operating system environments and team dynamics.  I have also recently been given the task of deciding what type of products I want to be designing and developing.  What I’m about to write were thoughts specifically triggered as a result of a conversation I had today with my brother, who is a very intelligent creative design type.

He has been talking up the idea of creating various Wordpress themes and plugins as well as various iPhone applications, mostly as a way to get his (or our) names out there as knowledgeable people in the respective fields of programming.  This would ideally lead to a consulting agency for project-based work for larger clients wanting more specialized development tasks performed.  It sounds like a very good plan, to be honest, if you’re into that kind of work experience.  Sometimes I think I am, but then most times I feel a bit more grounded than that…

It takes a talent for multitasking to be in the consulting agency environment.  I’ve tried it out a few times, and I can honestly say that I find the various unrelated projects from differing customers to be distracting to one another, and to the flow of my creativity.  Now, this experience has been in the IT consulting field, which may be entirely different from the programming consulting field, but I suspect the effect is simply less intense and that the short term nature of consulting arrangements tends to distract from the longer-term nature of designing robust software applications.

Much more interesting to me, personally, is to take a project from its concept, architect it well, and help it grow into a fully mature and stable product that somebody finds useful.  The pressure is a little less intense as you can feel free to make mistakes with design, as you will have (more) ownership, responsibility and the inherent ability to fix those mistakes given the longer timeline of feedback from users.

To all my future readers, regardless of the programming slant to this post, what are your thoughts on consulting versus long-term projects?

Sunday, November 09th, 2008 | Author: bmadsen
No Gravatar

I just ran across a post today that recommends people stop blogging and move on to other technology to communicate.  The article, linked here, comments that most blogs are relegated to the dark corners of the blogosphere because they just don’t have the traffic to get noticed anymore.  Also, what is mentioned is that those that do get comments, get hecklers more than anything.

To this I would say: “Bah”, you’re missing the point of blogging for a great number of people that actually use the technology these days.  The point about microblogging, countered appropriately by many in the comments, is invalid since most bloggers are out to either record their experiences for Google referencing on very specific topics, or are out to disseminate information to a very targeted crowd such as family or a close network of friends and colleagues anyway.

Furthering this point of view is the idea that blogs are no longer primarly “publicized” by means of Google or aggregation sites.  They are publicized by means of other bloggers, social network utilities and content aggregation sites like FriendFeed or MyBlogLog.

So, as I continue my exploration of blogging and it’s function in my life, I continue to see a lot of use for it.  I can’t imagine, for example, how I would post these thoughts in a Twitter style microblog.  Nor could I see creating the entries I put in my various blogs into the limited “notes/blogging” services of MySpace or Facebook.

Sunday, November 09th, 2008 | Author: bmadsen
No Gravatar

Ah, I love Wordpress and it’s use of Ajax for it’s “Auto-Save Draft” feature.  I had put a bit of thought into a post last night, then I shut my computer off before thinking to finish the post and publish it.  I was grateful this evening when I logged back in, remembering I hadn’t posted the message, and the draft was sitting there, quite current, waiting for me to finish my thoughts and publish it.  More proof that I love this platform ;-)

Wednesday, October 15th, 2008 | Author: admin
No Gravatar

Ok, so WordPress finally and completely won me over today.  They have a wealth of plugins, themes, and a huge community supporting their ecosystem.  Whether you’re running your own web-blog, a photo-blog or even a podcast, there are plugins to support that.  Since it’s free, it’s even a great resource for small and large enterprises alike.  I’m hosting my own instance of WordPress-MU simply to make it easier to maintain the 2 or 3 core blogs of different topics I am interested in, and the soon to be 2 or 3 more “test” blogs I’ll be creating as I attempt various less-common blog types such as photo-blogging and knowledge-blogging (a probably mistaken name for the concept of blogging at least one bit of information that you learned about on any given day).

I knew I’d do it too…  This is actually an edit since I posted the entry and then remembered the big feature that I just learned of that made me think to write this post.  There are instructions on importing your blog from wherever you hosted it last, and the instructions are quite clear.  I have found that this is very compatible with the overall experience of the latest versions that I have seen of WP.  Things are laid out simply, clearly and the user experience seems to make a lot of sense.

Tuesday, June 26th, 2007 | Author: bmadsen
No Gravatar

A colleague of mine recently brought up the idea of “What if it don’t?”
As in, what if it doesn’t do what is expected? Particularly, he was
speaking of programming and running method calls. In his words “most
programs handle the ‘what if it does’ exactly what it says the routine
will do. However, the well written ones handle the ‘what if it don’t’
do exactly what it says it will do.” His thought was that the well
written applications handle exceptions cleanly and elegantly rather
than spitting some random error message out to the end user who has no
power to control why the error message occurred in the first place.

A recent article on ZDNet entitled Google�s three rules
emphasized a software and overall data center design philosophy of
expecting things to break and writing error handling routines into
their environment. It shocked me to read the responses and to see the
prevailing mindset of many applications developers in this day and age.
It shocked me even more to see that mindset prevalent in the enterprise
software space, though I suppose it shouldn’t have given the number of
stories people hear of enterprise software being rigid, inflexible and
generally very difficult to work with.

What rings true in the design is that more effort was placed on
handling the error conditions that are going to exist no matter what
hardware you throw at a problem, rather than throwing complicated
hardware designs and configurations at a problem that needs to be
solved by software anyway. Hardware will fail. Even software will fail.
It doesn’t matter how much effort you throw at it to try to get it to
not fail, it will always find a way. The elegance of an engineer’s
design is in how it handles failures and recovers from them.

Friday, April 13th, 2007 | Author: bmadsen
No Gravatar

The following articles woke me up to the way certain vendors treat
users who fully take advantage of the very services they promote:
PC Magazine – Comcast Cuts Off Bandwidth Hogs
Comcast Broadband Dispute Blog

I
could chalk that up to poor customers service, but then another article
caught my attention and my mind somehow linked the two situations:
The Internet is Falling!

Now,
to speak of the first issue, I am a Comcast customer, and I use it for
remotely accessing my workplace at times.  I am an IT Manager for
my company (among other roles).  So I download new OSes now and
then, and I join webinars and I also play around with
video-conferencing and VoIP.  So I guess I would consider myself a
fairly heavy-side-of-average user when it comes to my bandwidth
usage.  I don’t, however, put an undue strain on the neighborhood
by constantly downloading ISO images (CD or DVD digital copies) or by
videoconferencing for most of the day, so I doubt that they would
consider me a high-risk user.

In my thinking, justified by some
research of the issue, this kind of situation cannot be nearly so
isolated that Comcast would be the only ones dealing with the issue,
however.  In fact, Verizon and Earthlink have both mentioned that
their policies generally don’t cut off users, but throttle them
back.  Imagine that, using technology that is fairly easy to
implement to continue offering your service to people that use it to
it’s full extent without allowing them to saturate your network with
their traffic.  I’m willing to bet that the bad press and the
0.05% of users you ticked off would not be nearly so bad if you simply
said: “we’re going to throttle you guys back during peak usage times
because you are using an abnormal amount of bandwidth in comparison to
the average user.”  It would be especially beneficial if they
provided the profile by which they made those decisions such that users
understood what it was about their usage that was causing problems.

Speaking
on the second reference to Internet Overload…  My thinking is
inline with the core company representatives that commented.  In
other words: “do people really think that the core Internet companies
are that stupid that they don’t see the trends in bandwidth usage and
account for the potentials of bandwidth consumption rates rising by
abnormally large factors?”  “Do people really think that a bunch
of idiots are running the core Internet backbone?”  Come on…

Then
I saw a comment that inferred that some of the telecommunications
vendors are talking about the inability to adequately pay for the
infrastructure upgrades that will be required to support these boosts
in bandwidth consumption.  Come on, how much do we pay every month
for these services and how often do we hear about new technology that
makes the wires we currently use able to carry many times more
bandwidth than they currently do?  Do people honestly think that
we’re going to “run out” of technological advances anytime soon? 
Granted, the technology does cost money, but it shouldn’t be bled out
of the customers, but instead taken from the ranks of the customer
service and other administrative departments at these companies that
are so poorly rated already.  My bet is that half as many people,
properly trained, could take much better care of more people than do
the current staff.  You could even pay them more, I’d
imagine.  I’ve been on both sides of that equation too.

More
thoughts on the subject postured that if ISPs properly qualified
services (not in a pay-for-level of qualification style, but a standard
protocol-style class and quality-of-service style), they would be able
to head off the majority of the problems that will effectively saturate
their networks.  They would then be able to focus on upgrading
only the parts necessary to continue providing appropriate service
levels for the major popular protocols of the day.

I must admit,
however, that the “devil’s advocate” side of my brain postures that
we’ve been classifying levels of service based on bandwidth allocation
for years.  I mean, that’s what fractional T1’s are all
about.  Or what is a T1 vs. a T3 or OC3?  Now that Intel has
reached a critical mass of CPU speed, they’re focusing on bettering
other aspects of the CPU architecture such as number of cores, speed of
the bus, latency, etc.  Bandwidth has almost gotten to the point
where it is not so much a matter of pure bandwidth as it is of latency
and jitter (two terms heard pounded to death in the VoIP world). 
The truth of the matter is that people will start to pay a different
amount (and probably do already) for the difference between a simple
bandwidth link and a link that has low latency to major parts of the
Internet.  Have I missed something, or is this not what Net
Neutrality is effectively against?

Anyway, I’m probably missing
something in the Net Neutrality scene.  I’ll have to do more
research before I can resolve the debate going on in my little head of
what I think is right.  My gut says that neither side is
completely right, but neither is completely wrong either.  Such is
the life of politics, business and technology.  You can’t just
separate them and work on one level in such a broad ranging topic of
discussion.

Wednesday, March 14th, 2007 | Author: bmadsen
No Gravatar

The technical offerings of pretty much everybody out there doing
“Collaboration” has been pretty weak for a very long time, in my
opinion. Today tipped off my thought process and helped me to
understand exactly what I have been having a problem with for so long.
So, here it is:

Collaboration is not best accomplished by merely bridging the virtual
divide with voice, video and instant messaging. Companies like WebEx and Citrix’s Goto… suite
provide a good start by doing virtual meeting-places with web
demonstration capabilities, but that isn’t all that the “Collaboration”
sector should be.

No, what it should be was something I saw in a preview video a few
years back. There was a preview video that showed two people getting
together and working on the same report over the web. They both saw the
changes to the document in real time and they could add whatever sort
of data that saw fit. This is something that Google (and possibly Zoho,
but I haven’t previewed their application suite nearly as deeply as
Google’s) is starting to hint at with their ajax’d up Google Apps in
collaboration mode. That’s getting much closer to what I’m thinking.
People I know are getting really excited about that kind of technology,
even though they’re not techies by trade.

However, I would say that collaboration needs to go a full step forward
and integrate all of these wonderful technologies together in a truly
unified communications suite. E-mail, voice, video, IM, screen-sharing,
white-boarding, collaborative document editing, etc. All of these need
to work seamlessly together, which they now just don’t. Bits and pieces
are working together, such as Unified Messaging with e-mail, fax and
voicemail. Google adds to that with unifying their Google Talk chat
sessions, but I don’t believe that that archives voice in the same form
(that’s a small hint for you if you’re listening, Google).

The technologies are getting there, but very slowly. The sector
definitely needs a vision, and not just focus on the islands of partial
collaboration that exist today. It needs fully collaboration
applications that fully interact with each other using open, standard
protocols.

Friday, July 30th, 2010 | Author: bmadsen
No Gravatar

Web 2.0 and Security

Draft only… Excellent article. Not enough is being done at this time
to address the security aspects of some of the Web 2.0 technology that
exists.