Oh John…
John Gruber, sometimes your blog is great and I love reading it. Other times you just like to show how uninformed and ridiculous you can be, it’s a shame.
John Gruber, sometimes your blog is great and I love reading it. Other times you just like to show how uninformed and ridiculous you can be, it’s a shame.
I do understand Apple’s reasoning behind wanting all applications to be native but that doesn’t change the fact that I want the restriction. I like the power and possibilities that I can get out of a development environment with an API that is abstracted from a specific platform or language so that I can not only develop faster without having to worry about mundane tasks such as memory management but I also get the power to develop cross platform with out much code change. I think that the benefits that come from development environments like this are going to be huge as the mobile and app market keep growing.
http://www.runrev.com/company/runrev-blog/revmobile-and-apples-iphone-sdk-agr…
Nexus One 3G Bugs No Longer Of Interest To Google
Start pricing up HTC’s Desire or Incredible, Nexus One owners, as Google has put down its hammer and announced “we are no longer investigating further engineering improvements.” You’re stuck with those bugs for good.
Oh sure, they issued a patch, which didn’t really do much, but Google feels enough is enough and is cutting the air supply off—according to Ry Guy, a Google employee who posted on their support forums. The full message, below:
Anyone had any luck with changing the orientation of your phone? Oh, you aren’t reading this because you don’t have 3G reception? Whoops. [Google Support Forums via Engadget]
“Hey guys,
I’ve seen some recent speculation on this thread about an OTA to improve 3G connectivity and I want to give you an update on the situation.
While we are continuing to monitor user feedback regarding the 3G performance on the Nexus One, we are no longer investigating further engineering improvements at this time.
If you are still experiencing 3G issues, we recommend that you try changing your location or even the orientation of your phone, as this may help in areas with weaker coverage.
-Ry Guy”
Sad. I was really thinking of getting one, now I am not so sure.
Awhile back I posted a video for the “What do you do with Linux” contest and now I’m a lucky finalist. Which is very exciting for me as I really didn’t expect to see my video do very well as there are so many other great video’s up there, I just though I would do it for fun. Now by some stroke of luck I am a finalist and hoping to drum up some more support for my video. So please visit the site at www.howdoyoulinux.com and vote for my video entitled “Web Development in Linux“. Thanks for the support.
So I have been working on a project that needs a reCAPTCHA validation that is a bit customized. Well while I was working on it I had to refresh the page quite a few times and some how it came up with my last name. I am taking that to be a bit creepy, I mean what are the odds of that actually happening it must be really remote. I wonder what it will know next…
I recently had to build a site that ran mainly off of jQuery and I had the whole thing working from one script.js file that just had a lot of functions in it with some global functions defined at the top. The more I looked at this mess of a file the more I felt disappointed with myself that I had allowed myself to code so horribly.
So I went on a mission to turn the entire site into an object. I tried many different ways, including Javascript’s built in prototyping, but nothing seemed to turn out as nicely as I would have hoped. So I had the crazy idea of turning the entire site’s code into a jQuery plugin. Well it has worked out very well and even though it is a it of a wierd thing to do I have taken to making site that use alot of javascript into jQuery plugins.
The problem for me is that what was outlined on the jQuery documentation wasn’t all that helpful and I found that using existing plugins to figure out how the plugins were being built was alot more helpful but also confusing as there seems to be a nearly unlimited amount of ways to make a plugin. So after searching around for a while and a bunch of trial and error this is what I ended up with:
/*** Sample jQuery Plugin*/
(function($) {
function Sample() {};
$.extend(Sample.prototype, {
settings: {
base_url: ''
},
init: function() {
this.sampleFunction();
},
sampleFunction: function() {
/* Sample Function Code */
}
});
//Plugin End
/** * Event Handlers */
$(document).ready(function() {
if ($.sample == undefined) {
$.sample = new Sample();
}
$.sample.init();
});
})(jQuery);
I find that I like to call the plugin after the site, e.g. jquery.danielbaldwin.js, and I name the function accordingly. I have found that having all the javascript for a site in one object has helped me to build sites that are more complex, can have persistent variables easily, I can set settings that can be changed just by changing a 1 to a 0, and I feel like my code within the object becomes so much cleaner and more legible.
sIFR has always been really impressive with how well it works and how it can make websites look good and unique. However, I constantly dread implementing sIFR on a site as the setup always seems to be such a process that results in some issue that I have to spend extra time working out. For a long time I just assumed that this was the kind of hardship that I would have to deal with in order to appease all the designers out there since fir me the only other option was image replacement which is not an option for me because of server load and portability. Now, though, I am looking forward to not going through all the hassle because I have been recently introduced to a new option, Cufon, that promises to be much easier. The things right off the bat that I really like about Cufon are that it doesn’t require any additional plugins such as flash, it works in all the major browsers, and it seems to render almost immediately. Getting Cufon running is also really easy and painless, the hardest part is that you have to go to their generator page, http://cufon.shoqolate.com/generate/, to generate some javascript that creates the font for you. Then you set up the page like this:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Cufon Demo</title>
<script src="http://cufon.shoqolate.com/js/cufon-yui.js" type="text/javascript" charset="utf-8"></script>
<script src="Swiss_721_700.font.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
Cufon.replace("h1");
</script>
</head>
<body>
<h1>Replaced Text</h1>
</body>
</html>
So doing the replacement really takes almost no code and almost no time to setup. There are 2 other parts of Cufon that have me impressed and happy. The first is that the selectors for the replace are very basic by default but lets you do advanced selectors with the help of a javascript framework like jQuery or Prototype and you dont have to do anything extra other than just have the framework there. I think this is cool because for me most of the time I am using jQuery or Prototype on my projects so they are already there and then I know that Cufon’s code isnt bloated with repeat functionality. The second feature that I am excited for is Cufon’s ability to reload it’s replacements on the page. This is helpful when content changes on the page without a page reload like with ajax. In sIFR you would have to re-call your whole replacement statement and it would look something like this:
sIFR.replace(newsgothicbd, {
selector: '.demo_top',
wmode: 'transparent',
css: '.sIFR-root { background-color: #F9F9F9; color: #417596; text-transform: uppercase;} a { color: #417596; text-decoration: none; } a:hover { color: #417596; text-decoration: none;}'
});
however with Cufon you can just do this:
Cufon.refresh();
So I think it is pretty obvious that I am excited for this find and I am really excited to integrate the use of Cufon into my daily web development. I really thing that this will make the sites I work on look better, have a smaller footprint, and load much faster than with sIFR.