There are alternatives to the monopoly that is Google. Adsense these days has close to a strangle hold on advertising on the net. Not only is it in the blogsphere, but it is also coming to mainstream on Yahoo and Amazon. When I first started blogging, the default was to go with adsense. I am not trying to make a living off the blogs I have, but I am asking to be reimbursed a little for the time spent. I enjoy spreading information around the net and enjoy the feedback I get for it, but compensation is also very nice.
Google currently has more than 60% market share on advertising and it will only increase if the Yahoo/Google deal goes through. Google has also stated that they make over 98% of their revenue from advertising. When I first used Google adsense, I wouldn't make any money. Pennies would trickle in slowly and it seemed to go no where using the "Pay per click" model I was using. The revenue isn't there even though Google makes so much revenue from it. So where do they get it you say? Selling ads. That is it. They make their money selling ads to companies and people willing to buy them. To this model the companies do make out fairly well only getting real cost for performance. The problem with this model is the click fraud. There is a lot of it and it will never stop.
Below is the best representation of what you would expect to make using each system:
| |
Sold Through |
Revenue |
|
Level 1 |
AdSense |
Google |
$1 CPM |
|
Level 2 |
Affiliate Programs |
Amazon, Buy.com, etc |
1-2% sales |
|
Level 3 |
Traditional
Ad Networks |
ContextWeb, ValueClick, AdOn, etc |
$1-$2 CPM |
|
Level 4 |
Automated Text Link Ads |
TextLinkAds |
$25/link |
|
Level 5 |
Fixed Text Link Ads |
(direct) |
$50/link |
|
Level 6 |
Graphical Banner Ads |
(direct) |
$5-$20 CPM |
|
Level 7 |
Fixed Monthly Sponsors |
(direct) |
(negotiated) |
I want to propose that we stop adopting the adsense model. Not because Google isn't a great company because it very much is, but because this system doesn't truly pay out for the small timers like me and every other blogger that can't sell direct advertising on their blog or domain.
I have a new system that I say should be looked at. I found it just a couple of days ago and hoped that it would do me good. I don't get many hits on the site, but using this application means I get paid for EVERY SECOND that I have ads on my site. I am not talking monthly, but every second there are ads on my site, I get paid.
The application is called Project Wonderful and they have an idea on how to do things. PW works on a bidding system, kind of like a FREE MARKET SYSTEM. The market decides how much you make on each ad. With over 8,000 publishers on the system, I am always getting ads on my site for it. I am always making money and proud of it. I don't bring in as much as the other well established bloggers, but I now make profit on my site as a whole. They pay out at every $10.00, so you no longer have to wait to reach a hundred dollars like Google. PW also won't shut you down for click fraud of any sort. I heard stories where bloggers were accused of click fraud and lost ALL of their money with Google. Well above the $100.00 mark. I now am trying this PW application and will see how it works.
So far it has treated me well and I am currently happy with the result. I ask that if you are using Google Adsense or Text link ads or any other system that doesn't pay you direct. Go ahead and try PW. I can't promise it is the best system out there, but for a small timer like me It Works!
I do ask though, if you like it. Spread the idea around! Get more bloggers and more advertisers using PW. I think it definitely needs to infiltrate the NERD and TECHIE market of bloggers to be successful!
If you liked this post, please be sure to subscribe to my
RSS Feed.
The grass is always greener on the other side, but the water bills are more expensive. For the passed few weeks I have noticed problems with companies. The problems are large and small. Things need to be upgraded, changed and reconfigured for Gen Y. Companies that are large are very broad and ideas come slow in a company of size. Companies have some major changes that it needs to change if they are to compete in the next 20 years. Most of the workers here today are baby boomers and after viewing a charts of the attrition, companies need to work hard in the next couple of years.
The problems with companies include, but are not limited to:
- Career advancement - Publicize requirements for advancement. What is needed to move from Engineer I to II or II to III should not be a secret. What are salary bands for each job title?
- Continuing Education - Reimbursement at the IRS cap of $5250 a year does not permit employees to complete the master’s degree program within a reasonable time limit forcing employees to assume additional debt.
- To safeguard the investment, possibly require a year
for year payback. I.E. for every year the company pays tuition,
employee guarantees they will remain with the company for the same
amount of time after the degree is awarded.
- Instead
of reimbursing employee, pay tuition directly to the school preserving
the companies tax write off while protecting the employee from taxes
over the $5250 cutoff.
- Exposure to Career Path Opportunities - Create a formal new hires program including:
- Job rotation - In a large company, a formal plan is needed to allow for greater visibility across the range of possible career paths. Give new hires the ability to explore the many different practice areas within the company. One possibility: four to six, three month assignments in different areas of the company.
- Assign a mentor to assist in career development. The existing mentoring program is one of the best kept secrets at NG and it shouldn’t be. Lack of exposure is keeping the mentoring program from reaching the people it is meant to help.
- Cross discipline information sharing. Something that combines aspects of Facebook and a blog would allow employees to share knowledge with each other.
- Encourage innovation and creativity - Allow the employees to develop new and innovative technologies which would speed up or eliminate repetitive, costly tasks.
- Create a review board to examine requests for funding to develop tools.
- Have proposers create a BCA identifying risk / benefit / cost.
- Create “sandboxes” to allow developers to explore emerging technologies without jeopardizing corporate computing infrastructure.
- People searching for jobs at the company see the cutting edge technologies that we create, but walk in the door and see the antiquated machines that we build them on and then leave. There must be a way to allow us to use more cutting edge software platforms without adversely affecting the network.
- Virtualization or private networks within the company would allow software engineers to work with newer tools and provide better solutions to the customer.
Companies often struggle with retaining Gen-Y. The above was a short summary of what should be done to help keep Gen Y at the company in which it invests so much time and money in. The grass is always greener on the other side, but is it really? Do other companies all have the same problems?
If you liked this post, please be sure to subscribe to my
RSS Feed.
When life throws you hard balls, you can either step back and take a swing or bunt the hell out of it. I just recently went to an information session on T-SQL, Stored Procedures and now LINQ. These folks discussed stored procedures and why they are so important in the world today.
They stated ideas such as:
- Stored Procedures optimize queries.
- They stop SQL Injection attacks.
- Stored procedures are concrete and cannot be changed.
I wanted to briefly state a counter argument against stored procedures and for T-SQL and LINQ:
- Stored procedures do not optimize queries.
- A SP is not an optimized query, it does not save time. SP’s used to save time and have been faster in the past, but more and more RAD development has been done without SP’s. The development has caught up with SP’s and dynamic SQL has now caught up and in some cases surpassed SP’s. These days parameterized queries are now cached just like SP’swhich put them on an even playing field.
- Microsoft LINQ and ADO teams both admit that SP’s are not faster than dynamic SQL.
- Benchmarks have also been completed which explicitly show SP's are slower over small queries and tie dynamic queries over larger ones.
- Stored procedures do stop injection attacks, but you can also do it with parameterized queries.
- SP’s are good at this, but it can also be done with parameters. Putting a value into a parameter means that it will not be a part SQL query string at all.
- Stored procedures are very concrete and are hard to change as a developer with a DBA. This is the problem.
- As a developer when you push a product out the door, you want to be fast at this. Developers don’t want to learn two languages in order for their product to be pushed out the door and then go back to the database every time code needs to be changed. They want dynamic abilities. When SP’s are hard to change, it might be a bit harder and take longer when you have a DBA. The inability for SP’s to be changed or created fast is the issue with this kind of development.
- SP’s mangle the three tier architecture designed for apps.
- Instead of having a structure which separates logic from storage, you have storage and logic on the same tier. This will cause potential problems down the road.
- Business logic in a SP does not scale. Business logic should be in code and not in the storage center.
- When you have multiple database servers, it is more difficult to keep the triggers and SP’s synced.
- There is no Version Control for SP’s.
- In a place that can be disastrous if you screw up, it should have something. This is one big reason why people like to avoid SP’s like the plague. They run away and never move back into town.
- SP's are NOT cached and Are NOT Pre-Compiled
- SQL Server 2000 and SQL Server version 7.0 incorporate a number of changes to statement processing that extend many of the performance benefits of stored procedures to all SQL statements. SQL Server 2000 and SQL Server 7.0 do not save a partially compiled plan for stored procedures when they are created. A stored procedure is compiled at execution time, like any other Transact-SQL statement. SQL Server 2000 and SQL Server 7.0 retain execution plans for all SQL statements in the procedure cache, not just stored procedure execution plans.
If you see the new technologies coming out of Microsoft now, there will be no need for SP’s in the future. LINQ is taking care of most of this by allowing for a data layer cheaply and efficiently with very little effort by the developer. LINQ handles all these problems and if you truly like a confirmation on all the things I said, just search the internet for Stored Procedures v.s. Dynamic SQL.
The debate these days has two sides. Not “Republican or Democrat”, but “Progressive and Non-Progressive”. The Progressive folks are not using Stored Procedures these days.

If you liked this post, please be sure to subscribe to my RSS Feed.
I have been piddling around with an idea for the past few weeks along with all my other ideas. Today I met with one of my old bosses at Florida Tech about the idea. She works in the program development part of the school. Its almost like the R&D department for events at FIT. We discussed bringing an idea like TED's to the South-East corner of the states. TED's is creative commons which allows it to be done anywhere with the name of TED's. I like this fact because it allows us to have the name behind the same caliber of information given.
We made a small timeline to shoot for March after or before spring break. This will give us plenty of time to plan and make ready one of the best conferences for one of the best innovative organizations on this planet. I personally think, if done right this could be turned into something amazing!
For all that don't know what TED is, here is a brief synopsis:
TED - TED stands for Technology, Entertainment, Design. It started out (in 1984) as a conference bringing together people from those three worlds.
TED conferences include about 50 speakers world wide to come and express ideas that they have. These ideas are here to help the world on a small and large scale. Most ideas at TED have helped the human race as a whole and have brought together innovators from around the world. These innovators then speak for no longer than 18 minutes. They talk on what ever they have focused on in life. They then could win scholarships to help with their ideas and network with CEO's of companies along with other various people. This conference is top notch and you have the ability to learn so much in a very small amount of time. It adds the ability to collaborate with thinkers and doers in the world in which they now communicate with each other.
The conference is what I will try to bring to the South East. I hope to write more on this later. I will try to keep my progress updated regularly.
Scott.
If you liked this post, please be sure to subscribe to my
RSS Feed.
For the past few weeks I have been testing out a piece of software for note taking. I found the software by luck trolling through www.stackoverflow.com. The software is called Evernote. It can do almost everything that is need to do when you need to take a quick note. All the notes live in an online repository. Without the repository being Google, I worried that the information might not be there forever. I decided to take a test drive and let me tell you that this thing just kicks ass. I have it installed both on my phone and several computers where I can access the notes from anywhere. I fully enjoy this because my last note taking software was the TASKS section from outlook. Microsoft was doing a better job with them, but Evernotes ability to take notes anywhere is amazing. To briefly go through what kind of notes it can take:
Desktop
- It can take anything typed or from a web browser. The browser part is quite extraordinary because all you have to do is click a button and it adds a note. You can either highlight text or make the entire web page a note without highlighting and wa-la, you have a web page that you don't have to bookmark for later. You can just go back to your notes which then unclogs the bookmarks for the real purpose of what bookmarks were made for.
Phone/PDA
- Voice notes
- Text note - Typed text
- Ink Note - If you have a touch screen you can write on the note.
- Snapshot - You can take a picture of some document or anything. If you take a picture of the document, EverNote has the ability to capture the text off the document so it can be edited for later.
- Upload a file - Currently this isn't on the desktop version, but you can upload a file which will be saved both on your dektops and the database.
Coding
- I specifically use Evernote a lot when have some interesting piece of code that I want to make sure I have at home too. Instead of emailing it to my self, I now place it in Evernote, tag it as code and then I am off!
For both os's, you can save, delete, tag, print, categorize each and every note.
I wanted to mention one more thing. This program is FREE! The service has limits unless you upgrade, but after using it for several weeks, I have yet to reach my limit.
I hope you will give EverNote a try. It does also have a IPhone version out as well.
If you liked this post, please be sure to subscribe to my
RSS Feed.
A while back I witnessed how the profile properties of ASP.NET are stored in the database. All the properties all stored in one string. There is then another string that describes the properties and how to view them and pull them from the database.
For example you have this string:
SmtpServer:S:0:18:Port:S:18:2:Password:B:0:48:ApplicationID:S:20:1:EmailUsername:S:21:15:
Then you have another string that looks like this:
pop.abcdefgh.co.uk257abcdefghij-abcd
If you break it down correctly you could get something like this:
- Property Name : SmtpServer
- Property Type : string (S) <-- Or this could be the Serialize As Type
- Property Start Index : 0
- Property String Length : 18
Now the question that I ask my self is:
Does this actually increase performance of the system?
I would argue yes and no. Since the system could have an infinite amount of members attached to it and a countless amount of profile properties. It would need to have something like this to decrease the amount of rows owned by a single user in the profile table. To give an example, I could be one user with 20 propertie. If the application had over 1,000,000 users, that would be 20,000,000 rows. That is huge and you must design for scale when it comes to an application that could potentially be used by all the world.
I would argue no to small applications. If you only ever expect 1,000 users to an application, then why build something this complex other than for the thrill of it. This is especially the case when you don't need to worry about space on the system. Space is cheap, but time spent coding a solution for this sample could be huge depending on experience.
I personally would build a generic code base for two ideas of this kind. You could first build the generic code for the example above, but there would be another generic sample to build for. Lets say that you knew you were only going to ever store numbers in your database for each user. These numbers could be used for ID's of another tables real data. So I only want to store ID's of a table for each user.
I would store them like:
1:56:34:39:6798:10:39:40
This is because I wouldn't need another cell to split them up with indexes. I would just split the numbers by the Colon. I would love to hear everyone's thoughts on this and why or why not it is a good choice. Thanks for the time to read this.
If you liked this post, please be sure to subscribe to my
RSS Feed.
If you haven't seen it yet. Mobile 6.1 was just release two months ago. I just found out and will be upgrading tonight.
New changes include but are not limited to:
- Copy / Paste (finally!) - Only touch screens used to do this.
- Domain Enroll in Settings (Enrolling in a domain will connect your device with company resources.)
- New home screen (pan left and right to check out missed calls, notifications like email, sms, etc.)
- Change Master Security Cod
- Added text input settings
- Recent Programs when pressing Start menu - Allows you to see recent programs launched.
- Threaded SMS! - This makes it so MUCH EASIER to carry on conversations.
- When
you compose an email, or SMS, and start typing the name of the contact
in the "To:" field, the contact names finally pop up like Windows
Mobile Professional!
- Internet Explorer now lets you define a homepage, and also zoom in and out using a nice and clean interface - ZOOMING feature is AMAZING!!!
- Task Manager now shows CPU usage as a whole, and also lists it by process
- Internet Explorer offers 6 zoom modes and copy / paste functionality
- IE also uses a new font, which looks worlds better
- ActiveSync will now try to automatically configure your Exchange settings once you enter an email address
- Wi-Fi indicator in the status bar, just as in Windows Mobile Professional
- New "Vista" home screen and theme
- Video Share Calling
- Remote Desktop Monitor
- ONE Note Mobile!!!
- PTT Button can now be reassigned under Start / Settings / Buttons.
This new CE looks and feels so much better.
I am two months short on this launch, but if your reading this then so are you!!!
If you liked this post, please be sure to subscribe to my
RSS Feed.
Today I watched a Google Talk today about Technology. The president nominee spoke about ideas on free Internet, Public opinion, technology within bills that get passed in the house and senate, Public knowledge of bills, and more.
I for one am a Republican with many views against democrats and especially left wing democrats, but I do think that Technology can SAVE THE WORLD. I have not seen my parties stance on technology, but today I saw the democrats stance on technology. I ask you to also look at this stance. Republicans have not shown me what they plan on doing with technology, but democrats have.
So for me and the stance on technology, I lean towards the democratic view even though I am a republican.
I hope all of you also review this video and sit down for an hour and take the time out of your day to do so. This has greatly increased my chances for voting democrat.
Please understand, that I am not being political, but to show you what I think should be done in the technology market.
If you liked this post, please be sure to subscribe to my
RSS Feed.
I needed to get a query completed like this in LINQ.
Select max(uid) as uid, Serial_Number from Table Group BY Serial_Number
I thought about it for a while but didn't get anywhere. I kept testing until I asked another person and they came up with:
using (DataContext dc = new DataContext())
{
var q = from t in dc.TableTests
group t by t.SerialNumber
into g
select new
{
SerialNumber = g.Key,
uid = (from t2 in g select t2.uid).Max()
};
}
This code is very nice and sweet. It allows you to select the all MAX Rows of a table with a grouped table column.
Hope you enjoyed this little lesson. I decided to save this syntact because it is something I will most likely come accross again.
Scott
If you liked this post, please be sure to subscribe to my
RSS Feed.
I found a website a few days ago that is very credible to things like Digg and technorati. Its called Hacker news and is offered by YCombinator.com which is a nest for startups. Hacker news is a very narrowed view of haaackers who work all day to hack away at jobs. The site is pretty simple in its design, but looks extremely valuable to the person looking to use the NITCH developer community.
It also uses Open ID which is great so I don't have to register and remember yet another password.
Website can be found here.
Thanks for reading.
Scott
If you liked this post, please be sure to subscribe to my
RSS Feed.