Safari Width 1.0Safari Width 1.0Safari Width 1.0 03/13/2003 10:22 AM This script lets you easily set the width of the frontmost Safari window. It displays a list of screen widths from 160 to 1600, including the current window's width (which is already sorted and highlighted in the list), and an 'Other...' item, in case the list isn't long enough for you. Known limitations: Windows always set flush to upper-left. No readme file yet. Note: There is currently no description or mention of the script on the web site. [d/l] This is a GrokNews Entry: (what is grok?)Safari Width 1.0Grok Headline matches for Safari Width 1.0width = str(len(str(len(lines))))width = str(len(str(len(lines)))) 02/10/2004 02:44 AM The above monstrosity came up today while writing a function to add zero padded line numbers to a chunk of text:
I think it has a pleasant kind of symmetry to it. svendtofte.com - max-width in Internet
|
| Suits and Geeks is Arnold Kling's latest, and a complement to World of Ends. |
| Arnold lists Five Clues for Geeks: |
|
| Lots to talk about there. |
| So I've been talking to some companies here in Toronto, and a question has comed up for which I don't have a ready answer: |
| What companies blog? |
| Specifically, what companies maintain corporate blogs, either as home pages or as main features of their Web sites? I'm not in the best position to check, but maybe ya'll can help a little. It would be a good list to come up with in any case (if there isn't one already). |
| [Later...] Some answers have been coming in: |
| Macromedia has a bunch (see the list on the left) of blogging executives (e.g. Kevin Lynch, who writes helpfully about working at the company, among other things). Its site also has lots of product forums. |
| Jupiter Research, which links every analyst's weblog (there are eleven) from the home page. Jupiter also hosts ClickZ Weblog Business Strategies, a conference held in Boston this June. Dave, Davi d and other leading local bloggers will speak there. (How about more links in the brochure pages, hmm?) |
| Groove (though Ray seems to be awol... hope he gets back into the groove, pun intended). |
| Trellis (Dan blogs). |
| Starpoint (the home page is a blog). |
| Immunexa, which hasn't had a post since last November. |
| Still a pretty short list. |
| When I got back to my hotel room last night, the bellman had just deliverd my missing bag. It had been retained by Canadian Customs and delivered, oddly, by Fedex. |
| And the laptop has only crashed once this morning. I still miss the days when I could open a shell, run an uptime command and see that it's been going for weeks without a reboot. But the way things have been going lately, ten minutes is a miracle I can put to good use. |
| My mother is 90 years young today. She was born on March 13, 1913 into a Swedish family on the North Dakota prairie during the reign of Taft the Large. |
| Lots of people have issues with their mothers. I'm not one of them. When I woke up a few minutes ago, the first song in my mind was Paul Simon's Loves me Like a Rock. The second was Greg Brown's Cheapest Kind, which I heard once on A Prairie Home Companion. The chorus has stuck in my mind ever since: |
| But the
love, the love, the love It was not the cheapest kind It was rich as, rich as rich as, rich as Any you could ever find |
| Mom has always been, and contintues to be, the richest source of love I have ever known. She's a human pipeline, running straight from God. |
| She's also smart as a whip, funny as a tickle and uncomplicated as a bowling ball. Her laugh can lift the darkest spirit. |
| As a kid she was so smart they put her ahead one grade. Friends called her "The Walking Dictionary." A couple years ago she heard me mention Google, and said "A Googol is an infinitely large number." That wasn't exactly right (it's a one followed by a hundred zeroes), but close enough. When my sister and I were kids she taught school (mostly third grade) in Maywood, New Jersey, our home town. She started teaching when she was eighteen in a one-room schoolhouse in North Dakota. Between those years she lived an adventurous life. Met my father (another adventurer) in Alaska during World War II. |
| We'll be throwing her a big party in North Carolina in a couple of weeks. Can't wait to be there. |
| [Later...] Mom just told me on the phone that she wasn't put ahead a grade, but rather put in first grade at age five. "My mother couldn't stand having me at home any more. I was too smart. But so were a bunch of other kids." Her best friend, Agatha, was one of those kids. They're still in touch. Mom has always called Agatha by her nickname, which is (no kidding) "Boogie." |
Those of you running Panther can now update to 10.3.9. This update includes Safari 1.3 and new versions of WebKit, WebCore, and JavaScriptCore that contain thousands of improvements we've made to the engine since Safari 1.2.
What you are getting is all of the new standards support, new WebKit capabilites, site compatibility fixes and performance optimizations that are also present in Safari 2.0 for Tiger. The layout engines for the two are virtually identical.
Here are some of the highlights:
Page Load Performance
Safari 1.3 loads pages overall 35% faster than 1.2 as measured by
IBench. In addition to improving the overall page load, Safari 1.3
will display content sooner than 1.2 did, so that subresources don't
hold up the initial display of the page.
JavaScript Performance
We have substantially improved the performance of the JavaScript
engine in Safari. I encourage you to check out Safari 1.3 on this
benchmark for example to see the improvement relative to 1.2.
HTML Editing
Safari 1.3 supports HTML editing, both at the Objective-C WebKit API
level and using contenteditable and designMode in a Web
page. The new Mail app in Tiger uses WebKit for message composition.
You can write apps that make use of WebKit's editing technology and
deploy them on Panther and Tiger.
Compatibility and Security
Compatibility and security are our number one priority in WebCore, and
Safari 1.3 has many important compatibility fixes. For example,
percentage heights on blocks, tables and cells now work much better in
Safari 1.3. min/max-width/height support has been added. More of the
table-related CSS properties are now supported. DOM methods like
getComputedStyle are now supported.
The DOM Exposed
The entire level 2 DOM has been exposed a public API in Objective-C.
This means various holes have been filled in Safari's DOM level 2
support. In addition to exposing the DOM to Objective-C, the JS
objects that wrap DOM objects can also be accessed from Objective-C,
allowing you to examine and edit the JS objects themselves to inject
properties onto them that can then be accessed from your Web page.
XSLT
Safari 1.3 on Panther now supports XSLT. 10.3.9 includes libxslt, and
Safari uses this excellent library to handle XSLT processing
instructions it encounters in Web pages.
Plugin Extensions
For those of you writing WebKit apps, a new Objective-C WebKit plugin
API is supported that lets you put Cocoa widgetry into the Web page
more easily. In addition enhancements to the Netscape Plugin API
(made in conjunction with Mozilla Foundation) have been implemented
for plugins that require cross-browser compatibility.
Did I mention it's really really fast? :)
In case you're curious about differences between the Tiger and Panther versions of the engine, they mostly have to deal with frameworks that changed underneath WebKit. For example we have new faster image decoders on Tiger (that also handle PNGs correctly), so you'll find that Tiger fixes some of the PNG gamma issues that will still exist on Panther. In addition the new decoders are incredibly fast and are now run on a separate thread on multi-processor machines on Tiger.
The network layer has also been improved on Tiger, so this may be another source of differences in behavior between the two operating systems. Overall, however, it's likely that content and applications you develop with WebKit will behave identically on the two operating systems.
Let us know what you think.
Safari 1.1 is included with the new release of Mac OS X, Panther. From Dave Hyatt's list of Safari 1.1 features:
A complete implementation of the XUL box model. Safari on Panther supports the complete XUL box model, including horizontal and vertical boxes, the ability to flex, and the ability to reorder content and reverse content. If you're building canned content that you control using WebKit, you'll find a whole new range of layout possibilities at your disposal. Need to create dynamically sized headers and footers and flexible center content? The XUL box model can do that. Need to center an object within the viewport? The XUL box model can do that too.
With Microsoft's alternative to XUL seemingly a few years away, are Apple looking to beat them to it with an implementation that's compatible with Mozilla?
Safari 1.1 is here. Those of you who picked up Panther can take it for a spin. This release is big step forward from 1.0, chock full of bugs fixes, improvements and UI refinements.
As far as new WebCore features, here's a few highlights:
(1) Better standards support. You'll find fixes for positioning bugs,
overflow bugs, floats, tables, gzip support, generated content using
::before and ::after, DHTML. You name it, we've improved it.
(2) Speed. We're still fast, and we're only going to get faster.
(3) CSS2 support. In addition to all of the bug fixes to be more
standards-compliant, we also added support for CSS2 properties like
text-shadow and new display values like inline-block. Try using
text-shadow in conjunction with ::selection. It's cool. :)
(3) Safari on Panther supports rgba values in CSS for specifying
border, background, foreground and shadow colors.
(4) Support for the CSS3 opacity (using -khtml-opacity) property.
Make entire blocks and inlines transparent without resorting to
transparent PNGs.
(5) A complete implementation of the XUL box model. Safari on Panther
supports the complete XUL box model, including horizontal and vertical
boxes, the ability to flex, and the ability to reorder content and
reverse content. If you're building canned content that you control
using WebKit, you'll find a whole new range of layout possibilities at
your disposal. Need to create dynamically sized headers and footers
and flexible center content? The XUL box model can do that. Need to
center an object within the viewport? The XUL box model can do that
too.
And in case you're curious, here's what we've already got working
post 1.1 in WebCore that you can look forward to:
(1) Support for the title attribute using tooltips
(2) The ability to tab to all controls in a Web page and to manipulate
them from the keyboard.
(3) Support for table border collapsing.
(4) Support for the CSS cursor property.
... and a whole lot more ...
Enjoy the upgrade and as always send us your feedback (trackbacks
preferred). We're listening.
I haven't had a chance to talk about this, but I thought I'd again start by briefly clearing up a point of confusion. Safari RSS is not the name of the entire Safari browser on Tiger. It is the name of the RSS/Atom feature in Safari itself. If you pull down the About information in Safari on Tiger, you'll see that the version is 2.0.
An article about how NetNewsWire and Safari complement one another can be found at O'Reilly here.
I agree, although Safari really needs to be able to reuse windows for URLs sent from applications like NetNewsWire rather than always opening a new window every time.
That Mac users are also switching to Firefox says something very good about the experience it offers. By Johnathon Williams
Safari 1.2 has been released for Panther (OS 10.3). Here are some of the technical highlights:
LiveConnect - LiveConnect is now supported for Java applets, allowing for bi-directional communication between Javascript and Java. Many Java sites that didn't work in earlier versions of Safari will now work properly in 1.2.
Personal Certificate Support - Personal certificates are now supported, so sites that were previously inaccessible are now available in the latest Safari.
keygen Implementation - The keygen element is now supported, so you can now generate key pairs from e.g., VeriSign.
Full Keyboard Access - You can now tab to all controls (and optionally links) on a page. There has been much confusion over this feature, since the ability to tab to all controls honors the OS setting.
In order to tab to popup menus, you need to go to your system preferences, select the Keyboard and Mouse panel, and then select the Keyboard tab. At the bottom of the tab is a checkbox next to the words "Turn on full keyboard access." Check that box to enable full keyboard access, and you'll find that you'll now be able to tab to popups all over the operating system (including Safari).
Another complaint I've seen on forums was that you couldn't type letters to have the popup jump directly to a selected item (e.g., typing "U" to jump to "United States"). Again, we obey the OS behavior, which does allow this, but only after you hit the spacebar when the control has the keyboard focus. Multi-letter typing is supported to complete to a specific item. Try it. You'll like it. :)
Improved Downloads - A download halted by the user or stalled due to network troubles can now be resumed in the Download Manager. You'll also find a number of other improvements to downloads, including the ability to select individual downloads to e.g., delete them, the ability to save images to specific locations via the context menu, and the removal of the 4-connection limitation when downloading while browsing.
Printing Improvements - The "huge margin" problem for printing has been fixed, and Safari is also smarter now about scaling the page when it contains long unwrappable lines. In addition, the CSS2 page break properties are now supported (for values of "always") as per the CSS2.1 Paged Media specification. The speed of printing has been improved dramatically, and you can also now disable backgrounds when printing.
International Domain Name Support - Safari 1.2 supports the IDN standard, which allows for non-ASCII characters in host names.
RTL Improvements - Handling of RTL text has been improved for better Hebrew, Arabic and Hindi support.
Accessibility Improvements - The title attribute is now supported as a tooltip, and 1.2 also supports the accesskey attribute for accessing specific objects in the Web page via the keyboard. In addition, minimum font size is now supported and exposed in Safari's preferences.
Mini Form Controls - Safari 1.2 now analyzes the font size specified by a Web page for form controls and swaps in the mini and small versions as needed. Sites like Travelocity will now render properly with mini form controls in place.
XMLHTTPRequestObject - The XMLHttpRequestObject is now supported, which means that those of you subscribed to Orkut can now rate your friends. ;)
CSS2 Table Support - Table support has been improved, with border-spacing now fully supported, empty-cells supported, and border collapsing supported.
DHTML Performance Improvements - Safari 1.2 is light years ahead of 1.1 in terms of DHTML performance. When objects change size or position, Safari 1.2 will only repaint the affected areas (whereas older versions would repaint the entire visible area every time).
hover/active improvements - Safari 1.2 has a faster (and more correct) implementation of :hover and :active, so it will no longer get into "stuck hover" states or mistakenly put multiple overlapping objects into :hover simultaneously.
Generated Content Support - 1.2 supports the positioning and floating of generated content as per the CSS2.1 spec, and many bugs have been fixed in generated content, particularly with first-letter and first-line. First-letter is now fully dynamic, and first-line styles will now be inherited properly into the descendants of the line. Both styles will even work across nested block-level children (something I believe that no other browser can yet do).
Marquee Support - All forms of marquees are supported, and the behavior is designed to match Internet Explorer for windows. The start() and stop() methods are also supported, so that marquee animations can be paused and resumed. Safari supports marquees using a special overflow value in conjunction with the CSS3 draft properties, and so it's easy to disable the animation while still allowing access to the content (all via a user stylesheet).
Small-caps Support - Safari 1.2 supports small-caps variants for fonts. It does not support true variants but instead synthesizes the font using the 70% heuristic employed by other browsers (like Mozilla).
Stability - Many crashes and hangs have been addressed.
Performance - Safari has added smarts when transitioning between pages (e.g., preserving the vertical scrollbar to avoid an extra layout), so that pages load more quickly on fast networks. This is just one example of several performance enhancements we made to speed up browsing since 1.1.
Caching Improvements - Safari's WebCore cache was not honoring expiration time, and this led to stale content remaining in the cache. This issue has been addressed.
HTTPS Speed Improvements - HTTPS pages load more quickly in Safari 1.2, thanks to bug fixes and improvements.
CSS Load Improvements - Safari no longer aggressively fetches images specified in CSS files but instead waits until the image is used in the Web page before loading it. This reduces the load time on sites that use generic cross-site CSS files with lots of rules that might never apply on many pages. (Translation: SprintPCS is fast now.)
Some time ago we switched over to libxml in Safari for the processing of XML (and XHTML) files. I'm happy to report that we now have basic XSLT support working in Safari using libxslt. You can style your XML using xml-stylesheet processing instructions. I don't yet have a programmatic JS API working for transforming documents, but that shouldn't be too difficult to add. What I really need are XSLT test cases that use xml-stylesheet. Track back or comment if you know of some good test cases online that I can use, or just generally have suggestions to make regarding XSLT support.
The following phrases have been identified by the grok system as matching this entry: