michaelsilver.us Software, programming and whatever.

July 24, 2010

Facebook Etiquette 101

Filed under: Internet,Proposals — Michael Silver @ 2:27 am

Miss Manners in the White House

Facebook rocks.  Well, maybe it doesn’t rock, but it does fill a niche on the Internet that no other site or service fills as well. The type of interaction that Facebook allows is new to all of us, after all Facebook is a baby.  As with kids when they learn to eat at a fancy restaurant or have conversations at a dinner parties, they make faux paus.  They are unaware of proper etiquette.  Such interactions are new to them, just as Facebook is to us.

In many cases, etiquette exists for good reason: to avoid offending, inconveniencing or putting others in a difficult or uncomfortable position.

Enter Facebook.

We are all kids learning how to interact via this new medium and it desperately needs a common etiquette to help remove the cruft that often ends up in our friend feed.  Michael to the rescue.  Here are some guidelines to help improve our communication via Facebook via good etiquette:

Faux Pas #1: Bait Post

This is unbelievable common.  Ever browsing your friend feed and come across a post like this? “OMG, that was awesome!!!”  That’s all.  No context.  No explanation.  This is a Bait Post.  It begs the reader to respond “Hey, what was so awesome?”.  Then the original poster has to explain what should have been in the original post.

Sample Bait Post

If the poster doesn’t want their friends to know what they are talking about, why are they even posting to Facebook?  Send a text message or an email.  If it’s private, keep it private.  Don’t tease.

If it’s not private, why do this to your friends? Is this how you carry on conversations in real life? Begging for attention? Facebook already brings out the narcissist in us, don’t encourage it.

In all fairness, I have been guilty of this in the past and a recent Bait Post of mine prompted me write this entry to help remind me:  Friends don’t Bait Post friends.

Faux Pas #2: Bait and Ignore Post

What could be worse than the dreaded Bait Post?  Well, the Bait and Ignore Post.  Not only does the poster bait you, they ignore your pleas to know what’s going on.

Faux Pas #3: Bait and Non-Of-Your-Business Post

Yes, it gets worse.  This is less common, thank god, but still happens.  The poster baits their friends and then after the obligatory “What’s going on?”, they post to the conversation: “I’ll email you,” essentially telling the rest of their friends, that it’s non of their business.   Hopefully, if you are one of the lucky “What’s going on?” posts, you will get the explanation email.  I never do, because I never fall for the bait post in the first place.  You shouldn’t either.

Hopefully, if we all stop responding to Bait Posts, they will slowly die.  But doubtful, so feel free to send offending friends to this blog entry

Faux Pas #4: App Spam

Everyone is quite familiar with this one.  Facebook applications posting into your friend feed:  “Joe Blow needs one more diamonds is his mining adventure.”, “Milard Jones just joined the Italian Mafia gang”.  This takes annoying to new heights.  The information is useless, no one cares, everyone hides it, so why do it?  If the application doesn’t give you the option to not automatically post to your feed, you shouldn’t play it.  It’s spam, plain and simple.  Kudo’s to Facebook for allowing us to hide such posts.

Sometimes there’s a fine line.  Some applications, such as Foursquare, actually do post interesting information.  Foursquare posts about your current whereabouts to your Facebook feed.  At least it has meaning.  I’ll find it interesting if you are cable hang gliding in Trevallyn State Recreation Area.  Knowing that you scored 100,000 points in Bejeweled, not so much.

Faux Pas #5: Anonymous Friends

I consider Facebook a place to communicate with my friends.  If I don’t know you, I can’t really consider you a friend. Sorry, it’s the nature of relationships.  With that understanding, I won’t approve you as my friend.  You should presume all Facebookers will reject unknown friend requests and here is where etiquette comes into play:

If you ask to be friends with someone and you barely or don’t know them, add a note to the friend request, either jogging their memory or explaining why you should become Facebook pals.  It’s courteous and respectful and if you don’t do it, expect to be rejected.

That’s it.  That’s all I have.  See how painless it was?  Now you know how simple proper etiquette on Facebook can be.  With these faux pas clearly spelled out you will recognize them everyday and realize just how inconvenient they are. Just because it’s a new medium doesn’t mean we can’t apply common sense to it.

Did I miss one?  Disagree?  Let me know.

June 3, 2007

Simple Campaign Finance Reform

Filed under: Politics,Proposals — Michael Silver @ 1:36 pm

I am on the AFA mailing list, not because I agree with them, I actually disagree with almost everything they say, but I find their boycots of Ford and Disney World (and others) rather humorous.

Believe it or not I read each email they send to me and recently it dawned on me that they had a valid point.  Should congress limit ones ability to convince someone else to vote for a candidate?  Congress, usually with McCain and Feingold (whose web site looks like a professors) leading the charge.  While I agree wholehardedly that the government needs campaign finance reform, certain aspects of it bother me.  For example, should I be allowed to email my friends with my opinion of candidates for office?  Should the AFA be allowed to?  What about an opt-in mailing list?

Another sticking point is whether limits on donations restrict one’s first amendment right to free speech?  It appears more and more that it does not, but as always the answer is more complicated as you break the donations up between soft money, hard money, etc.  Mitch McConnell was one of the ones leading the charge against reform, or at least McCain/Feingold’s version of reform.

So I offer a simple solution.  It places on the burden on those taking donations.  Take all the donations you want but you cannot vote on any issues relating to those you took donations from.  In other words all conflicts of interest must be avoided.  This would also work in reverse.  If you are sueing Microsoft as an Attorney General and Microsoft donates money to your campaign or your party, you must return the funds, unlike Charlie Condon did[abstract].  The neuonce of that last sentence is the word party.  If you are a member of a political party and that party gives you money or any direct campaign help, like ads, etc, the party becomes transparent and the donations to the party are treated as if they were made to directly to the candidate.

Let’s  run through some examaple to make sure the idea is clear.

Senator Larry Smith takes a donation from the RIAA and then a bill that would make music piracy a federal crime comes to the floor.  Senator Smith cannot vote on the bill.  If he does, he could be charged with a mistermeanor for conflict of interest, or perhaps even bribery, even if his vote was not beneficial to the RIAA.

Senator Lucy Samuels receives a donation from Ford and she is about to vote on raising the fuel effeiecncy standards.  She must either not vote or return the funds to Ford.

Senator Bill Lewis receives money from a PAC (or his party) and the PAC (or his party) received money from Exxon.  He cannot vote on any legislation that may effect Exxon.  This includes all riders.  So if the federal budget includes money for oil subsides, Mr. Lewis can’t even vote on the budget.  At first there will be only a handful of senators eligible to vote since bills often have so many riders.

What will happen in that later example is the PAC will simply not donate to the candidate.  They will run attack ads against his opponents, etc.  Fine.  The goal shouldn’t be to get all money out of politics.  It should be to removed the conflicts of interest that are rampant in our system.  Candidates take money from corporations and then routinely vote on legislation that directly affects the corporations.

Judges must recuse themselves when they have a realationship to a case before them.  Why should congress be any different?  Currently, saying there is no relationship is somehow acceptable.  It shouldn’t be and they should be held accountable.

To make this work, the Attorney General needs to no longer be a politcal appointee and the president should not be allowed to fire them.  They should be appointed by the Supreme Court or via some apolitical method.  If the AG is political he could pursue only those not in his party.

This solution to campaign finance reform would also reduce pork barrel projects.

Here is an interesting question.  If the president took money from Boeing and a bill came to his desk for purchasing military airplanes from another company, could he veto it?  If he were not permitted to veto it, legislators could include riders that would prevent the president from vetoing any bill.  Perhaps the Executive branch would need to be exempt from the law.

February 28, 2007

CodeGear’s Next Step

Filed under: D,Delphi,Programming,Proposals — Michael Silver @ 3:19 am

As Delphi developers, we’re always reminded how Delphi won’t make it. How it’s on the verge of extinction. How Borland (nowCodeGear) can’t stand up to Microsoft, Java and open source languages. I always ignored the doomsday talk. I knew it wasn’t true. Sure enough, ten years after installing Delphi, I was still using it.

The same naysayers are still around, saying Delphi is doomed. Unfortunately, now they are right. Delphi is doomed. Let me clarify what doomed means. Delphi’s heyday is over. It may continue to live on as a niche player, but it will no longer enjoy the robust community and innovative thinking that went into that first few versions.

Before I examine the evidence, let me express my sadness at the revelation. I take no joy in reaching this conclusion. Delphi was a remarkable language and development platform. It was the perfect answer to Visual Basic. It had the power and speed of C yet was as easy to use as VB. It is the father of C# and it’s similarities can be seen throughout.

This article isn’t just about the end of Delphi, but the future of Delphi (Delphi is dead, long live Delphi), C/C++ and CodeGear.

So how do I reach the conclusion that Delphi is doomed?


The community that once thrived is no longer as robust. To be fair, some of it has shifted off shore. While Delphi’s decline is evident in the United States, it is still going strong in other countries, but newsgroups aren’t seeing the volume they use to. Email lists are quiet. Open source projects done in Delphi seem to be stagnating. It’s like everyone left the building and forgot to turn off the lights.


Microsoft dealt CodeGear a blow by first stealing Anders and then releasing the .NET platform. Where does Delphi go from here? C# is more advanced than Delphi and it muddies the water with the CLR and managed code. Should Delphi continue to advance the win32 platform or jump ship to .NET? This confusion in the market place only hurts Delphi. I understand they are now working on a version of Delphi that compiles to either win32 or .NET. I hope it works more seemlessly than previous versions.

Lack of Innovation

Delphi is behind the pack. I remember the excitement when Delphi got it’s foreach statement. While that was was being added to Delphi other languages were getting closures, mix-ins, class exstentions, generics, contracts and numerous other languages features. Poor Delphi was ignored and I don’t blame it on the the diversion of resources used to create Kylix or Delphi.net. Delphi has been a slow innovator since about Delphi 3.

Delphi also tried to advance into the web realm with very limited success. I can’t really blame them for this as it was mostly dominated by open source scripting languages and java.

The D Solution

How hoes does CodeGear save itself? While a guaranteed solution is impossible, some ambitious moves must be made.  CodeGear seems to be moving in this direction with Delphi for PHP (and Delphi for Ruby on the way) but they need to go a step further:  Purchase the rights to D [wikipedia:D].  D the programming language.

D was created by Walter Bright who also worked on the Symantec C++ compiler and has been working on compilers for around 20 years. D just had it’s 1.0 release and is quite impressive. It’s compiled code usually runs as fast or faster than equivalent C++ code. D is starting to get noticed and others have even noted that D is a diamond in the rough just waiting to be polished. D also combines all the goodness of C and C++ and adds in the latest language features, including support for unit tests et al, and leaves out much of what people don’t like. Oh, and CodeGear needs to keep Walter in charge of D.

Walter needs to be given the freedom to advance the language as he deems necessary. Once the marketers and bureaucrats take over, the language stagnates. While I use to think language stagnation is a good thing (it prevents old code from breaking), I now think since change is a part of life, languages must continue to change and adapt otherwise they die.

So how does this solve CodeGear’s problem? Well it doesn’t immediately, but it does give CodeGear one of the most impressive languages available and it removes all the arguments about Delphi not being ready for prime time (i.e. being in Pascal, owned by Borland, etc). While Delphi is one of the best languages and environments available it gets little respect or attention and never will. By moving to D it removes the need to modernize and bring Delphi up to date and also gives CodeGear the advantage of having the successor to C and C++. Frankly I prefer the C syntax anyway and I think most serious developers do too (with exceptions, of course).

Once CodeGear has D, they need t0 submit it to the standards board and release a compiler and standard library on numerous platforms as open source, even if unsupported directly by CodeGear. The official CodeGear compiler could remain closed source, but it is critical that there be a GLPed version of the compiler however, otherwise widespread adoption will be limited. D is good enough to gain traction on it’s own (and has been), but with CodeGear’s backing it will get to skip a few places in line.

Open sourcers would get a FAST, stable compiler to eventually replace C that they can count on being around for a while since it’s open source.  Delphi developers would get a successor that is modernized and CodeGear lays claim to a state of the art language.  That would make for some great advertising.

CodeGear must release an IDE for D, perhaps as an eclipse plugin. I am not convinced an eclipse plugin is the best route, but that’s the path they are taking with JBuilder. Eclipse stills seems behind the curve compared to the last Delphi IDE (Delphi 2005) I used. The IDE can be strictly for profit and doesn’t have to be open source.

Once CodeGear gets D released into the wild, I would expect heads to turn. The open sourcers would be pleased with it since it has a GPL license. Corporate developers (like myself) will be happy since it has the ease of Delphi, C syntax and modernized. The goal here is to impress both the open source community and paying customers. This is a terribly elusive task but has been done by MySQL and others.  If CodeGear walks this tightrope succesfully, they could end up with the most used language in the world, assuming D overtakes C and C++.

The existing Delphi could continue and perhaps this new product would be called Delphi for D or something consistent with their new naming conventions, but the future would be with D and not Pascal (In fact it already is, regardless if CodeGear buys D).

The .NET Problem

While moving to D would be very risky, there are other problems, most notably .NET. How do you integrate D with .NET? While I don’t advocate moving D to the .NET platform, D will need a simple interface into the framework. I am ignorant on how easy this would be. MS seems to do something similar with their C++ for .NET, but I believe it is still managed code.

I would like to see a bridge allowing D to make calls into the framework when needed, but still remain unmanaged code. I have no desire to see D compiling to IL.

If the .NET problem can be solved (and perhaps it’s easier than I think), CodeGear needs to seriously look at D.

April 9, 2005

Proposal: Public Network Infrastructure

Filed under: Politics,Proposals — Michael Silver @ 10:45 pm

Want cheap Internet access? How about cheap cable TV? Cheap phone service?

The simple solution is to let the government build a fiber network to every home in the nation.

I can hear the Libertarians and right-wingers say, “Whoa!! The government own the network?!?! That is socialism!”, so let me first say the government owning something is not inherently evil. Judge what I am saying by it’s merits and don’t paint in broad brush strokes. Don’t be fooled by the claim, “private ownership reduces prices.” This is not true. A richly competitive market is what reduces prices. In fact, in a few cases, government ownership actually spurs competition. This proposal is a perfect example.

Another good example are the roadways. The goverment owns the roads and maintains them. In turn they reduce prices for all of us by promoting competition. Businesses are able to transport goods cheaply and people can drive to any grocery store they want.

Why not follow this example and do the same thing with a fiber network. This would open up a digital highway that would create compeition among digital providers.

Let me explain my proposal in more detail and it’s benefits will become more obvious.

The government should install fiber optic cable to every house in America, or at least 99% of houses. Both the running of cable and installation of the infrastructure will be very expensive, but this will be recouped over time.

Keep in mind, this fiber network is not a replacement for the Internet. The two networks are seperate. You could be connected to the fiber network and not the Intenet and visa versa.

There will become two providers of service on this new fiber optic network. Tier 1 and tier 2. Tier 1 providers would receive direct static IP connections to a house. This would be on a private network and the provider will have to pay fees for this connection. I will discuss these fees in more detail later.

Tier 2 providers would provide services through a tier one provider. There would be no network fees for such access. They wouldn’t have to register their services with the government.

In case I’ve lost you, let me provide some examples. The government connects your house to the fiber network. You shop around ISP’s and select one that provides Internet access over the fiber network. The ISP would be a tier one provider and a small part of your monthly fee would go to the government to pay for the infrastructure. The ISP would tier one since they would require an IP address to your house.

Let’s say you then discover Vonage and you want to switch your phone service. Since you already have Internet access via your ISP (and thus have an IP address), Vonage would be a tier 2 provider. Simple enough, eh?

Now let’s say you didn’t have Internet access, Vonage could offer tier 1 service to your house. The government would provide them with an IP address and you would have to spend an extra $1 (or so) a month to pay for the infrastructure. The choice would be yours.

What this does is break up the required bundling of services and grows competition exponentially by removing the Bell and Cable provider’s lock on high speed Internet access. This lock on the Internet by private companies is what is keeping prices artificially high and restricting your access to additional services.

You want IP phone service, well now you don’t even need internet access. Families with no money can now sign up for $10 phone service without needing an Internet connection. Wow!

By government / public ownership of the fiber network and a low barrier for entry for providers, a slew of services would spring up all with fierce competition. Earthlink and AOL would be ISPs, and perhaps even Time Warner and Comcast. Verizon, BellSouth, AT&T, Vonage, et al, would be competing for VoIP services. Jeez, I can only imagine the features they would be offering to set themselves apart.

Comcast and Time Warner and tons of start ups would offer set top boxes to provide TV shows via the fiber. Imagine how many hundreds of channels you would have access to. I can only imagine how PVR’s will develop to take advantage of all the programming options.

By having a public network, new tier one providers would be popping up on a daily basis. I can’t even think of all the possible services that would crop up. As the tier one providers expand, the access fees for the fiber network would drop. At least to a point. The fees can only be used to cover the expense of running the infrastructure. If a local community wants extra funds then they can tax the providers (like for 911 access, etc), but the access fee must remain pure. It is not a tax, it is an access fee. Also, the access fee needs to be around $1-5 per month to make this work. Perhaps higher for services that require high bandwidth, like digital high definition TV.

As you can see, this proposal is quite simple. There are many technical details that need to be flushed out, and wireless access is quickly changing the ISP paradigm, but wireless is far from offering what fiber can now. Wireless is promising, but there are too many loose ends.

What do you think?

Powered by WordPress