tag:blogger.com,1999:blog-9300136502254728332017-04-27T14:09:51.158+01:00Barry's virtual Java BreweryWhere virtual servers meet real workloads. Xen, Java LinuxBarryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.comBlogger71125tag:blogger.com,1999:blog-930013650225472833.post-67334146373873686112009-07-21T12:41:00.005+01:002009-07-21T13:01:46.179+01:00Can Glassfish (v3) saturate 1 GBit/s?Yes.<br /><br /><span style="font-size:180%;">Server specs</span><br />Dual Nehalem 5520 (4x2.26 Ghz. HT makes for a total of 16 virtual cpu's)<br />12 GB DDR 3 memory.<br />2x250 GB SATA RAID 1<br /><br /><span style="font-size:180%;">What was tested</span><br />Using siege to randomly request files ranging from 1024 to 1048576 bytes.<br />The Siege "server" uses the same hardware.<br /><br /><span style="font-size:180%;">Glassfish startup settings</span><br /><br /><blockquote>-XX:+UnlockDiagnosticVMOptions -XX:MaxPermSize=192m -XX:NewRatio=2 -XX:+LogVMOutput -XX:LogFile=/home/glassfish/glassfishv3/glassfish/domains/domain1/logs/jvm.log -Xmx8000m -Djdbc.drivers=org.apache.derby.jdbc.ClientDriver -Djavax.net.ssl.trustStore=/home/glassfish/glassfishv3/glassfish/domains/domain1/config/cacerts.jks -Djavax.net.ssl.keyStore=/home/glassfish/glassfishv3/glassfish/domains/domain1/config/keystore.jks -Djava.security.policy=/home/glassfish/glassfishv3/glassfish/domains/domain1/config/server.policy -Dcom.sun.aas.instanceRoot=/home/glassfish/glassfishv3/glassfish/domains/domain1 -Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory -Djava.security.auth.login.config=/home/glassfish/glassfishv3/glassfish/domains/domain1/config/login.conf -Djava.endorsed.dirs=/home/glassfish/glassfishv3/glassfish/lib/endorsed -Dcom.sun.aas.installRoot=/home/glassfish/glassfishv3/glassfish -Djava.ext.dirs=/usr/java/jdk1.6.0_14/lib/ext:/usr/java/jdk1.6.0_14/jre/lib/ext:/home/glassfish/glassfishv3/glassfish/domains/domain1/lib/ext:/home/glassfish/glassfishv3/javadb/lib </blockquote><br /><br /><br /><span style="font-size:180%;">Results.</span><br /><br />Top:<br /><blockquote>top - 06:40:49 up 30 days, 17:22, 2 users, load average: 1.23, 0.81, 0.53<br />Tasks: 281 total, 1 running, 280 sleeping, 0 stopped, 0 zombie<br />Cpu(s): 0.3%us, 0.1%sy, 0.0%ni, 99.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st<br />Mem: 12290980k total, 5732924k used, 6558056k free, 266296k buffers<br />Swap: 6289436k total, 0k used, 6289436k free, 4548592k cached<br /><br />PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND <br />10865 root 20 0 8597m 428m 10m S 70.9 3.6 15:14.55 java </blockquote> <br /><br />Siege:<br /><br /><blockquote>** SIEGE 2.66<br />** Preparing 512 concurrent users for battle.<br />The server is now under siege...<br />Lifting the server siege... done.<br />Transactions: 491907 hits<br />Availability: 100.00 %<br />Elapsed time: 1510.97 secs<br />Data transferred: 168817.77 MB<br />Response time: 1.57 secs<br />Transaction rate: 325.56 trans/sec<br />Throughput: 111.73 MB/sec<br />Concurrency: 511.71<br />Successful transactions: 491907<br />Failed transactions: 0<br />Longest transaction: 4.57<br />Shortest transaction: 0.01<br /><br /><br /><br /></blockquote>Bandwidth proof:<br /><br /><a style="" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JQ9rxU-WL2Y/SmWr7y7UhWI/AAAAAAAAAI0/XJMlr_oqZjw/s1600-h/gbit_gf.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 121px;" src="http://3.bp.blogspot.com/_JQ9rxU-WL2Y/SmWr7y7UhWI/AAAAAAAAAI0/XJMlr_oqZjw/s320/gbit_gf.png" alt="" id="BLOGGER_PHOTO_ID_5360879975225656674" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br /><span style="font-size:180%;">Conclusion</span><br /><br />Glassfish was not even stressing a single core on this machine and I'm fairly confident that even a simple dual core is enough to saturate a 1 Gbit port as long as the IO system can keep up. It will be interesting to see if you can approach these speeds when implementing servlets (probably not)<br />Also interesting to see is how during the benchmark the CPU usage went down from 120% to about 70% showing that the hotspot compiler does indeed optimize at runtime.<br /><br />When I get some more time I'm going to extend the test by including everything from x=1 to 64 instead of just 32. This should also put more stress on the IO system and provide for a more realistic benchmark.Barryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com0tag:blogger.com,1999:blog-930013650225472833.post-45971643831321669152009-07-07T10:03:00.003+01:002009-07-07T10:18:28.541+01:00Just do the math and keep statisticsToday I came across a post from the MySQL performance blog titled <a href="http://www.mysqlperformanceblog.com/2009/07/06/just-do-the-math/">"Just do the math!"</a> which talks about something that should be very basic for every DBA/developer. Go and read it, as it's a helpful article.<br />The ability to estimate query performance based on metrics and expected data loads is very important and the example given shows how the query and reporting will have a hard time scaling. Other than trying to redo your hardware, optimize queries (however, at the end of the day you can not optimize away bulk)<br /><br />So how else can you speed this example up?<br />Well first off all, in the example the data is being imported from Apache logs, my general recommendation is to create smaller workloads. Instead of importing the logs daily, import them hourly (or every 5 minutes). You should also do the same for reports and run them automatically and have them record their statistics in a table, which can then be queried for the interactive batch jobs.<br /><br />This will still require the same kind of machine horsepower as it does not make processing disappear, but it does include some optimizations; Sorts, merges, joins can be done in memory on smaller chunks of data and thus lower the overall IO requirement.Barryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com0tag:blogger.com,1999:blog-930013650225472833.post-48217075985908006382009-06-21T20:06:00.008+01:002009-06-21T20:36:29.431+01:00Glassfish + JFastCGI = Java + PHP together at lastI've been running PHP under fast-cgi with Sun webserver before and it had me wondering if this was possible in Java as well. Some searching on finding the Fast CGI specs brought up a reference to <a href="http://sourceforge.net/projects/jfastcgi/">jFastCGI </a>and lo and behold, all the heavy lifting has been done!<div><br /></div><div>The code is simple and to the point and includes <a href="http://sourceforge.net/project/downloading.php?group_id=259085&filename=jFastCGI-1.1-installation-guide.pdf&a=63960621">simple documentation</a>. Here are some short steps you need to take to do this for yourself.</div><div><br /></div><div>Ensure you have PHP with <a href="http://www.fastcgi.com/docs/faq.html">FastCGI </a>support enabled.</div><div><br /></div><div>php-cgi -i | grep fcgi</div><div><br /></div><div>This should give you a result like:</div><div><br /></div><div>name="module_cgi-fcgi">cgi-fcgi</div><div><br /></div><div>This means fcgi support is compiled into the php-cgi binary, which is all you need on the php side of things. I'll see about including a simple project that does a bit more than just show phpinfo.</div><div><br /></div><div>What you need is to add a Servlet to your webapplication using the following addition to your web.xml</div><div><pre><span class="Apple-style-span" style="font-family:Georgia;font-size:130%;"><span class="Apple-style-span" style="font-size: 16px; white-space: normal;"><span class="Apple-style-span" style="font-family:-webkit-monospace;font-size:100%;"><span class="Apple-style-span" style="font-size: 13px; white-space: pre;"><span class="Apple-style-span" style="font-family:Georgia;font-size:130%;"><span class="Apple-style-span" style="font-size: 16px; white-space: normal;">XML removed, thanks a lot Blogger for crapping over the contents of my post. The XML can be found in the PDF I linked</span></span></span></span></span></span></pre></div><div><div>Then just add the JAR files to your deployment (or place them in the correct folder on the server) and start your php-cgi (php-cgi -b6666)</div><div>All the PHP files in your web application will now be sent to the native cgi php version and the results be sent back to you.</div><div><br /></div><div>A good sample would be:</div><div><div></div><blockquote><div><div> phpinfo();</div><div>?></div></div></blockquote></div><div><br /></div><div>Massive kudos to Jullien Railland for working on this! </div><div><br /></div><div>So now the question rises, why would you rather do this than using Quercus?</div><div>Well not everything is supported natively under quercus and you also don't want to run PHP inside your JVM (or anything else native for that matter)</div><div>Worst that can happen now is the FastCGI process going down.</div><div><br /></div><div>I'll try to post more information on doing a good setup of FastCGI which includes restarts on failure, user segregation and thread pooling.</div></div>Barryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com2tag:blogger.com,1999:blog-930013650225472833.post-72477444137884380072009-06-20T16:26:00.003+01:002009-06-20T16:33:41.385+01:00Lighter-Lighter Java / WebMany times I've wondered if one even needs the likes of Spring / JEE (5) to build good web applications. Spring is a nice framework, born mostly out of unhappiness with previous versions of the Java EE stack and with good reason; J2EE was horribly complex and required many artifacts to even build the smallest EJB's.<div>Times have changed with Java EE 5 however and another artifact needs to bite the dust.</div><div>I'm sure you know what I'm talking about; it's the gratuitous use of XML by frameworks to configure your applications.</div><div><br /></div><div>So why not use Java EE 5 together with your favorite web framework (Wicket in my case)?</div><div>Well my biggest problem is the added complexity in building and deploying, testing, etc.</div><div>All I really need is Wicket and a database enabled framework which allows me to work iteratively from an existing HTML design to a working application.</div><div>Java EE 6 will bring the next evolutionary step by eliminating the requirement to implement EAR's. Unfortunately it will be a while before Java EE 6 becomes ready for prime time, so for now I'm just going to use plain Java, JPA and Wicket. Yay for simplicity and those pushing to make developing complex applications easier</div><div><br /></div><div>I'm not alone in this <a href="http://faler.wordpress.com/2007/07/10/better-framework-design-removes-the-need-for-spring/">by the way</a></div><div><br /></div><div><br /></div>Barryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com0tag:blogger.com,1999:blog-930013650225472833.post-12331856388823205652009-06-15T20:43:00.002+01:002009-06-15T20:55:43.325+01:00Upgrade your maven in Mac OSXUnder the category sweet and short.<div>You need to do the following to upgrade Maven 2 (2.0.6 is part of Leopard) to the latest so that you can use it from the command-line instead of the old version.</div><div><br /></div><div>Without further ado, my bash history.</div><div><br /></div><div>cd <mvn_install_dir></div><div>curl http://apache.hippo.nl/maven/binaries/apache-maven-2.1.0-bin.zip -o maven.zip</div><div>unzip maven.zip </div><div><br /></div><div>cd apache-maven-2.1.0/</div><div>sudo mv /usr/bin/mvn /usr/bin/mvn-old</div><div><br /></div><div>sudo ln -s <mvn_install_dir>/apache-maven-2.1.0/bin/mvn /usr/bin/mvn</div>Barryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com0tag:blogger.com,1999:blog-930013650225472833.post-67696617529695795892009-06-09T16:11:00.002+01:002009-06-09T16:24:11.024+01:00Sun Webserver, perfect for the cloudI've been working with Softlayer for a while and now more so as they are adding Cloud services. Their cloudservices have been off to a slightly rocky start as their development teams have surely been working hard on rolling this feature out.<br />I'm going to do a full review when I've put it into production use and when the last few kinks have been ironed out. To start off I can say their cloud offering performs very well and seems to retain the same performance at any moment of the day.<br /><br />In my case their cloud is used to run both Java Virtual machines (Glassfish, Jboss, Tomcat) and Sun Systems Java Web server 7.0 which ties it all together.<br /><br />Sun webserver is excellent for the cloud.<br />Unlike others you do not need to find a way to communicate configuration files to the different servers. You can do all configuration from a master node and push it to your webservers and if you push the content (rsync, NFS) as well you can fully automate your ability to scale up and down on their system.<br /><br />I'm going to come back with a more in depth technical article on this one to help those who want to accomplish the same.Barryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com1tag:blogger.com,1999:blog-930013650225472833.post-64994571754575482382009-06-09T15:56:00.002+01:002009-06-09T16:05:06.279+01:00Sun's PHP addon 1.1 availableWhile you may have read my small article on how to setup PHP 5.2.9m Sun Web Server 7 and eAccelerator. Sun has come out with a Kenai project which brings the latest <a href="http://kenai.com/projects/phpforsunws7/">PHP Add-on </a>for Solaris, Linux.<br /><br />You can download them from <a href="http://kenai.com/projects/phpforsunws7/downloads">here.</a><br /><br />The instructions are pretty succinct:<br /><br /><blockquote>This binary zip bundle includes PHP 5.2.9 (64-bit) for Web Server 7. Unzip this binary zip file under ws7-install-dir/plugins directory</blockquote>Barryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com0tag:blogger.com,1999:blog-930013650225472833.post-929182491663172562009-05-29T06:45:00.004+01:002009-05-29T09:31:01.889+01:00Virtualization, Clouds and serviceLet me just preface this with saying that this is part review (of Softlayer Cloud Compute instances) and part opinion. No deep technical discussion in this post.<div><br /></div><div>The past year I've been working on building out my own "Cloud" by utilizing Xen in it's many incarnations to run highly available xen instances that can be moved to other machines and run exclusively off a SAN. The idea was to sell these instances as a step up from normal VPS 's which tend not to be highly available (they usually run off the hardware they are on)</div><div>My goal was to corner the market for lower to medium end dedicated servers, with the unique selling point that we provide a headache free environment (standard backups, high availability, high degree of automation)</div><div><br /></div><div>Enter Softlayer Compute Cloud Instances.</div><div>Yes I was sore to see them intrude on my plans by offering more space (they sell the SAN space with the nodes for 10c per GB instead of the retail price of 75c per GB)</div><div>But in the end this did open my eyes to the fact that selling or reselling infrastructure is a losing proposition for smaller companies. We can never compete with the likes of Amazon, GoGrid, or Softlayer because they have a big scale advantage.</div><div>As for those reselling these kinds of services, they will need to offer a lot of extra service to make their margins worth it. My take on this is that a niche approach of adding services that few others can match will work out best.</div><div>For example if you are great at deploying large stable Ruby on Rails deployments, use the cloud to leverage the economies of scale from somebody else and sell your service on top of that.</div><div><br /></div><div>So a small review on Softlayer Compute Cloud Instances (CCI's)</div><div>Those not familiar with Softlayer, they are a company who mainly sells outsourced infrastructure from their currently 3 US locations. They lease dedicated servers connected to both public and private networks and deliver services around that.</div><div>Their new service adds Virtualization to the mix.</div><div>In it's current form it takes away a lot of the headache from managing hardware.</div><div>The virtual instances are highly available and obviously have no parts that end up breaking in the middle of the night. You can check out their plans <a href="http://www.softlayer.com/cloudlayer_computing.html">here</a>.</div><div><br /></div><div>The virtual servers behave a lot like normal physical servers except that you have more control from their portal (you can directly look at usage graphs, open a KVM session. That sort of thing)<br />The portal is very nicely done in fact, giving you control over every aspect of the service.<br /></div><div>Right now the dust still has to settle by the looks of it. There were some minor bugs on the portal that have been worked out and some additions have a messy history (for example the ports were limited at 100 Mbit, but suddenly they also included 1 Gbit, there was some confusion on that)</div><div>Performance is also a bit lukewarm in my opinion. Softlayer claims you get a 2 Ghz core, however they utilize Intel Nehalem processors and give you a hyperthread core, which technically could be half the speed on the tin. That said unless you are benchmarking specifically to get top performance you will not notice it and I'm sure that Softlayer will work hard to give you a fair slice.<br />IO performance is through the roof however, especially when it comes to seek intensive scenarios. This may come down a bit, but expect the performance to resemble a RAID 1 configuration with lots more IOps.<br /></div><div><br /></div><div>You can't as of this moment change anything about the nodes without opening a ticket; this is likely to be solved in a week or two.</div><div>I like their approach however; You can combine the advantages of the Cloud (high availability, the option to upgrade and downgrade on the fly) with the advantages of physical hardware (predictable performance, select upgrades that you need the most)<br />This kind of benefit is not available from other providers like Amazon or Gogrid to the best of my knowledge.<br /></div><div><br /></div><div>Now let's hope that Softlayer one of these days makes a variant of "Virtual Colocation" where you can prepay a bigger setup fee for a server and get a big discount on renting it. Together with one time upgrade fees for things like memory. Colocation still has a big price advantage over Softlayer for those who need big memory / drive hardware.</div>Barryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com0tag:blogger.com,1999:blog-930013650225472833.post-21754419127081605842009-05-27T21:16:00.002+01:002009-05-27T21:19:12.627+01:00Kickstart with Xen exampleI've searched a lot on the web for information on this and a while ago I came across this <b><a href="http://www.clubnix.net/index.php/Getting_Started:_Virtualisation_with_Xen_on_CentOS_using_Kickstart">gem</a></b><div>Note: I did not write this, but I did verify that it works like a charm!</div><div>Excellent tutorial</div>Barryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com0tag:blogger.com,1999:blog-930013650225472833.post-34025430142599158152009-05-23T20:15:00.009+01:002009-05-27T21:08:21.576+01:00Sun Java Webserver 7. PHP 5.2.9 Fcgi eAccelerator howto<div>Howdy,</div><div><br /></div><div>I've been setting up Sun Java Web Server 7 (update 5) on a small cluster and I'm actually amazed how simple it has been to get going even if you want to build your own version of PHP (needed the latest due to some bugfixes in PHP)</div><div><br /></div><div>I'd like to thank both Oracle and Sun for doing all the heavy lifting.</div><div>I'm going to assume you are using Redhat Enterprise, CentOS or Oracle Enterprise Linux.</div><div><br /></div><div>To get started, make sure you have no php installed.</div><div><br /></div><div><b>yum remove php*</b></div><div><br /></div><div>Download the correct RPM's from Oracle: <a href="http://oss.oracle.com/projects/php/files/">here</a></div><div><br /></div><div>I downloaded the "all" tarball and recommend you install everything except the DB connectors you do not need. You may need some dependencies like autoconf213 (just use yum)</div><div><br /></div><div>You can check the succesful install by calling "php -v"</div><div>My version returns:</div><div><br /></div><div><blockquote><div>PHP 5.2.9 (cli) (built: Mar 17 2009 12:06:16)</div><div>Copyright (c) 1997-2009 The PHP Group</div><div>Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies</div></blockquote></div><div></div><div><br /></div><div>Now we need eAccelerator to cache the PHP scripts.</div><div>I've used this excellent guide for that: <a href="http://www.howtoforge.com/eaccelerator_php5_centos5.0">HowtoForge article</a></div><div><br /></div><div>The gist is:</div><div><br /></div><div><br /></div><div>cd /tmp</div><div>wget http://bart.eaccelerator.net/source/0.9.5.2/eaccelerator-0.9.5.2.tar.bz2</div><div>tar xvfj eaccelerator-0.9.5.2.tar.bz2</div><div>cd eaccelerator-0.9.5.2</div><div>phpize</div><div>./configure</div><div>make</div><div>make install</div><div>vi /etc/php.d/eaccelerator.ini</div><div><br /></div><div>Fill in the following:</div><div><br /></div><div><blockquote><div>extension="eaccelerator.so" </div><div>eaccelerator.shm_size="16" </div><div>eaccelerator.cache_dir="/var/cache/eaccelerator" </div><div>eaccelerator.enable="1" </div><div>eaccelerator.optimizer="1" </div><div>eaccelerator.check_mtime="1" </div><div>eaccelerator.debug="0" </div><div>eaccelerator.filter="" </div><div>eaccelerator.shm_max="0" </div><div>eaccelerator.shm_ttl="0" </div><div>eaccelerator.shm_prune_period="0" </div><div>eaccelerator.shm_only="0" </div><div>eaccelerator.compress="1" </div><div>eaccelerator.compress_level="9"</div><div></div></blockquote></div><div><br /></div><div><br /></div><div>Create the cache directory:</div><div><b>mkdir -p /var/cache/eaccelerator</b></div><div><b>chmod 0777 /var/cache/eaccelerator</b></div><div><br /></div><div>And you you need to add the fast cgi configuration to Sun Webserver.</div><div>Go to the virtual server you need to edit.</div><div>Under <b>Content Handling -> FastCGI</b> you find a table where you can add configurations.</div><div><br /></div><div>Go there and add a new PHP configuration.</div><div>I've kept mine very simple. All I filled in is:</div><div><br /></div><div>Role: Responder</div><div>Entire virtual server</div><div>Application path: /usr/bin/php-cgi</div><div><br /></div><div>other enhancements can be to set a user and tweak the settings.. but I'll leave that for next time</div><div>Sorry for the mess, if you have any questions, shoot me a line please!</div>Barryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com1tag:blogger.com,1999:blog-930013650225472833.post-71904792148401576592009-05-04T22:47:00.004+01:002009-05-04T22:51:38.635+01:00Commit to SVN over SSH fails in Netbeans (solved)Another quick tip that might help you out.<div>I've set up my account using public key authentication for SVN over SSH in Netbeans 6.7 (M3)</div><div>Everything has been working fine, but today I was greeted with the following error:</div><div><br /></div><div><blockquote>ssh_askpass: exec(/usr/libexec/ssh-askpass): No such file or directory</blockquote></div><div><blockquote></blockquote><br /></div><div>This is called by Netbeans when ssh requires your input (for a password for example)</div><div>MacOSX does not seem to have this binary.</div><div><br /></div><div>You can either user ssh-add or add your key's passphrase to your keychain to solve this.</div><div>In my case it was not caused by a password prompt however, but it was caused by SSH asking if it should accept my key (I've purged my known_hosts file the other day)</div><div>Yes, I didn't expect that failure mode, hence I'm documenting it.</div><div><br /></div><div>Hope this saves you time</div>Barryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com0tag:blogger.com,1999:blog-930013650225472833.post-18690022730672036472009-05-03T00:05:00.003+01:002009-05-03T00:08:49.034+01:00Kickstart CentOS/RHEL without DHCPA short and simple tip, but not very documented.<div><br /></div><div>You can actually kickstart CentOS 5.x using boottime parameters instead of DHCP (for those like me who can't or don't want DHCP)</div><div><br /></div><div>It's pretty simple and I tested it with HTTP installing:</div><div><br /></div><div>at the boot:</div><div><br /></div><div>linux ks=http://server/file ksdevice=eth0 ip=x.x.x.x gateway=x.x.x.x netmask=x.x.x.x dns=x.x.x.x</div><div><br /></div><div>This works for me!</div>Barryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com1tag:blogger.com,1999:blog-930013650225472833.post-46954322070106299112009-03-31T12:26:00.004+01:002009-03-31T12:38:38.008+01:00It's time for wallpapers<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.vladstudio.com/wallpaper/?infinity_2_gold"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_JQ9rxU-WL2Y/SdH_icc9XII/AAAAAAAAAIM/9urdtDAXsLQ/s320/vladstudio_infinity_2_gold.jpeg" alt="" id="BLOGGER_PHOTO_ID_5319313602119556226" border="0" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://interfacelift.com/wallpaper_beta/details/1721/flow.html"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://1.bp.blogspot.com/_JQ9rxU-WL2Y/SdH_iIydNzI/AAAAAAAAAH8/npkf6zeryBs/s320/01721_flow.jpeg" alt="" id="BLOGGER_PHOTO_ID_5319313596841015090" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://interfacelift.com/wallpaper_beta/details/1707/the_spectrum_of_the_sky.html"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://2.bp.blogspot.com/_JQ9rxU-WL2Y/SdH_hkPk96I/AAAAAAAAAH0/VePwUzd-BFQ/s320/01707_spectrumofthesky.jpeg" alt="" id="BLOGGER_PHOTO_ID_5319313587031046050" border="0" /></a><br />While I don't spend a lot of time looking at my desktop I can't help but pass on some of this eye candy to others who might appreciate it. These are some of my favorites<br />Click the images to go directly to the source and be sure to show the original creators your appreciation<br /><br /><a href="http://mac.appstorm.net/roundups/graphics-roundups/50-mac-desktops-for-maximum-visual-goodness/">Original blog post here</a>Barryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com0tag:blogger.com,1999:blog-930013650225472833.post-2876369920016030562009-03-29T20:40:00.000+01:002009-03-30T19:41:24.310+01:00The Tao of Backups (As seen in Leopard)One of Leopards' features is the integrated backup and recovery functionality called Time Machine.<br />I'm now going to overlay the Tao of Backups best practices to see how Leopard stacks up with these features and what might be improved on.<br /><br /><span style="font-weight: bold;">1 Coverage<br /></span><br />This is an interesting one, it would seem that your entire home directory and all your applications are backed up.<br />This should suffice for normal users, but you might end up with a nasty surprise if you use things such as Fink outside of your home.<br />I'm going to make a mental note to move my development environment into the documents folder. Of course you should also use something like Subversion or Mercurial to store your code.<br /><br /><span style="font-weight: bold;">2 Frequency<br /><span style="font-weight: bold;"><br /></span></span>Important of course because the backup frequency sets how much you stand to lose in case you need to restore from it.<br />Default is hourly and then it retains daily versions beyond day one, this should be enough.<br /><br /><span style="font-weight: bold;">3 Separation<br /><span style="font-weight: bold;"><br /></span></span>As Time Machine will most likely be used in it's default capacity to write backups to USB drives, I'd rate Time Machine poor on this respect.<br />You could backup to a remote machine but network constraints might make things harder. Maybe when we all have 10-100 Mbit internet at home this can work over networks, but for now that is a pipe dream.<br /><br /><br /><span style="font-weight: bold;">4 History<br /><span style="font-weight: bold;"><br /></span></span>Keeping a history on your files is important and I see no problem with Time Machine since it will go back as far as your backup space allows and thus you can retain revisions on your files based on hourly snapshots.<br />Note: if you change a file twice in an hour, the last version is backed up, not the former one (like for example ZFS would)<br /><br /><span style="font-weight: bold;">5 Testing<br /><br /></span><span style="font-size:100%;">"To believe in one's backups is one thing. To have to use them is another."<br />This is where a lot of backups fail. Making a backup is never enough and you should always try and verify them at regular intervals.<br />There is no built in validation for the backups made with Time Machine other than that you can always open Time Machine and browse the history to manually verify the contents.<br />My personal anecdote is that I've had to use Time Machine twice to restore a system (one had a broken drive, the other was in the case of a drive replacement with a bigger disk) and the system has not failed in those circumstances.<br /><br /><br /></span><span style="font-weight: bold;">6 Security</span><br /><br />The default is to not do secure backups, but if you use FileVault the backups themselves will be stored encrypted. Unfortunately this also disables incremental backups and forces Time Machine to make complete backups of your home folder from time to time. If you do not use security, the master could always pocket your USB drive or Time Capsule...<br /><span style="font-weight: bold;">7 Integrity</span><br /><br />Making sure your backups are safe is not something picked up by Time Machine and the only thing you could do to safeguard the integrity of your files is to use SHA and or MD5 fingerprinting on your files by using something like Tripwire.<br />This would allow you to see when a file was altered. Unfortunately there is no diff capability built in like you see in a SCM like Subversion, but you could save the files elsewhere and do a manual diff on them if they are not binary.Barryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com0tag:blogger.com,1999:blog-930013650225472833.post-2521713011968874782009-03-27T22:34:00.000+01:002009-03-27T18:51:36.035+01:00My take on OSGiRecently I've been reading up on Glassfish V3 and came across an old friend of mine which I've used on a project back in 2007. The friend I'm talking about is OSGi.<br />The reason I'm writing about it now is because software modularity is becoming more and more important and there is more debate about whether OSGi is ready for the enterprise.<br />This is my opinion on this topic, based on some of my experiences and the current direction in the Java world.<br /><br /><font size="4">Yesteryears' project.<br /><font size="3"><br />The project I'm referring to is the basis of a document conversion system that is being used to convert documents and research data from several proprietary (and open) formats to an open XML format where possible AND back.<br />While the specifics of this project would be enough to fill an entire article I'm just summing up the basics here. The idea would be for users of the archive to ingest the data as Excel files now and spit them out in the format du jour in 10 years time.<br /><br />The project combines a few very interesting technologies to make this happen.<br />It's a combination of Java EE 5, Maven 2 (for the builds) and OSGi to make the conversion plugins pluggable.<br />For this a lot of possible OSGi combinations were reviewed and tried including the then fledgling Spring OSGi capabilities, before finally settling on bare Equinox running inside an EJB. A few things I took away from my experience are:<br /></font></font><ul><li>OSGi as a platform is very stable and well thought out</li><li><font size="4"><font size="3">Integrating OSGi is definitely possible inside EJB's and probably WAR's too</font></font></li><li><font size="4"><font size="3">Maven, while a pain to setup can be tremedously powerful.</font></font></li><li><font size="4"><font size="3">Tooling at that time was very bare.</font></font></li><li><font size="4"><font size="3">Watch those dependencies!</font></font></li></ul><font size="4"><font size="3"><br />Fast forward to 2009...<br />I'm not completely up to date on the tooling support, but it seems all major application servers are now using OSGi to their core and even Java EE 6 will embrace modularity to it's core by specifying profiles.<br />Glassfish V3 is now using OSGi and Spring-dm has made an interesting showing.<br /><br />Maybe Java EE 7 will bring us OSGi capable Session beans? <br /></font></font>Barryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com0tag:blogger.com,1999:blog-930013650225472833.post-92056633212295588412009-03-27T18:46:00.002+01:002009-03-27T18:50:08.514+01:00What I've been up toMy past year has been a busy one; Last year I started as feelancing to make more space for other projects and be more in control of my destiny. Unfortunately it means I've not been keeping my blog up to date.<br />Also I was unsure if I'd continue using Blogger or start up my own JRoller.<br />As you can see I've decided to stay here.<br /><br />Watch this space for more information on my own projects...Barryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com0tag:blogger.com,1999:blog-930013650225472833.post-22608471405769073052008-07-17T12:12:00.004+01:002008-07-17T12:19:39.288+01:00Bring on the Quad core goodness, IntelAs you may have read in the <a href="http://www.engadget.com/2008/07/15/intel-bringing-quad-core-cpus-to-laptops-next-month/">news lately</a>, Intel may unveil a quad core laptop processor next month. What are the chances of this landing in the Macbook pro?<br />Well according to <a href="http://guides.macrumors.com/MacBook_Pro_Buyer%27s_Guide">Macrumors</a> the MBP is in the middle of it's product cycle, but I would not be very shocked if either the MBP or iMac go quad when these chips arrive in quantity.<br />And I'll be buying.<br /><br />As for <a href="http://news.yahoo.com/s/pcworld/20080715/tc_pcworld/148419">claims</a> that it's just for bragging rights, I disagree.<br />Doing development on a quad core system just feels a lot better because you never run out of power; even when running several servers and a heavy IDE.<br />Just a shame my desktop is still Windows.<br /><br />PS: Apple, how about some top of the line graphics to go with this firepower?Barryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com0tag:blogger.com,1999:blog-930013650225472833.post-35809109149863617002008-01-20T22:23:00.001+01:002008-01-20T22:23:23.987+01:00Room with a view<a href="http://www.zooomr.com/photos/bvansomeren/4179881/" title="Photo Sharing"><img src="http://static.zooomr.com/images/4179881_c0f4bb1d6c.jpg" width="500" height="375" alt="Room with a view" /></a>Barryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com1tag:blogger.com,1999:blog-930013650225472833.post-70787491704887023532008-01-04T11:09:00.001+01:002008-01-05T12:02:59.428+01:00UPD: How addicted to Apple are you?<a href="http://www.justsayhi.com/bb/apple_addiction" style="background: transparent url(http://assets.justsayhi.com/badges/238/881/apple_addiction.vh6xq7ke8h.jpg) no-repeat scroll 0% 50%; color: rgb(128, 169, 221); text-decoration: none; display: block; width: 286px; height: 128px; padding-top: 50px; padding-left: 17px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-family: Times New Roman,sans-serif; font-size: 30px;">54%<span style="display: none;">How Addicted to Apple Are You?</span><br /></a><br /><br /><br />Not bad if I say so myself.<br /><br /><a href="http://www.justsayhi.com/bb/geek" style="text-decoration: none; background: url('http://assets.justsayhi.com/badges/568/943/geek_badge1_green.eiawo9f0fj.jpg') no-repeat; display: block; width: 268px; height: 82px;"><span style="display: block; padding-left: 125px; padding-top: 28px; color: #000; font-family: Arial; font-size: 22px;">51% Geek</span></a><br /><br /><br />Could do better on thisBarryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com0tag:blogger.com,1999:blog-930013650225472833.post-25047047016744356222007-12-20T16:45:00.001+01:002007-12-20T16:46:35.809+01:00Misty tower<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_JQ9rxU-WL2Y/R2qOVu1Y4OI/AAAAAAAAADc/VmvKzcBkbl8/s1600-h/20122007%28016%29.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_JQ9rxU-WL2Y/R2qOVu1Y4OI/AAAAAAAAADc/VmvKzcBkbl8/s400/20122007%28016%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5146082028224569570" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_JQ9rxU-WL2Y/R2qOLu1Y4NI/AAAAAAAAADU/XTpsrwFMgwk/s1600-h/20122007%28016%29.jpg"><br /></a>Barryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com0tag:blogger.com,1999:blog-930013650225472833.post-91434672962085814442007-11-01T15:14:00.000+01:002007-11-01T16:16:26.609+01:00Okay okay, I'm sorry :)Maybe the whole Java community is getting carried away in their sentiments towards Apple and their late delivery of Java 1.6<br />Not saying that they are approaching it the right way by keeping us in the dark, but if you read between the lines and Apple's Java history it becomes apparent that Apple usually updates their VM's a little after their releases.<br />Having said that, I'm hoping for a new Java 1.6 release soon or maybe a roadmap so that we can all get on with our lives.<br /><br /><span style="font-weight: bold;">We should all give the (Apple) JVM team a hand for their hard work in producing a quality VM that just works for me every day.</span><br /><br />Oh and to those who are ditching their hardware less than a week after the release of Leopard, come on guys.. let's be real here, there is no reason for Apple not to release Java 1.6 when it's done. (Given the improvements they made to Swing there is no reason to think they are breaking Java on purpose to push Objective C... what are you guys smoking and can I have some?)<br />A lot of people who spoke so lovingly about their new hardware and OS are now up in arms about it and claiming to jump ship to Linux (I consider it my exit strategy once I can no longer do my dev work on Mac OS X, but only as a last resort kind of thing) or Windows.<br />Consider this, how did your computer get from great to "useless" overnight when Java 1.6 has been out for a year and you accepted it?<br />My Apple's are still the best machines for me to do my work with and will be for some time, just as long as Java 1.6 makes it in the end (and is a good quality release)<br /><br />We are all unhappy, but lets try to be reasonable about this, everything will be fine and we will have Java 1.6 soon.<br />Should you really not be able to go on with your Apples, I'm open to donations and will grant asylum to anything that can run Leopard :-)<br /><br />Update: Look <a href="http://stuffthathappens.com/blog/2007/10/28/os-x-java-definitive-timeline/">here</a> for some sage-like wisdomBarryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com0tag:blogger.com,1999:blog-930013650225472833.post-46090943492388477862007-10-29T11:27:00.000+01:002007-10-29T13:09:49.220+01:00Apple dissapoints again and againFirst off, let me congratulate Apple on launching Leopard, from what I have seen it has been a great and worthy new version of Mac OS X that I look forward to upgrading to.<br />Now for the bad..<br /><br />As expected I made my way to my local Apple store to buy Leopard on release day and then subsequently met with my first disappointment.<br />The store did not receive copies of the Leopard family packs yet, only single license installs.<br />I have 3 machines to upgrade so the Multi pack (at 199) was a done deal as buying 3 seperate copies (129$ each) would have been a lot more expensive.<br />Knowing Apple, I'm sure they didn't put anything as draconian as WGA into their software to prevent me from using it on 3 computers.<br />However I want to reward ethical companies that "get it" by voting with my Euro's.<br />So I left the store empty handed.<br /><br />Now on for disappointment number two.. Where did Java 1.6 go?<br />Apple's Java mailing list is lit up like a Christmas tree over this very issue.<br />It would appear that the powers that be have decided on shipping Java 1.5 and not 1.6 AND have removed the developer seeds while they were at it.<br />C'mon Apple, you can delay shipping Java by one year, but delaying it after the launch of your new OS is just ludicrous.<br />Apple has <span style="font-weight: bold;">insane</span> mindshare in the Java developer community, just look at all the MacBook Pro's when you go to the JavaOne and wherever I work as a consultant I see a growing number of people who either try or use an Apple for their main development machine.<br />Treat Java like a second class citizen and you will chase these developers away to Linux and FreeBSD or maybe even Windows.<br /><br />Maybe somebody ought to port OpenJDK to Mac OS X and thus work to bypass Apple's slow release cycle so that we can at least get the server parts to work.<br />The very same server parts that pay my bills and allow me to buy the occasional Apple goody.<br /><br />Fortunately both issues seem to be of the kind that can be resolved (Java 1.6 is out there as they released developer builds before) and the Family pack will make it to the store sooner or later.<br />My message still stands though.. Apple, give your (Java) developers some love please<br /><br />UPDATE: At least Maven is included by default :-)Barryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com0tag:blogger.com,1999:blog-930013650225472833.post-82267494572480170792007-10-26T11:45:00.000+01:002007-10-26T10:52:36.070+01:00What Leopard means to meWhile looking at the 300 feature list I saw a few interesting points that I think will increase my productivity and enjoyment in my work as a developer.<br />The top feature not being listed is support for Java 1.6, which has been long overdue.<br />So without further ado, here is my list (see the original <a href="http://www.apple.com/macosx/features/300.html">here</a>)<br /><br />"<span style="font-weight: bold;font-size:130%;" >Stacks</span><div class="app even" id="desktop">Organize files in a neat stack on the Dock. One click and the stack springs open, revealing items in an elegant arc or an at-a-glance grid." </div><br />This alone will be a lifesaver if you have a look at my desktop. (which is in a constant state of messiness)<br /><br />"<span style="font-weight: bold;font-size:130%;" >Cover Flow (finder)</span><br />Flip through your files in the Finder just like you flip through your album art in iTunes. Cover Flow displays the first page of every document. You can also click through multipage documents and play movies."<br /><br />As the human mind maps nicer to pictures and visual clues than letters, I think this will be a timesaver when running through a list of PDF's.<br />It appears to work smoother than the preview pane you get in finder.<br /><br />"<span style="font-size:130%;"><strong>Folder Sharing</strong></span> <br />Turn any folder on your Mac into a shared folder <snip>"<br /><br />Glad to see that Apple finaly gave up on crippled file sharing (before you could only share your home, which is not an option if you attach an external HD to serve up your movies from)<br /><br />"<span style="font-weight: bold;font-size:130%;" >Multicore Enhanced</span><br />Get optimum performance from Core Image, Core Animation, and OpenGL, all tuned to tap the power of your Mac’s multicore processor.<br /><br />And<br /><span style="font-weight: bold;"><br /></span><span style="font-weight: bold;font-size:130%;" >Updated OpenGL</span><br />Run even the most up-to-date OpenGL-based applications that take the most of the latest technologies." <br /><br /><br />Here's to hoping that my Macbook will no longer suffer when supporting a large external screen.<br /><br /><span style="font-weight: bold;font-size:130%;" >Instrumentation</span><br /><br />" <span style="font-weight: bold;font-size:130%;" >Create Instruments with DTrace</span><br />Monitor system activity from high-level application behavior down to the operating system kernel, all thanks to the power of DTrace and the instrument builder."<br /><br />Who doesn't love DTrace :-)<br /><br />" <strong><span style="font-size:130%;">Visual Analysis</span><br /></strong>Improve the performance of your applications by viewing the relationships between UI events and performance metrics such as CPU load, network and file activity, and memory usage." </snip><div class="column last"> </div><br /><div class="column"> It will be interesting to see if Apple will integrate it's Java with this tool, could be very helpful.<br /><span style="font-size:130%;"><br /></span><span style="font-weight: bold;font-size:130%;" >Networking</span><br /><br />"<span style="font-size:130%;"> </span><strong><span style="font-size:130%;">Self-Tuning TCP</span><br /></strong>Let Leopard adjust TCP buffer size automatically. Get optimum application performance, especially in high-bandwidth/high-latency environments." <div class="column"> </div><br />This sounds like just the thing for enhanced networking performance both when tethered on Ethernet and then going to UMTS or some other high latency 3G network<br /><br /><span style="font-weight: bold;font-size:130%;" >Preview</span><br /><br />"<span style="font-size:130%;"><strong>Improved PDF Annotations</strong></span> <p>Take advantage of new PDF annotations in Preview. Add Stickies-style notes and links to websites or other pages within the PDF. Mark important areas in ovals or rectangles and highlight text. All annotations are saved with the PDF so you can share them with others."</p><br />Preview has all sorts of changes that I like, but this one is going to be great as I'll be able to annotate guides and other big documents with additional information.<br /><br /><span style="font-weight: bold;font-size:130%;" >Printing</span><br /><br />"<span style="font-weight: bold;font-size:130%;" >Printer Drivers via Software Update</span><br />Make sure you always have the latest printer drivers. Download directly to your system using the familiar capabilities of Software Update."<br /><br />Finally, no more waiting for big updates when I encounter a new printer.<br />Please do the same for iSync, Apple :-)<br /><br /><span style="font-weight: bold;font-size:130%;" >Quick look</span><br /><br />" <strong><span style="font-size:130%;">Quick Look</span><br /></strong>Look inside any document without launching an application. Use Quick Look with documents, images, songs, and movies and get a large-size preview of the file. Flip through multipage documents, preview movies, even add images to iPhoto. You can use Quick Look in Finder, Mail, and Time Machine." <div class="column first"> </div><br />Very very sexy and nicely integrated, can't wait.<br /><br /><span style="font-weight: bold;font-size:130%;" >Security</span><br /><br />"<span style="font-weight: bold;font-size:130%;" >Application-Based Firewall</span><br />Gain more control over the built-in firewall. Specify the behavior of specific applications to either allow or block incoming connections."<br /><br />With this improvement to the Apple firewall I'll probably have it turned on by default (even though I'm pretty much always within a firewalled network)<br /><br />"<span style="font-weight: bold;font-size:130%;" >Enhanced VPN Client Compatibility</span><br />Connect to a broader range of VPN clients. Leopard supports Cisco Group Filtering as well as DHCP over PPP, which allows you to dynamically acquire additional configuration options such as static routes and search domains."<br /><br />This may not seem big, but any improvement to things like printing, VPN and networking are a great boon to developers like me who have to bring their own hardware into a work environment. VPN is always useful to have.<br /><br />"<span style="font-weight: bold;font-size:130%;" >Sandboxing</span><br />Enjoy a higher level of protection. Sandboxing prevents hackers from hijacking applications to run their own code by making sure applications only do what they’re intended to do. It restricts an application’s file access, network access, and ability to launch other applications. Many Leopard applications — such as Bonjour, Quick Look, and the Spotlight indexer — are sandboxed so hackers can’t exploit them."<br /><br />"<span style="font-size:130%;"><strong>Library Randomization</strong></span><br />Defend against attackers with no effort at all. One of the most common security breaches occurs when a hacker’s code calls a known memory address to have a system function execute malicious code. Leopard frustrates this plan by relocating system libraries to one of several thousand possible randomly assigned addresses." <br /><br />Yes this is all standard *BSD fare, but it's good to see improvements to security.<br /><br /><span style="font-weight: bold;font-size:130%;" >Spaces</span><br /><br />"<strong><span style="font-size:130%;">Spaces</span><br /></strong>Organize your activities into separate spaces and easily switch from one to another. Make a space for work or play. Choose from a number of convenient options that make moving from space to space fast and easy."<br /><br />And there you have it folks, the single biggest improvement to my Apple experience so far.<br />Spaces is going to fill in a gap that Apple left in way too long.<br /><span style="font-size:130%;"><br /></span><span style="font-weight: bold;font-size:130%;" >Spotlight</span><br /><br />"All the new features"<br />Remote searching, new binary operators, calculator in Spotlight, Dictionary in Spotlight"<br />This will save roundtrips to Google/calculator.. thanks :-)<br /><br /><span style="font-weight: bold;font-size:130%;" >System</span><br /><br />"<strong><span style="font-size:130%;">Grammar Check</span><br /></strong>Let your grammar set a shining example. A built-in English language grammar checker helps ensure that you don’t make errors in grammar."<br /><br />w00t @ppl3 1s g0nn@ f1x my gr@mm@r t00 ;-)<br /><br /><span style="font-weight: bold;font-size:130%;" >Terminal</span><br /><br />"<span style="font-weight: bold;font-size:130%;" >Tabbed Windows</span><br />Keep multiple Terminal sessions going in a single, tabbed window."<br /><br />Given how I have several windows open (maven builds, Instances of application servers, SSH windows) this will be awesome and reduce a lot of the clutter.<br /><br />"<strong><span style="font-size:130%;">Workspaces</span><br /></strong>Save the configuration of all your open windows as a workspace. The location, window settings, and shell configurations of multiple windows can then be recalled instantly."<br /><br />Again, a great feature if you use terminal extensively.<br /><br /><span style="font-weight: bold;font-size:130%;" >Time machine</span><br /><br />While I backup everything into Subversion/CVS, all the other things (including settings) will be great to have saved.<br />You can also migrate your backups to a new computer (in case the other one is lost or decommissioned)<br /><span style="font-size:130%;"><br /></span><span style="font-weight: bold;font-size:130%;" >Unix</span><br /><br />"<span style="font-size:130%;"><strong>AutoFS</strong></span><br />Automatically mount and dismount network filesystems on separate threads to improve responsiveness and reliability." <br /><br />Great, no more finder hangs when you unplug from the network without ejecting shares.<br /><br />"<strong><span style="font-size:130%;">Streaming IO</span><br /></strong>Set up high-bandwidth data transfers in your applications, without having to worry about different hardware architectures and optimal caching strategies."<br /><br />It will be interesting to see if this gives any performance increases to overall OS use (given that Apple will pick up these things internally first)<br /><br />"<span style="font-weight: bold;font-size:130%;" >Multicore Optimized</span><br />Take full advantage of modern architectures with multiple processor cores with improved scheduling, memory management, and processor affinity algorithms."<br /><br />Wait a second....<br /><br />"<span style="font-size:130%;"><strong>64-Bit Applications</strong></span><br />Make use of all your existing devices. Leopard is the first mainstream operating system to completely and seamlessly support both 32-bit and 64-bit applications on the same platform."<br /><br />Mainstream, yes ;-)<br />This is however a great asset and I would have hoped more OS'es would do this one.<br /><br />I should be getting my family pack today if luck shines on me and I'll start upgrading machines.<br />Not sure if I'm going to upgrade my work laptop just yet.<br />Not listed here are the Safari and Mail improvements, but I'll be enjoying those as well<br />Pictures soon<br /></div>Barryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com0tag:blogger.com,1999:blog-930013650225472833.post-46487253707830618472007-08-07T12:13:00.000+01:002007-08-07T12:21:17.402+01:00New iMacs and updates to the Mac pro?The fact that Apple has a media function today to announce something Mac related is well known (see sites like MacRumors and Engadget)<br />I think that the Mac Pro might also see updates today.<br />Nothing big, but I'm guessing new graphical options (The other ones are about a year old now) and the delivery date of a normal Mac Pro suddenly turned into "3 days" in the Dutch store, much like the iMac.<br /><br />If this is true it means both the iMac and Mac Pro will see updates.<br />We'll see if I'm talking out of my rectum or not in about 6 hoursBarryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com0tag:blogger.com,1999:blog-930013650225472833.post-13245915641344425922007-07-29T14:25:00.000+01:002007-07-29T14:30:33.078+01:00Whiskey Tango Foxtrot... Jet powered RC planes?<a href="http://www.dumpert.nl/mediabase/21981/e2894a8c/index.html">Video clip here</a><br /><br />I want to have one right nowBarryhttp://www.blogger.com/profile/14599145665335841181noreply@blogger.com0