Tag Archives: software

Meet WebMatrix, Microsoft’s New Suite For Painless Web Development

7 Jul

Meet WebMatrix, Microsoft’s New Suite For Painless Web Development

Microsoft has unveiled a new all-in-one web development suite called WebMatrix.

It’s more than an IDE or a framework, it’s a whole suite — a web server, a SQL database, and a database-ready framework, all wrapped up into a single development environment that makes it easy to build, test and deploy some fairly complex web apps.

WebMatrix is free, and it’s available for Windows users as a beta download.

The new suite is especially geared towards developers building web apps that require local data storage. It’s pretty flexible, and you can also use it to build simple websites, then scale up to something mid-weight or incorporate a full-scale app that you could run a business on top of.

The WebMatrix suite is made up of three components: the lightweight Windows-based web server called IIS Express, SQL Server Compact Edition, a simple database server, and Razor, a new templating language based on ASP.NET. The beta version you can download today actually doesn’t have Razor, but it will be included in a future release “later this month,” according to Microsoft.

The three key technologies were previously announced by Scott Guthrie, Microsoft’s VP of its Developer Division. Now, with the launch of WebMatrix, Guthrie has introduced a few new components.

Central to the WebMatrix experience is the Workspace. It’s is basically a singular dashboard inside the app where you develop your site, deploy files, perform various admin tasks, run SEO tests and generate analytics reports.

There’s a web apps gallery that attaches to Microsoft’s Web Platform Installer, so you can browse and install all sorts of open source packages or content management systems like Drupal, Joomla and Wordpress. There are also several templates and frameworks included, so if you need some CSS behaviors or you want to include JQuery interactions, all of those elements can be integrated into your workflow. The ones that aren’t included can be downloaded. You can test your app by automatically launching any of the browsers you have installed on your system.

WebMatrix has been built to let you start out very simply — you can just use it to run a WordPress site if you really wanted to — and then scale up to database-driven web apps. If you install something that requires a MySQL database, WebMatrix will even download and install MySQL for you.

It’s probably not going to eat into the user base of Visual Studio, Microsoft’s full-featured IDE for building apps across the entire Windows platform. But it’s so simple and fluid, it could very well draw some Windows-based developers from the LAMP stack over to the Windows IIS stack. Since everything is integrated — the dev environment, the frameworks, the app gallery and the web server — it’s really meant as a one-stop shop for building a site from scratch.

As a bonus, the files generated by WebMatrix are all just simple text files — HTML, CSS, JavaScript, MySQL and ASP code. So if you want to take all the work you do within WebMatrix and move it over into a different IDE of your choosing, or even a text editor, you won’t end up unnecessarily confused. Anything generated by WebMatrix can also easily be imported into Visual Studio or Visual Web Developer Express 2010, one of Microsoft’s other free tools for building web apps.

See Also

old news, but news to me: saleforce cloud crash

22 Feb

old news, but news to me: saleforce cloud crash

From: http://www.businessinsider.com/2009/1/salesforcecom-crashes-crm

An embarrassing hiccup for software-as-a-service giant Salesforce.com (CRM): According to numerous blog reports and hundreds of tweets, Salesforce’s site was completely down for about 30 to 40 minutes earlier this afternoon.

What do you when you’re entire business had moved into the cloud, and then the cloud crashes? One twitterer had a bright idea:

Check It Out:
Salesforce.com Crashes (CRM)

why I choose the mit license

14 Jan

I’ve been slowly working on moving all of my projects and tutorials to one site. Mainly because there treated like blog posts instead of projects. This of course lead me to start looking at which license to start looking at which license to release everything as.

After a few days pouring over everything on the web I decided to choose the mit license. Why? The mit license fits how I want to release my code. It releases my code openly to anyone, only asking that the copyright in my code remain.

This will probably lead to you ask why not gpl, apache, or bsd?

why I didn’t choose gpl

the gpl license [http://en.wikipedia.org/wiki/GNU_General_Public_License] is restrictive IMO, due to the fact that it forces a user to release anyone that uses what i create under gpl as well. This is not to say that the gpl is wrong, just that its restrictive to end users / developers in a way I choose not to me. If someone takes code that I am openly releasing, I don’t want to limit them in anyway other than to leave a portion giving me credit for my portion of code, that’s it.

If i was working on some huge next best thing (think wordpress) and planned to release it, then I would use a gpl license. why? something like wordpress could easily be exploited commercially. If I take the time to build something like that I would want anyone who decides to change it or build off of it to release it themselves, to also make sure it’s free under the same license. The biggest difference here is intent. If you were to create the next swfobject.js (which uses an mit license), why restrict your users? But if your creating the next wordpress you don’t want to restrict users, just ensure that your work continues to be free.

why i didn’t choose bsd

the bsd license is similar to the mit license, but with an advertising clause. So to prevent anyone from any legal issues (who knows what counts as advertising in the future), why restrict end users?

why I didn’t choose apache

the apache license is the default license for projects at google code (you can select others), so it’s gotta be good. But it feel slightly more restrictive. That said: I’m releasing anything that uses patents. If you are then an apache license might be for you if you’d like to not restrict users.

in a nutshell

I think the best quote I came across was from eagain.wordpress.com:

if you want software to be free GPL is better than BSD. If you want use of software to be free BSD is better.

I think mit/bsd licenses are better for developers when your creating random things that might help someone (think swfobject). gpl is better if your developing an application to help everyone (think wordpress).

sid

*update* – found another good article:

http://fosswire.com/2007/04/06/the-differences-between-the-gpl-lgpl-and-the-bsd/

openx still growing

15 Dec

Openx just keeps growing

From: http://www.techcrunch.com/2008/12/15/openx-shows-impressive-growth-ramps-up-revenue-streams/

OpenX (which used to be called Openads), provider of an open-source ad serving solution for web publishers – we use it at TechCrunch -, is growing like weed under the leadership of former AOL CEO Jonathan Miller, who is the company’s chairman, and ex-Yahoo executive Tim Cadogan who is CEO. According to the company, they’re serving well over 300 billion ad impressions through its software as of this month, while its Hosted product line has achieved a more than 1 billion monthly ad impression run rate.

Check It Out:
OpenX Shows Impressive Growth, Ramps Up Revenue Streams

news: china forces internet cafes to use government controlled operating system

3 Dec

Requirements that Internet cafes in a southern Chinese city install Chinese-developed operating systems are raising new concerns over cyber snooping by authorities, a U.S. government-funded radio station reported Wednesday.

The new rules that went into effect Nov. 5 are aimed at cracking down on the use of pirated software, said Hu Shenghua, a spokesman for the Culture Bureau in the city of Nanchang.

Internet cafe operators are required to remove unlicensed software and replace it with legitimate copies of either Microsoft Windows or China’s homegrown Red Flag Linux operating system while paying a fee, he said.

However, Radio Free Asia said cafes were being required to install Red Flag Linux even if they were using authorized copies of Windows. It quoted Xiao Qiang, director of the California-based China Internet Project, as saying the new rules would help authorities regulate Internet cafes that now operate on the margins of the law, and allow them to undertake heightened surveillance.

China Internet cafes switching to Chinese OS – Salon.com

Apple: Ummm, yeah, you kinda need an anti virus now

2 Dec

If you don’t know: I’m anti Mac. I love ipod, tempted by iphone, but my main issue is with the mac os and pretty much anyone I know that has switched. I’ll admit some of the newer laptops are oh so shiny, tiny, and have made me drool on occasion. Anyways more on my anti mac crusade: Apple is advising users to install anti virus software. Oh yeah freebsd users are still safe :P

We are all notoriously snobbish when it comes to not installing anti-virus software, but largely because we all know that malware is essentially non-existent when it comes to the Mac. Yes, yes, there’s the occasional scare, but seriously: when was the last time that you noticed an actual piece of malware on the Mac of someone you know that actually did any harm? Yeah, exactly.

Nevertheless, the Washington Post’s Brian Krebs noticed a November 21 technical note published on the Apple website that reads:

Apple encourages the widespread use of multiple anti-virus utilities so that virus programmers have more than one application to circumvent, thus making the whole virus writing process more difficult.

Of course, Apple has long-touted the fact that Macs just, simply don’t get viruses. Remember this ad?

Apple says users should install anti-virus software | MacUser | Macworld

good security how to: flexion – Quick 'n Dirty Security and Visibility

1 Dec

Came across this today while looking into fail to ban. This is a pretty good overview of applications you can use to secure your server. The directions are for ubuntu, but source packages and alts are just a google away of course.

Quick ‘n Dirty Security and Visibility

1. Introduction
2. Firewall
2.1 FireHOL
2.2 ufw
3. Intrusion Prevention
3.1 Fail2Ban
3.2 sshdfilter
4. Intrusion Detection
4.1 chkrootkit
4.2 rkhunter
5. Log Monitoring
5.1 LogWatch and Dropbear
6. Security Update Notification

Introduction

This article describes some of the tools and utilities I use to better secure and monitor my servers. Simply following the article below does not get you a secure box, you also need to ensure any services you have running are correctly configured and you should disable, or better yet remove, any services or software you do not require.

Quickn Dirty Security and Visibility

Building Something Scalable: Caching

5 Oct

I’ve been seriously getting my kicks with scalability fora number of months, so why not start on ongoing series where I talk about what I’ve learned / found?

So welcome to to the first: Building Something Scalable – An ongoing experiment. This post covers caching. I’ll cover delivery in the next post.

Keep in mind language wise I’m using php, but the general advice should be sound, regardless of language. If you disagree with something or have a better way, feel free to comment.

So now that I’ve ranted off 4 topics, maybe I should expand on them a bit.

Use Caching

Caching is a good thing, but use caching is a pretty vague statement, so let’s expand.

Caching isn’t just a one ring to rule them all type of solution. Its actually a fixture of a number of different solutions, that work together to boost your site / applications overall performance.

Database caching

I consider database caching a 2 part solution. You have the mysql query cache, but I also like to have a server side query cache as well. Why? I tend to use oop and having a server side query cache allows me to cut some overhead both appilcation wise, and by preventing me from having to connect / query mysql.

The big issue with server side query caches is stale queries. The mysql query cache prevents stale caches automaticly, but with a server side query cache we’ll need to set a TTL (time to live). I tend to go with something really low like 5-10 seconds.

5-10 seconds may seem pointless, but it allows higher traffic applications to handle a number of requests with fewer queries to mysql. This takes some of the load from mysql, so  your database is performing under less load than it would have without the server side query cache.

There is plenty of information on the mysql query cache online, so fire up google and start researching. For your server side cache here a few things to keep in mind

  1. keep your cache in a secure location. If your using a file cache this means outside of your web directory
  2. hashing is a quick and painless way to uniquely id your queries. md5(’select * from table1′) will allows return md5(’select * from table1′) if done correctly.
  3. prevent cache filename collisons.
  4. do a light weight encoding on cache files. base64_encode / base64_decode are quick and easy to use. They’re not secure, but its a good idea to add some basic obfuscation
  5. keep your TTL low. Your query cache should try to stay as fresh as possible.

Opcode Cache

Php is compiled / ran at runtime (when you request a page / script). Opcode caches store the compiled code so that your code doesn’t have to be compiled for every request. Opcode caches can increase your codes performence by up to 90%, but then again, any increase helps the overall perforence of your site / application.

There are a number of opcode caches avaible for php. I prefer xcache, but there are a number of other opcode caches available for php.

Static content cache

Static content unlike dynamic content is, well static. Your probably wondering: Why cache something thats already static? Simple, performence. Static content though is cached / served differently than dynamic content. I know this touching more on delivery, but its still worth mentioning.

Static content is often served through a CDN (content delivery network) or a web cache. A CDN and web cache act similarly, except that a cdn has a number of servers setup in various locations.

Content Delivery Network
A CDN acts just as it’s name says: It delivers your content via its network of servers. The CDN selects a server closest to the location of the user, and serves your content from that location. Whats the benifit? Faster delivery of your content. Is it worth it? That’s a question only you can answer. Do some research, compare the solutions, check you budget – and you’ll have your answer.

Web Cache
A web cache or reverse proxy simply put delivers your content faster. I’m not to well versed in the science of it all, but here’s a basic break down of what I do know:

Web caching software like vanish (in the past squid was the standard) handle servering static content better than apache, and with a smaller footprint. The web cache creates a cache of your content when requested and then delivers your content from its memory / disk cache.

The most obvious benefit from all this? Reduced server load. Apache is a resource hog (there I said it), but that will be covered in a future post in this series. By moving static content delivery to software created just for this task your freeing resources and of course getting content to users quicker.

Output Cache
So far we’ve looked at a number of ways to increase the speed of dynamic and static content, but there’s still one major item left out: Output Caching.

As your scripts / application generates pages, you can cache them to be served for future requests. Output caches in general can be as basic or complex as you need them. A few things to keep in mind.

  1. stale content, your cache should have aTTL(time to live) that prevents it from serving stale content
  2. filename collisons – your naming scheme should prevent filename collisons
  3. store your cache outside of your web folder
  4. logged in users / vs non logged in users – come up with a solution that deals with this.

Variable / Object Caches

Your code has objects and variables, often some of these objects are database intensive. An object / Variable cache is a way to store your objects and variables. The thing to keep in mind with these types of caches is speed.

It makes no sense to cache something like $var=1+1;. You can run that command quicker than you would access it from the cache. A good example of somethign to cache would a class object that runs a number of queries on the database, but accesses content that doesn’t change as often. By caching this object you can prevent a few database queries (or cache calls). Or a class object that generates a number of child class objects.

I could go on and on about this subject but lets get to the point. If your application is running on only one server use a file cache. If your application uses more than once server look into memcached / memcachedb.

Thats it.
Hopefully that was short and sweet, the next post will cover delivery.

Greg – Out

linux: openSuse compared after some time

17 Aug

Its been over a month, so i figured its time to do an after action report.

Simply put I still LOVE openSuse. Of course theres a few things that need work, but overall its a wonderful distro that I strongly recommend.

Ok so for a bit of back story I’ve been using windows since i think 3.1. When i was a kid my dad taught me to use the green screens, and i’ve been using linux off and on since about 2000. Also I’ve rarely used kde.

Umm so wheres the review

Sorry if your expecting stats, screen shots, etc. Its is pretty much nothing more than opinion. Take it as you like, I’m just hoping to share my experience – hopefully helping someone else find their ideal os sooner.

4 machines – similar experiences

I’ve installed opensuse on the 4 machines: a new toshiba core2duo laptop, a p4 (pre ht) dell laptop, an amd x2 hp desktop, and a p4 ht dell desktop.

my experience has been pretty consistent acroos all machines with the following exceptions:

  1. There is no audio on the dell laptop. I’m sure this could be fixed, but the dell is more of a toy than something i actually use.
  2. Wifi refuses to work during initial setup on the x2. I’ve used both a linksys pci card and belkin usb device. Both are detected, but no signals are detected. As an fyi I’m able to stabily connect to my network from 50-80 (rough estimate )  feet from my place, so there are no signal issues here.
  3. Media support can be a bit annoying to get up and running.
  4. firefox / internet seems to run slower

now on to detials

Wifi

The wifi support in openSuse is by far awesome, for the most part it puts windows wireless support to same, and of course any and all of my past experiences with wireless on linux.

On the p4 dell I plugged in a wireless card that on ubuntu doesn’t even get reconigzed. Guess what? It worked, no drivers to install, no new device settings, it was up running and displaying my network quickly.

I have yet to have any wireless device not install and display in my connections list. This is a big plus for me as I’ve had bad experiences with wifi on ubuntu.

networking

I have yet to actually setup my network (sorry I’ve been lazy), but as far as getting a basic network setup it’s been no problem.

Theres really nothing to say here other than it works, I haven’t setup myth servers, file servers, etc. I do however have lamp servers running with no issues (disclaimer: I only use centos for development / production lamp servers).

Graphics

You knwo how they say a cool comp won’t help you pick up chicks? Their right, but it sure as hell looks cool when you bring someone over.

Compiz + emerald work damn near flawless. I’m not a gamer so i tend to get your basic video card. I’ve had no issues with eye candy. And to all you mac users: yes my eye candy kicks your eye candy in the arse.

I have the majority of my rendering set to medium levels and only experience lags when recording desktop.

You do not need a top of the line graphics to enjoy good eye candy. Running awn, compiz, and emerald barely taxes any of my systems except the dell p4 laptop which only has 512mb of ram.

Also of note: DUAL SCREEN SUPPORT! yes i know thats in caps, but seriously why can’t everyone handle dual screens like this. I briefly tried ubuntu 8.01 after a few months of 7.10 and honestly opensuse jsut feels more natural to me. Yes i prefer openSuse’s dual screen support to windows.

Eye candy

As already mentioned eye candy is everywhere in openSuse, imho they have the best layouts / designs for the bootscreen, login, everything, etc.

Speed

Fast – that simple, I experience occasional program hangs, and in total 3-4 system hangs, but then again i was messing with stuff.

So compare something already

Here is a list of os and what they do better than opensuse. Understand I’m comparing this way because it’s easier to just point out what another os does better, than to point out everything it does worst.

mint linux : media support, newbie friendly

Seriously I don’t think there’s another distro thats handling media support better than mint linux right now. That said the same support can be installed on openSuse fairly easily.

ubuntu : newbie friendly, media support

mint linux is based on ubuntu, so of course ubuntu is gonna beat openSuse in the same areas. media support is better on mint linux, but again open suse can be setup witht he same media support.

Where i think opensuse loses the majority of its newbie friendly points is yast. Yes yast is powerful, but dependency support is lacking. While ubuntu allows a newer linux user to quickly get a feel, we all know where and when its lacking so I’ll leave that alone. If openSuse improves their package management, denpency support, and loses the one-click installs for something less annoying, imho it will be on par with ubuntu. I should however point out that the stability of packages has not been a problem at all on openSuse as it was on ubuntu.

fedora : nada

I haven’t touched fedora in years, but based on feedback, theres no need to compare. If your looking at fedora look at either ubuntu or openSuse. also does anyone remember when fedora was the centos of linux?

slackware: old school

openSuse is slackware based, but much easier to use. Slackware however has more of the old school linux feel.

centos: anything lamp

centos imho is the only os to host on (well other than rhel). So simply put its better as a lamp envirnoment. Most software is tested on rhel / centos so you’ll have less install issues on centos. Lastly centos has been the most stable hosting os i’ve used. I left ubuntu after 3 days when i tried using it as a hosting envirnoment

rhel: see centos

mandrake linux:

to me openSuse just feels more linuxy – i know thats not a word but hopefully it makes since

closing thoughts

sorry I’m not really big on testing everything, just testing till you find what works best. There are plenty of new and old distros that may work for you. look around, google and ask around. openSuse might not be the best distro for you, but i highly recommend it to everyone. If your a developer that deals with lamp i highly recommend you try openSuse. I’m basing this on the fact that i’m a lamp developer.

That said my ex roommate was a windows network admin, he loved ubuntu, and prob will love opensuse. Speaking of which I should shoot him an email.

elsid Out

Google Indexing getting more flash friendly

2 Jul

Monday, June 30, 2008 at 9:31 PM
We’ve received numerous requests to improve our indexing of Adobe Flash files. Today, Ron Adler and Janis Stipins—software engineers on our indexing team—will provide us with more in-depth information about our recent announcement that we’ve greatly improved our ability to index Flash.

Q: Which Flash files can Google better index now?
We’ve improved our ability to index textual content in SWF files of all kinds. This includes Flash “gadgets” such as buttons or menus, self-contained Flash websites, and everything in between.

Q: What content can Google better index from these Flash files?
All of the text that users can see as they interact with your Flash file. If your website contains Flash, the textual content in your Flash files can be used when Google generates a snippet for your website. Also, the words that appear in your Flash files can be used to match query terms in Google searches.

Official Google Webmaster Central Blog: Improved Flash indexing