Jun 23

On loan from my brother-in-law is his ZAGGfolio keyboard and cover for the iPad 2.  For all of it's advantages, typing out long blocks of text on the iPad virtual keyboard is tedious at best.  For writing lengthy emails and performing tasks such as blogging, attempting to do so via the iPad virtual keyboard simply is not practical.

I've had my eye on a ZAGG solution for awhile, but wasn't completely sold on the solution and was not ready to commit without some first-hand experience with the product.  After having used the ZAGGfolio, off and on, for roughly a week, I'm fairly impressed with the product overall.  The keyboard has a high quality feel to it, and offers a solid tactile response to the keystroke.  The key spacing and layout is quite natural to anyone comfortable touch-typing on a smaller keyboard, such as that which might be present on a sub-compact or netbook computer.  The responsiveness of the keyboard to screen interaction is really quite impressive.  I don't have a great deal of experience with Bluetooth keyboards, though I have used a number of different WiFi keyboards and found them to suffer somewhat from lag or latency.  Battery life seems to be quite good.  The integrated stand feature is designed solely for landscape orientation - there isn't a good way to leverage the stand feature in a portrait orientation.  However, with a redesigned latch system, support for portrait orientation could have been a possibility.

I have found the that latching mechanism leaves a bit to be desired.  One must position and align the cover against the keyboard properly in order to put the device into a latched position.  There may have been a better way to accomplish this, such as through the use of a magnetic closure system.  Also, after having grown so accustomed to carrying the iPad in its natural state, I can't quite get over the extra bulk and weight of the ZAGGfolio.  For most who do use a shell or one of the bulkier rubberized covers, the ZAGG would not likely seem an issue.

Overall, I'm quite pleased with the product.  Like nearly every iPad cover (keyboard or not), the cost continues to amaze me, and the ZAGGfolio is no exception.  At approximately $100, I would strongly consider buying used on eBay, and likely wouldn't pay more than $65 to $75 for it...

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

May 28

Writing this via the new Yahoo Axis browser on my iPad 2.  There are some intriguing features which make Axis appear to stand out from both Safari and Opera.  Axis is well worth a look, especially for the Yahoo account holder.

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Feb 2

Seems I've got a thing for Microsoft Mice - the MS Arc Touch Mouse has become such a personal favorite for use at home with the HANNspree HANNSbook that I looked no further than Microsoft's Touch line for a work-appropriate model to replace the corded beast that lived tethered to my docking station.  The bigger brother to the Arc Touch, the Microsoft Explorer Touch Mouse gives a similar user experience by way of a touch-driven scroll "wheel", but supports virtual flick-scrolling in both the Y (up/down) axis, and the X (side-to-side) axis.  This provides great freedom in traversing large docs/windows and is surprisingly liberating in practical use, and while not as sexy as the Arc Mouse, the Explorer Mouse is a better pair to my IBM Thinkpad with ergonomics and durability that are more conducive to continuous work.

I will report that, unlike the Arc Mouse, the Explorer does not suffer from the same left/right button quirkiness that continually leaves me hunting for the sweet spot on the mouse buttons of the Arc.  In face, to date, I've yet to find any deficiency in the design or function of the Explorer.

Retailing for upwards of $50, like the Arc Mouse, I scored my Explorer as an open-box special at Best Buy for about $35.  Considering the practical application and shear amount of time spent pushing a mouse around on my desk, even at $50, the Explorer seems a bargain.

Microsoft Explorer Touch Mouse

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Dec 23

I recently came across a puzzeling scenario which required a flavor of denormalization of data in an Excel sheet, and while it doesn't fit the traditional definition of normalization/denormalization, it's still not a bad way in which to view the problem.

In essence, the dataset that I was dealing with contained a unique value, or "key", in the first column, and a series of associated related data in subsequent columns, on a row by row basis.  The dataset represented a one-to-many relationship between records in two disparate systems where the first column represented a defect ID, and all subsequent columns contained incident IDs.

The goal, in this exercise, was simply to produce a denormalize representation of the same data listed the entire dataset in only two columns - providing a distinct, or one-to-one relationship between each defect ID, and an incident ID, where the defect ID was repeated for each related incident ID

A fair amount of exploration into Excel's pivots, transpose, and standard set of functions left me empty-handed in solving the problem.  In the end, leveraging a VBA script as the basis for I've provided here did solve the problem.  This script will iterate through each cell, starting with the second column, on a row by row basis.  The first column, or key, is preserved while the data in each cell is pasted into the second column, row by row.  The procedure then moves to the second row of source data, preserves the key, and so on.  Once each row of source data is denormalized, the procedure will fill-down the key data in order to create the one-to-one relationship.

So, a table that looks like this:


Is translated thusly:


The procedure works equally well with variable row length data.  Note in line 7, the procedure will only handle data up to column "dk".  This can be expanded, or reduced as needed.

And following below, is the macro which produces the results described above:

Sub DenormalizeKeysToData()
Dim i As Long
LastRow = Range("a65536").End(xlUp).Row
For i = 2 To LastRow
Range("a" & i & ":a" & i).Copy
Range("a" & Range("b65536").End(xlUp).Row + 1).PasteSpecial xlValues
Range("b" & i & ":dk" & i).Copy
Range("b" & Range("b65536").End(xlUp).Row + 1).PasteSpecial xlValues, Transpose:=True
Next i
Rows("2:" & LastRow).Delete
Application.CutCopyMode = False
For Each Cell In Range("a2:a" & ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row)
If Cell.Value = "" Then Cell.Value = Cell.Offset(-1, 0).Value
Next Cell
MsgBox ("Finished")
End Sub

Hope this saves someone a lot of time and energy...

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Dec 18

I'm no Microsoft peripherals/hardware fanatic, but one thing that this company does consistently seem to get right are their mice.  Case in point is the Microsoft Arc Touch Mouse - though it seems to get mixed reviews on functionality, but high points for overall design and appearance, I find it functional, comfortable, and stylish.

Functionally, the Arc Touch Mouse stands up well against all of the normal day-to-day tasks that I ask of it - including standard office tasks, development, web browsing, and light graphics work.  The BlueTrack sensor permits more reliable, less jittery use on traditionally less mouse-friendly surfaces such as reflective table tops, fabric, and uneven surfaces.  The same sensor technology makes this mouse very easy on battery life - running the same set of AAA batteries, I've yet to replace them after nearly six months of daily use.  The virtual scroll wheel gives user feedback through a tapping sensation - I find it both accurate, and true to its physical cousin.  The mouse un-arcs (i.e.: flattens) to turn it off, and for portability.  This mouse comes with a low profile USB receiver that can be left in the computer, or "sticks" to the bottom of the flattened mouse magnetically for storage.

From the standpoint of comfort, the Arc Touch Mouse has taken some criticism over its light weight, and untraditional form factor.  I find neither the weight, nor the form factor to be limiting or compromising in any way.  In fact, the shape of the Arc Touch is very well suited, I think, to a user looking for a standard desktop mouse feel while retaining portability.  The rubberized coating over the rear-half of the mouse keeps it fully in-hand while (again) the BlueTrack sensor keeps the mouse responsive under most any condition.

Appearance - well, there aren't many mice that can compare in elegance of design to the Arc Touch.  It lends itself well to pairing with any modern computer.  The shape and less-is-more design of the mouse makes it rather fetching, and a real conversation piece.

What would I change?  Only one thing - the sensitivity of the left and right mouse buttons, while fine, is only fine at the upper confines of the respective buttons.  Moving the button sensors down just a little further (toward the user's wrist), such that the sweet spot for a left or right click was approximately one inch from the front of the mouse, would make it just a little more functional.

Finally, I purchased my Arc Touch Mouse on an open-box discount at Best Buy for just under $50.  They can be purchased for less via Amazon, but are still at the upper reaches of what a two button mouse "should" cost.  This is no gamer's mouse - look elsewhere if you require multitudes of buttons and programmability.  However, if you're shopping for a highly portable mouse with strong basic functionality, do consider the Arc Touch.

Arc Touch Mouse

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Dec 9

In early July of last summer, I picked up a sub-notebook - the HANNspree HannsBook SN12E2.  This was a rare indulgence to replace an aged Dell Latitude D600.  The D600 served me well, having gone through several full tear-downs and rebuilds - right down to replacing replacing several components on the motherboard itself.  One of D400 tear-downs can be found here.

  • Several criteria leading to the selection of the HANNspree came front and center:
  • Small - sub-notebook sizing, similar to my D400.
  • Reasonable processing power - better than the typical netbook/ATOM CPU-based unit.
  • Quality screen - high-powered graphics optional, just a clear, reasonably high-def screen.
  • Battery life - several hours, reliably.

The HannsBook, to date, has delivered on all of my criteria and even exceeded expectations.  With its dual-core Intel 1.3GHz CPU, 4GB RAM (upgraded from the factory 2GB), 800MHz buss, and 12.1" LED HD screen, the HannsBook gives a premium experience in a sub-notebook.  Three USB ports, VGA, the requisite LAN and audio ports, a multi-function card reader, and an HDMI port round out the interface capabilities.

The keyboard gives a refined, crisp experience.  The one exception - the track pad is hyper-sensitive, though still very capable and functional with a little technique and adaptation.  A button that lives between the left and right mouse buttons on the pad make turning the device on/off very easy, and for most "work", I will typically opt to use my MS Arc Touch Mouse (which, incidentally, pairs very nicely with the HannsBook for additional elegance and coolness factor).

The HannsBook can be a little tough to come by - there is a HANNspree store in San Francisco.  Even retail, the SN12E2 is a bargain, in my opinion; however, if you're as patient as I am with these kinds of purchases, the HannsBook can be found on eBay at incredible prices...this is where I found mine, with no regrets.

Highly recommended - check the reviews, this one might be for you!

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Oct 17
After so many iterations of functional, yet feature-poor Facebook for iPhone apps, they've finally pulled it all together (insofar as I'm concerned) to release an app that puts the depth and complexity of the administration of ones account onto the mobile platform. Long a major miss for someone who follows their FB feed on a mobile device exclusively, I'm thrilled to finally see a much richer overall UI, user experience, all of the administrative features, and I dare say, performance.

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Jul 2

I've been pining for a mini-wireless keyboard for the Revo since the day I brought it online.  Originally, I had my eye on the very expensive Logitech diNovo, but decided it was too big an investment to trust to the abuse that our remotes must endure.  Once or twice I considered the Lenovo "T" shaped contraption, but decided quickly that the form-factor left a lot to be desired...not quite remote-material, but I expect that it has its place in the conference room (probably sitting next to the similarly-shaped, and ubiquitous Polycom).  And then it was the iPazzPort, with its Blackberry-meets-Palm form factor and somewhat unfinished appearance, making it look more like a college EE senior project than a marketable mass-produced product.

Well, I stumbled across the Rii Mini-Wireless Keyboard some time ago, and nearly pulled the trigger several times.  What stopped me were the reports around dismal range in the 2.4GHz model, but it had everything else that met my ideal concept of a mini-wireless keyboard...a trackpad, backlighting, rechargeable, lower cost, and good ergonomics.  Further, once the Bluetooth model released, it seemed that the range problems were finally addressed, with the added bonus of being pairable to the iPhone for easier data entry.

However, procrastination rules the day and patience pays off yet-again.  Recently, Rii released the N7 - a smaller, lighter, longer-ranged, and even better form factor, which places the track pad in the center of the device, and gives a more complete compliment of native keys to boot.

With the ultra-low profile receiver fob plugged into an open USB on the back of the Revo, the device was instantly recognized and was up and running in a matter of minutes.  Adjustable on the fly, trackpad sensitivity seems to be perfectly adequate for scrolling about the screen, range is good, and functionality is right on target.  What the device lacks at the moment is Bluetooth connectivity, but expect this is near-term on the product radar.

I purchased mine as an open-box item for a mere $25 + shipping through eBay - the device still smells new, and there is no discernible evidence of use.  Overall, this little Rii N7 mini wireless keyboard really fills the bill.

Rii N7

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Jun 19

I feel like I gave Netflix streaming via the Revo, through XBMC, a fair shake and reverted to the Wii.  See previous post concerning the setup and configuration - while functional, it is only marginally so, and not the native, tightly integrated experience that I was hoping for.  Viewing Netflix via XBMC felt a little too much YouTube-like - windowed, buffered, and tacked-on.  Once the Revo is on a hard-wire, and no longer reliant on WLAN, I may revisit...but for now, it's back to streaming via the Wii.

One of the primary reasons for moving away from the Netflix via the Wii in the first place was the propensity of the screen to darken and lighten depending on the scene.  This behavior is especially annoying in certain programming where scenes shift frequently and dramatically between low and high brightness - invariably, the darks are darker to the point of making scenes hard to distinguish detail in.

Now, it's been said that replacing the standard Wii composite video cable with the higher-quality component video, which splits the signal into three channels effectively eliminates this behavior.  Well, I can attest to the fact that it has little, if any bearing on this at all.  While there might be some improvement in overall image clarity, the most-annoying issue around normalization of brightness does continue to present a problem. Frown

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Jun 6

As a testament to the low priority I place on television viewing, we only just got around to streaming Netflix through the Wii - it was a novelty, a is fast becoming a staple in our media repertoire.  The problem with streaming through the Wii, however, is the horrid default transport medium.  In other words, streaming Netflix in low-res over an RCA composite cable yields marginal quality at best, and is notoriously unstable with regards to image quality.  This manifests as a vacillation between a dark, and light picture, and overall fuzziness.  Now, while I haven't sprung for the $30 Wii component cable to replace the default composite, I understand that this simple upgrade goes a great distance toward rectifying the image quality issues of the composite connection.

While the Wii UI to Netflix, and the overall experience, is passable, I did feel that the better candidate for the task was the Revo - here again, with its support for HDMI and overall flexibility, it seemed a natural.  Still running the tried and true XBMC on the Revo, step one was to upgrade from version 9 to 10 (10.1 is the current release).  This was achieved quickly upgrading XBMC to version 10.1 over the top of version 9, but resulted in some very undesirable behavior around UI responsiveness.  Regardless of the theme applied, or various minor tuning, I simply could not get to a state of reasonable UI responsiveness.  Rather than invest further in troubleshooting, tuning and applying band-aids on top of band-aids, I elected instead to uninstall XBMC altogether, and reinstall cleanly.  This singular step effectively resolved all glitchiness in the UI prepared the system for step 2 - installing Netflix.

Installing Netflix as an XBMC add-on is really quite simple.  There are a couple of paths one could take, but the easiest is simply to launch XBMC, navigate to Movies, select add-ons, and look for "XBMC FLICKS".  Install "XBMC FLICKS", and launch it.  The first run will eventually launch a browser and prompt you to authorize the machine to access/stream Netflix through it.  Once authorized, you will restart XMBMC.  From this point, once relaunched, XBMC is now ready to stream Netflix content through your Revo.

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Feb 5

Looking for the latest and greatest in the genre of Hipstamatic, I've recently found Instagram.  Like others, this mobile photo post-production app is namely about the application of filters which endeavor to add a certain character to the image, thus giving the photos the appearance of having been shot in the 60's and 70's on low-grade photog equipment.

As of version 1.12.1, there are 15 different filters to choose from, each yielding one pleasant effect, or another - ranging from a greyscale conversion to yellowed and weathered with degraded border.  Applying filters is incredibly easy - take a photo within the app, or select one from your existing roll, size and center the image as-needed, apply the filter of your choice, and save the image.  The "save" process does three things - saves the filtered image to your camera roll (as a new image), pushes your image to your Instagram account, and gives the option to push the image (or a notification) to one or more of a number of different social networking sites (Facebook, Twitter, Flickr, etc).  One can configure their Instagram account as "private" to prevent the world from viewing their photos.  Also, I've since discovered a process workaround whereby a filter can be applied to a photo, and the photo saved back to the camera roll, but where no push occurs to any configured account (including Instagram).  Quite simply, choose your photo, apply your filter, and at the screen where you would normally tap "next" save and push your photo, instead tap "back" and exit the application.  You'll find that your filtered photo is saved to your camera roll, but not pushed to Instagram or any of your configured networking sites/accounts.

Enough of the technical - what I find amazing is the degree of artistry exhibited by the Instagram community as I browse albums.  Where one might expect to find a great deal of garbage, subjects of questionable nature, and so on, instead the content is amazingly clean, and the apparent skill of Instagrammers world-wide astounds me.  Now, it should be assumed that not all photos taken were done so via the iPhone (remember, Instagram has access to your camera roll, which can be populated with any jpg image via upload); however, I'm giving the benefit of the doubt and tend to believe that most photos taken by the Instagram community are done so via the iPhone.  Under the circumstances, this subject has to be a major consideration in context of the future direction of photography - it would be interested to hear an open-minded veteran professional's opinion on how this type of mobile post-production app is having (and will continue to have) on the future of photography.

Now, Instagram is not without its shortcomings - album browsing is tedious at best, making the "most popular" list the only realistic way to simply browse photos/albums.  There is a tag search, but the effectiveness is highly dependent on the author's diligence in tagging, and is a marginal attempt at addressing casual browsing.

What's next in my world for Instagram?  Well, the company has just announced plans to release their first official rev of Instagram API - I've already cast my bid for access, and fully intend to build a simple feed for S9Y, and I can't wait, because I'm addicted to this silly app! Cool

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Jan 22

I have a renewed appreciation for watch makers having just completed an iPhone 4 tear down for screen replacement.

From memory, I recall on the order of 25 micro-screws that hold the contraption together.  Though beautiful in its simplicity, having one two external screws, all the rest are buried in layer upon layer of intricate internals.

I used this video as my guide and found it to be very accurate aside from one extra shield in place which rest beneath the battery connector and secures the speaker connector.  I took it slow and easy - dis-assembly was roughly a 20 minute endeavor.  Reassembly took about 45 minutes.

There was a valuable lesson learned in this exercise.  It's hard to find a source of truth on this topic, so let this be it...  The iPhone 4's multilayer screen (glass + digitizer + lcd + backlight) is, for all intents and purposes, a sealed unit - and while you can purchases a glass + digitizer unit, I'm not convinced that any amount of reasonable effort will release the lcd + backlight from the screen which is being replaced.  You can trust me on this - I tried a number of things to break the bond between lcd and digitizer and was nowhere near successful.  Now, you can purchase the lcd + backlight to accompany a separate glass + digitizer, but I'm not sure that there is really any logic in such an approach.  Better to shell out the $100 and get the fully assembled sealed unit - you'll thank me in the end.  (Note: I think, but am not certain, that the iPhone 3 series did not have a bonded screen assembly - in other words, you could replace just the glass + digitizer, which makes it a much cheaper proposition.)

Another tip - don't bother purchasing separately, or going out of your way to purchase a screen replacement kit which includes the (less than) handy tools.  Since the glass screen is probably broken anyway, the plastic prying tools aren't all that necessary as you won't be too worried about lifting the glass screen without damaging it.  Plus, you'll probably find that the screwdrivers are a size or two too large to fit the tiny screws properly.  Do yourself a favor and pick up a decent set of jewelers screwdrivers, and look for a set that contains at least a size 00 philips.  I picked up this kit by General - it wasn't cheap, but I'll have it for the rest of my life, and I'll use it frequently enough (mfg # 63518):

General Tools mfg#63518

I'm including a picture of the actual phone in its fully torn-down state.  Notice the pen and tweezers for perspective as compared to the tiny little screws in the ramekin.

iPhone 4 Tear Down

I should point out - the screws in the ramekin are organized...per the video, which breaks dis-assembly down into logical steps, I grouped the screws as a removed them in a counter-clockwise fashion so that I could easily determine which screws went where as there are at least eight different sizes as I recall.

In the end, I wouldn't recommend this project to someone who lacks patience and steady hands - good eyes are a benefit too. Cool

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Dec 7

Finally a real-world purpose for the tired little laptop that I setup as a dedicated SLAX machine...

it's easy to take Winzip for granted - such a workhorse, but so often over-looked in its contented annonymity.  But - when it doesn't work the way we'd like or expect it to...well, suddenly expectations are shattered and temperaments become quite stormy.  This is the bain, I suppose, of being such a prolific application that works consistently so well, for most people, most of the time.

The situation: oh-so-many .zip files which had been split to facilitate emailing given relatively low attachment size thresholds.

The problem:  Winzip throws an error upon attempting to extract a split zip file, complaining that the disk on which the other half (or parts if multiple) of the .zip file lives must be inserted.  Odd, unexpected, and cryptic - how could the be the case, what kind of fool split this zip file in the first place, and who the hell does the app think it is anyway??

The simple solution: enter one of the longest-standing UNIX functions, "cat" - short for concatenate.  With .zip and zip parts in-hand, move them onto a Linux machine where all of the related parts are segregated into their own directories.  From the prompt, "cat * > my_new_file.zip".  Simply, this tells the machine to string together all of the files in the current directory and stuff them into a newly created file.  Once done, the full .zip file can then be extracted on the same Linux host, or moved back to Windows as-is.

Yes, there are Windows methods of doing the same - doing the same, but with decidedly more pain involved.

I should point out (and will someday write an article on the same), that SLAX is more typically run as a portable OS.  Full-featured, and with an elegant and functional UI, most would run it from a bootable thumb-drive or CD. 

I, however, have dedicated a small laptop that was destined for the rubbish heap and run SLAX as an "installed" OS from the harddrive.  That said, let's take the scenario above and simplify it further - with SLAX on a thumb-drive and my Zip-parts on the local drive, I shut down Windows and boot SLAX.  My disk is mounted automagically (SLAX is great at this) and it's only a matter then of finding my Zip parts, cat'ing them together, shutting down SLAX and restarting Windows to resume work.

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Oct 4

I ran into a frustratingly idiotic error trying to upgrade from IE 6 to IE 8 following a reinstall of Windows XP sp3.  When attempting to upgrade Internet Explorer, the error "KB932823-v3 Setup Error - Setup has detected that the Service Pack version of this system is newer than the update you are applying" is presented for the user's amusement.

There is a fair amount written on this, most of which instructs the user through countless gyrations which include the un-installation of service packs, Internet Explorer, and so on, followed by the re-installation of these various bits of certain versions, in certain sequence, etc.  All far from convenient, generally undesireable, and not without certain risk.

Of all that is written, there is but one short blurb suggesting that this may be an issue related to multi-core architecture out on FixYa.com.  The simple fix?  Reboot into the PC's BIOS, disable multi-core processing, boot into Windows XP, initiate and watch Internet Explorer upgrade from version 6 to version 8 without complaint.  Re-enable multi-core processing, and enjoy your handiwork.

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

Jul 31

Tonight I updated from the 3.x to 4.0.1 iPhone OS.  These kinds of exercises are nerve wracking given it takes so little to render the phone a paper weight.  Granted it's better now, conducting the exercise with an iPhone, than it ever could have hoped to be with the old HTC Apache where OS updates were hacks at best.

A couple of quick observations on the 4.0.1 update...

First, they mean what they say when stating that data will be lost - this includes photos, music, txt's, email, custom ring tones, and the related.  This does not include configuration data such as email accounts, stocks, weather (cities), and various other settings.  Preserved data includes contacts, notes, and browser favorites and history.

The UI has seen some very minor updates - just enough to be noticeable.  Also, and it may just be an illusion, or due to the reboot, but the UI does feel snappier.  Long term results to-be-seen.

The mail app has a nice addition in the form of a consolidated inbox - great for those of us pulling mail from multiple accounts.

The camera app now tags photos with location, and the album leverages this feature with a map-view of photos taken.  This is kind of cool, and could actually be practical.

There is sure to be more, but these are the most obvious features I've noticed in my five minute tour of 4.0.1.

Posted by Adam KrauseGo w.i.d.eTweet MeShort URL

(Page 1 of 5, totaling 65 entries)

Strict Standards: Declaration of serendipity_event_s9ymarkup::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_s9ymarkup/serendipity_event_s9ymarkup.php on line 146

Strict Standards: Declaration of serendipity_event_s9ymarkup::uninstall() should be compatible with serendipity_plugin::uninstall(&$propbag) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_s9ymarkup/serendipity_event_s9ymarkup.php on line 146

Strict Standards: Declaration of serendipity_event_emoticate::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_emoticate/serendipity_event_emoticate.php on line 204

Strict Standards: Declaration of serendipity_event_emoticate::uninstall() should be compatible with serendipity_plugin::uninstall(&$propbag) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_emoticate/serendipity_event_emoticate.php on line 204

Strict Standards: Declaration of serendipity_event_nl2br::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_nl2br/serendipity_event_nl2br.php on line 395

Strict Standards: Declaration of serendipity_event_nl2br::uninstall() should be compatible with serendipity_plugin::uninstall(&$propbag) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_nl2br/serendipity_event_nl2br.php on line 395

Strict Standards: Declaration of serendipity_event_browsercompatibility::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_browsercompatibility/serendipity_event_browsercompatibility.php on line 80

Strict Standards: Declaration of serendipity_event_spartacus::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_spartacus/serendipity_event_spartacus.php on line 1183

Strict Standards: Declaration of serendipity_event_imageselectorplus::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_imageselectorplus/serendipity_event_imageselectorplus.php on line 1105

Strict Standards: Declaration of serendipity_event_imageselectorplus::uninstall() should be compatible with serendipity_plugin::uninstall(&$propbag) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_imageselectorplus/serendipity_event_imageselectorplus.php on line 1105

Strict Standards: Declaration of serendipity_event_sidebarlogin::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_plugin_sidebarlogin/serendipity_event_sidebarlogin.php on line 148

Strict Standards: Declaration of serendipity_event_popfetcher::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_popfetcher/serendipity_event_popfetcher.php on line 1426

Strict Standards: Declaration of serendipity_event_lightbox::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_lightbox/serendipity_event_lightbox.php on line 281

Strict Standards: Declaration of serendipity_event_lightbox::uninstall() should be compatible with serendipity_plugin::uninstall(&$propbag) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_lightbox/serendipity_event_lightbox.php on line 281

Strict Standards: Declaration of serendipity_event_tinymce::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_tinymce/serendipity_event_tinymce.php on line 291

Strict Standards: Declaration of serendipity_event_tinybrowser::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_tinybrowser/serendipity_event_tinybrowser.php on line 150

Strict Standards: Declaration of serendipity_event_prettify::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_prettify/serendipity_event_prettify.php on line 245

Strict Standards: Declaration of serendipity_event_xmlrpc::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_xmlrpc/serendipity_event_xmlrpc.php on line 160

Strict Standards: Declaration of serendipity_event_podcast::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /home1/pigslips/public_html/s9y/plugins/serendipity_event_podcast/serendipity_event_podcast.php on line 939

Strict Standards: Non-static method TwitterPluginFileAccess::get_permaplugin_path() should not be called statically, assuming $this from incompatible context in /home1/pigslips/public_html/s9y/plugins/serendipity_plugin_twitter/serendipity_event_twitter.php on line 1554

Strict Standards: Non-static method TwitterPluginDbAccess::load_short_urls() should not be called statically, assuming $this from incompatible context in /home1/pigslips/public_html/s9y/plugins/serendipity_plugin_twitter/serendipity_event_twitter.php on line 1518