Debugging Firefox and WordPress 2.1 UI issues with Firebug – SUCCESS

Send to Kindle

I’m typing this to provoke the following error:

uncaught exception: Permission denied to call method

So far, not provoked, which means that I think I figured out what was killing me ever since I upgraded to WordPress 2.1.

Before I declare victory, let me try to insert a link, which is what I was having the most trouble with before. Yippee!

The part of the post from the above link that made the lightbulb go off in my head was where megatron5151 points out that links with “” were different than “” for purposes of the browser thinking that there was a cross-scripting domain issue.

I realized that I was redirecting all URLs with either wp-admin or wp-login in them to require https. That made the base URL of the site different than the administrative part of the site (only due to my redirection, not because of anything that WordPress was aware of!), and so the new AJAX niceties that were introduced in WordPress 2.1 were being turned off by Firefox (correctly!), like autosave, etc.

The simple solution (and I’m not sure whether I have compromised security here or not, so if anyone is indeed reading this, which I doubt, and you know the answer, please let me know!), is that I made only the wp-login redirect to https, and once logged in (presumably avoiding my password being transferred in the clear over the wire), I revert back to plain old http. If the rest of the authentication is done via cookies, or sessions ids, I guess/hope that I’m fine from a security point of view. If not, then I guess that Firefox will be continually sending my password in the clear in the background (unbeknownst to me), in which case I need a better long-term solution than this.

In the meantime, I am immensely relieved to have put this headache behind me. Further, it turned out to be an interesting first use of Firebug, which is clearly awesome 🙂

P.S. I am very happy to have been able to link to Firebug as a result of it helping me to track down this problem 😉

Why does most technology feel “random” so often?

Send to Kindle

I’ve been involved professionally with technology since 1980. So, you’d think that I understand it (and how it works) reasonably well by now. On some levels, sure, but on others, I feel as helpless as the proverbial mother-in-law or grandparent in the “clueless users” examples people always give…

Conceptually, I understand how “small tweaks” can lead to large unexpected results. It’s a variation on chaos theory. Practically, it’s still annoying. What is harder (for non-techies) to understand is when things break down after no changes (that they are aware of!). Of course, it’s the parenthentical comment that is the clue.

With modern operating systems, the vast majority of users have some form of automatic updates turned on. That being the case, things are chaging frequently, and possibly in very significant ways. It just so happens that the user doesn’t associate different behavior in their favorite applications with an invisble update.

The above was just generic whining to get to one or two rants that have been bugging the hell out of me lately…

The first topic is spam filtering. For many reasons (most of them rational ;-)), I am Windows user (specifically, WinXP Pro, but that’s not important). I don’t think it’s superior, etc., but many applications that I find convenient (and in some rare cases even necessary) are always available first on Windows, and often only on Windows… C’est la vie…

So, being a comitted Windows person (no, the irony of that statement doesn’t escape me ;-)), for many years, I was a tried and true Outlook user. In fact, I started with Outlook 97, moved to 98, then 2000, and then 2003 (no, I didn’t have the pleasure of Outlook XP).

In the early years, there was no need for spam filtering. Not only was the volume of spam low, my Internet activities were reasonably limited, so I wasn’t on many spam lists anyway. Of course, being a VC now, and having my name on many public sites, along with being subscribed to many mailing lists (public as well as publically available internal company lists), has changed that fact melodramatically.

On some days, I get well over 1000 spam messages (through the variety of means that email can wind up in my real account). Clearly, that isn’t a sustainable number of mails to have to delete by hand (even though I am ultra fast at spotting spam and hitting the Junk key).

So, a few years ago, I installed the free SpamBayes plug-in for Outlook. (This now requires a minor side-rant) 🙁

<Side Rant>

Ever since I upgraded to WordPress 2.1, I can’t create any links with their “visual” tab. I wanted to link to the SpamBayes project page above, and got a blank pop-up box where the form is supposed to be. Firebug shows errors with TinyMCE, and before that, an error with an XHTPPRequest, so it’s likely Firefox config that’s causing the problem, but I have no idea whatsoever what else to try (obviously, I’ve tried a lot of things…)

</Side Rant>

So, I ran SpamBayes for a long while, and also ran a commercial derivative of it, InBoxer (should have had a link to that as well…)

It did a pretty good job. Still, it wasn’t all that satisfying, because every message needed to be downloaded to my laptop, before SpamBayes (SB) could analyze it. That meant that on a heavy spam day, if I was on a slow link (let’s say dial-up, gulp), I had to wait for all of the spam to come down to find the few gems that I was breathlessly waiting to read.

So, after doing that for quite a while, and building up a large SB db, I decided to get creative. I installed SB on the server as well (I control my own server), and regularly uploaded my local (meaning laptop) SB db to the server. Then I added a procmail rule that filtered each message using the locally trained db (but now up on the server), and then did one of three things with the result:

  1. If it was marked as “ham” (definitely not spam), it was just passed through normally.
  2. If it was marked as “unsure” (the range is user-definable), then it was moved to another account on the server, so that it didn’t auto-download on each email check (this solved the problem of slow links with lots of possible spam)
  3. If it was marked as “spam”, it was deleted right then and there on the server.

This worked very nicely for quite a while as well.

Then, I woke up, and decided to break myself of the Outlook Addiction. I’m still firmly in the Windows world, and have been ever since I decided to stop using Outlook for email (over 2 years ago now!). Even though I own a legal copy of Office 2003, I now only use Outlook for Calendar, Tasks and Notes, and that only because it syncs reliably with my Treo 700p.

I switched to Thunderbird, and have never regretted doing that. I’ll save any niggling complaints about Thunderbird for some future post when I am really bored, since for the most part, I am extremely happy with TB.

Now, the first part of the problem. TB has built-in Junk filters, which work OK (but not that great), but that puts me back to having to download everything to have it analyzed. The second part of the problem is that I can continue to use the old (static) SB db on the server to help cut down on spam, but the real beauty of SB is the B (Bayes), which continually learns. Since spammers constantly change their strategies to stay ahead of the anti-spam companies, having an outdated SB db degrades its usefulness over time.

Wow, I can’t believe how much background I just gave in order to get to the actual point…

Recently, emails that were previously being marked as “ham”, or “unsure”, were getting tagged as guaranteed “spam”, meaning SB was assigning them a spam score of 1.0! Of course, my server-side filter was dutifully tossing them to /dev/null as instructed, and I was blissfully unaware of that.

I discovered that when another phenomenon began. Any emails with large attachments were going directly to /dev/null. Since most of my procmail rules are also duplicated for Lois, she was complaining before I noticed, that people were writing tons of “follow up” emails to her, wondering why she hadn’t responded to their last email. Those follow up emails were getting through, because they didn’t have attachments. I am still not sure that this was because of the old SB db, but at least that caused me to find the other emails that were definitely being miscategorized…

In any event, I turned off the SB db, and the flood of spam started up again. About a month ago, I turned off SpamAssasin on the server side, because while it was somewhat effective, it was also one of the biggest resource hogs I had ever seen on the server, and the “reward” wasn’t worth it…

So, now, I’m spending a little too much time hand-tuning procmail rules to get the spam back down to a mangeable range. So far, so good, but with lots more effort than I would have hoped to expend, given the nice steady state I had for a reasonably long time.

Anyway, this post has turned out way longer than I expected, so I will save the other “random” events for some future post, when they bubble to the top of my frustration queue.

P.S. I am still not sure I’ve “solved” the large attachment problem. My temporary solution was to specifically whitelist those senders in procmail, which works, but begs the issue of whether others are being thrown away that I’ll never find out about, or find out about too late 🙁

I’m truly a glutton for punishment…

Send to Kindle

OK, so here I am again, updating my progress on the old Dell Latitude L400 saga…

Before I begin, let me assure the millions of readers of this blog that I have no illusion that I will ever be able to use this laptop in anything other than as a “guest surfing” node in my apartment. It’s not the case that I think if I just “bull through this”, I will figure out how to make it reliable for the originally intended purposes…

So, why do I continue banging my head against this rock-solid wall? Because I like to understand things, even things I can’t make work. Since some of the failure modes of the machine are reproducible, I have an inclination (or perhaps fantasy is a better term) that I can at least figure out what is failing. Even if I do, there’s no way that it will be economically viable to “fix it”, but knowing will make all the difference (to me at least) 😉

Deciding that it was worth the minor effort to turn this into the equivalent of a “thin client” browsing machine, I wanted to pick a Linux distro that would require little tweaking for my purposes. While Ubuntu 6.06 was working reasonably well on the machine previously (fewer halts than Windows), I wasn’t crazy about putting it back on. This actually introduces a little side rant…

(Pardon the interruption of the real point of this thread…)

I get that Linux distros want to offer some sort of “stability” promise, and as such, are supposedly careful about upgrading apps too aggressively. There’s a general “goodness” associated with that concept. That said, it’s also annoying that there isn’t an easy way to over-ride that.

An obvious example is Firefox. Ubuntu 6.06 ships with Assuming that it is correct not to upgrade to 2.0.x, is it therefore correct to not automically update (through their automated updating service) to After all, the concept here is those are bug releases only (no new features).

It’s bad enough that I can’t just get that update automatically, but I’m not even given a choice to upgrade to it optionally, even with a warning that it hasn’t been fully tested. However, what really bugs me (again, remembering that I understand the concept of stability) is that within Firefox itself, logged in as root, I can’t hit the “Check for Updates” button, as it is greyed out. Obviously, I’m being saved from myself, and I don’t like it.

(OK, back to our regularly scheduled saga…)

So, I wanted a distro that had the latest versions of Firefox, Thunderbird and Even Ubuntu 6.10 doesn’t qualify. The current “snapshot” does, but then I don’t get the easy-to-install-from CD, etc.

A little searching, and I found PCLinuxOS version 2007.1 test release. With a little trouble (all caused by me, not PCLinuxOS!), I got it installed. I’m done then right? Wrong! Why? Because, PCLinuxOS doesn’t start up the wireless networking correctly (it works fine with the wired port). Somewhere, deep in the bowels of the kernel, it recognizes my Lucent Wavelan (Orinoco) card, as “dmesg” shows that there is a card inserted in slot 0. All attempts to load the right things (including: “modprobe hermes”, “modprobe wavelan_cs”, “modprobe orinoco_cs”) fail to make the card work, but all succeed in loading the appropriate modules.

Anyway, I boot with Damn Small Linux 3.2 (DSL), and from the Live CD, it recognizes the card correctly, and can access the Net just fine. Damn (so to speak) 🙁

This is likely a general problem with this specific distro (PCLinuxOS), as they have deferred their final release due to the number of problems found in the test release…

So, I’ll let this one go for now (though my general complaint about distros upgrading to current app releases within a bug-fix range stands!) 🙂

So, back to the original intent of this post, which was to explain why I even bother to continue working on this machine, when I know it can’t fulfill my true need for it…

It turns out, that when I put PCLinuxOS on the machine, and found out that it didn’t work with my wireless card, I decided to “upgrade” from their repository, hoping to install additional wireless tools. That worked fine, with one notable exception.

No matter how little or how much I asked for the updater to download (the largest was 80 files with 38MB, the smallest was 12 files with 2+ MB), it downloaded them all just fine, but the instant it started to process the files, the machine halted! Sound familiar?

It then occured to me that every time the machine halted, it was doing something related to the network. This was across operating systems (Windows XP, Windows 2000, Ubuntu 6.06, PCLinuxOS, etc.). So, perhaps a bad NIC? I doubt it highly. Why? Because in the case of PCLinuxOS, it was the wired port, in the case of Windows 2000, it was operating 100% wirelessly, etc. Also, it was able to do hundreds of MBs and hundreds of individual updates for Windows XP and 2000. It was specific use cases of networking that caused it to crap out!

In the PCLinuxOS case, after rebooting and starting Synaptic again, and asking it to update again, it found the packages locally (intact!), and installed them all without problem. On the next set of updates, it failed in exactly the same way. Download them all cleanly, and upon attempting to install them, the machine halted.

So, I’m no closer to understanding the what is happening, but it seems to be related to some kind of networking issue, perhaps related to task-switching from networking to disk, etc. Who knows…

I’m hopeful that this is the last post on this specific laptop (as I’m sure the throngs of my readers will appreciate!) 😉

Fifth time’s the charm :-)

Send to Kindle

I googled to see whether other people were having trouble with the upgrade to WordPress 2.1. Most were successful on their first try, but a few people had problems that were similar to me.

I made two changes and tried again:

  1. I ensured that my user had full permissions on the DB
  2. I performed the upgrade from a fresh directory untar of 2.1 (previously, I untarr’ed on top of 2.0.7)

I doubt that #2 had any effect, but I may as well be complete in my report.

This time, everything went fine. This post is being brought to you courtesy of WordPress 2.1. Whew 😉

I’m officially a fool…

Send to Kindle

This (meaning, the title of this post) is not news to anyone who knows me 🙂

For the purposes of this post, I interpret being a fool to “continuing to waste time trying to get the Dell Latitude L400 to be a stable machine for my purposes”. It should have been obvious to everyone (including me) that nothing was going to make this machine do what I want it to (for those needing a refresher, read this).

Anyway, as I mentioned at the end of that post, perhaps Windows 2000 would solve the problem. Yeah, right, what a fool…

Yesterday, I spent 8+ hours (mostly working on my real laptop, but keeping an eye on the “install”, “updates”, etc.) getting Windows 2000 running on the Dell. As with all previous attempts (with XP and Linux), hours and hours go by with the machine taking updates one after another, and not crashing even once. One actually deludes oneself into thinking “this time, it’s gonna work”…

I blogged about the results late in the afternoon, in a very long, detailed posting. Of course, it got lost, as you will see if you read my previous post today. 🙁

I don’t have the energy, or inclination, to repeat all of the details. Suffice it to say that after 5 minutes (or less!) of streaming on the Slingbox, the machine halts every time. I would now guess that it’s perhaps a resource exhaustion issue, but the machine has even died in Linux, during a web browser session (which doesn’t preclude resource utilization, but doesn’t highlight it either).

Anyway, the machine is now relegated to the junk heap at worst, and at best, it will be a “spare” machine for guests to use as a browser toy (the vaunted “thin client”).

Good riddance!

Testing 1-2-3

Send to Kindle

I’m not a happy camper. I started out with WordPress 2.05. After the first post or two (or three), I upgraded to 2.07. That upgrade went flawlessly.

This past weekend, I upgraded to WordPress 2.1. The upgrade “failed”. The previous blog posts showed up fine, but I saw a SQL error in the part that shows which categories each post is in. A little digging, and it became obvious that one of the schema changes failed. Turns out that my “user” (at the MySQL level) had insert/update/delete rights, but not alter, etc. Ugh.

Nothing I did after granting those rights made it possible to re-run the “upgrade.php” script correctly. At least not that I could tell…

After reading some forum posts, I installed phpMyAdmin, and while looking at the updated schema file, I hand-edited the DB to add the appropriate columns and one new table. It seemed to work, as the SQL error went away.

Then yesterday, I wrote another long post complaining about my saga with the old Dell laptop. When I hit save, it “appeared” to save, but the post was gone, forever… The title was there, with a blank post. Another test, and sure enough, no posts were making it to the DB.

Man, the people that “encouraged” me to start blogging owe me quite a number of hours to be added back to my life (not that I’m anything less than a world-class time-waster all on my own, but I really didn’t need any help here) 😉

So, I exported all of my previous posts (yep, all 5 of them). Today, I created a new DB, updated the wp-config.php to point to the new DB, made sure to grant my user ALL privileges on that DB, and re-ran the “wp-install.php” script. After that worked, I imported my posts, and voila, they are all back.

This post will be the “test” as to whether that solves my problem of posting in general…

Finally, while WordPress 2.1 seems to have cooler features in it, so far, in Firefox, the UI is hosed. The textarea that I am writing in spills into the sidebar on the right hand side (that worked perfectly in 2.07), and the only “fix” is to maximize the window to the entire screen (I’m running 1600×1200), which is annoying, to say the least…

P.S. No such luck. This post failed too. I have reverted back to 2.0.7. Even with a fresh install of 2.1, and no imports, I can’t post anything by a blank with a title :-(. This is a fresh install of 2.0.7, with the original posts imported, and this one as the “new” one…

Hopping Mad

Send to Kindle

Now the bureaucrats in Washington have cost me $40, and I’m beside myself.

If you follow any of the nonsense involved in the US trying to shut down online gambling, then you know that they are ratcheting up their efforts considerably. The most recent example is serving subpoenas on Investment Banks that were involved in the IPO of gambling sites, even though those Banks have offices in London where the companies they brought public are legally listed!

Anyway, that’s not the purpose of my rant, nor how “they” cost me $40!

I’ve mentioned Poker as one of my hobbies in the previous post. Online poker is actually not even illegal according to Federal statutes (if I understand correctly). Some states consider it illegal, others explicitly consider it legal!

What is clearer is online “sports” wagering. No one considers that legal, at least not in the US 😉

I admit that I play a “little” football online. I risk $10 per bet. If I lost every single bet I ever made (which would be an amazing feat, even if that were my goal!), I would still be able to feed and clothe myself (at least I’m pretty sure I would).

Because of the aforementioned “ratcheting” by the Feds, my favorite (and only) sports betting site decided to shut off US citizens. It took me all of 5 minutes to move my money out of their site and into another one.

Unfortunately, I hate the UI of the new site (intensely!). I even complained about it to my godson. I consider myself both a power user as well as extremely careful when it comes to this type of activity.

So, yesterday, during the NFL Championship games, I placed 4 $10 wagers. The Bears -2, Over in the Bears game 42 points, New England +3 and Over in the New England game 47.5 points.

At the end of the day, I was up $20 (or so I thought) since the only one of the 4 wagers that lost was NE +3 (which in itself was an incredible loss!).

When I checked my account, I was down $20! What? Turns out that I didn’t bet either of the Overs. Instead, due to their awful UI, I accidentally bet on New Orleans to win outright, and New England to win outright as well… So, my two “winning” wagers were both losers. A $20 win turned into a $20 loss, all because of a horrible UI, and the Feds zeal at “cracking down” on my “addiction”…

Ironically (I love ironies), if New England had won (as it appeared they would), I would have made a nice amount, because I was getting +150 (for those of you who know what that means) 😉 on that bet.

That’s a mistake I will never make again.

Ancient Laptop Frustration

Send to Kindle

OK, since I’ve decided to blog a little, I may as well start with something that is driving me nuts. After all, the point of this is to attain a little catharsis (at least, that’s my point).

My current laptop (now 2 years old) is a Sager NP8890 Force (this model is no longer available), purchased from PowerNotebooks. While it has nothing to do with this post, I’ll digress and say a few words about Sager and PowerNotebooks.

Sager (the “g” is soft, as in “rage”) makes excellent notebooks, and I couldn’t be happier with mine. I also purchased 2 others (models NP4780) for my wife and my godson. Mine still keeps me happy (very beefy), especially the 16″ LCD (can’t find them nowadays!), which gives me 1600×1200 in a normal LCD (meaning, not the short, wide-screen varieties). The only downside to this laptop is that it weighs as much as a refrigerator (seriously, it’s something like 12 pounds not including the toaster-oven-sized power-brick, etc.).

The weight of the machine is what brings me to this frustrating odyssey…

The second digression is about PowerNotebooks. A wide-variety of first-class notebooks, available at excellent prices, with fantastic customer support. Most of the models can be customized completely, so that you don’t pay for things you don’t want, but can get ultra-high-end things that you do. For example, in my Sager NP8890, I have 2 60GB 7200RPM drives (remember, this was 2 years ago!). I also purchased it without an OS, since I intended to put Linux on it (that lasted 6 weeks, before I bought a copy of Windows XP and reverted back to the joys and problems that come with that choice…).

OK, so on to the real point of this post. I travel a lot for business, and spend way too many nights in hotels. When the travel is to Zope Corporation, I often leave the Sager in the office, since it’s such a bear to pack up and lug back and forth. It’s definitely not a “laptop”, it’s a complete traveling super-computer ;-). It needs a separate “bed tray”, etc., in order to really use it comfortably in a hotel room.

I’m not the crazed workaholic that I was for the longest time, and I can now truly relax when back in the hotel room. That said, two of my preferred methods of relaxation still involve a computer:

  1. Online Poker (yes, I’m annoyed at the Washingtonians who think they’re saving my soul by making it harder for me to fund my account)
  2. Watching my home DirecTivo via my Slingbox

As much as I like #1 and #2 above, I simply don’t hassle with dragging the Sager back-and-forth in order to enjoy them, so I simply exercise and watch cable tv in the room 🙁

Then one day at Zope Corp, I noticed that they had an ancient Dell Latitude LS400 (from 2000, with 256MB Ram, 20GB disk, 12.1″ Screen). I asked if it was “available”, and indeed, it was. Why? Because it mysteriously “halted” too frequently to be useful.

I should have just accepted that the people at Zope Corp are as techy as they get, and if this machine were rescuable, they would have figured it out. But noooooo, I had to display my typical macho tech tendency to bull through any problem (admittedly, usually with success) 😉

So, I bravely took the machine home. It kept dying on me too with the installation of Windows XP which was on the machine. The theoretical reason is a broken hinge on the display (it appears to just be “cosmetic”, as the lid opens and closes nicely). I installed Ubuntu on the machine. It definitely stayed up longer, but still, on occasion would just halt. In both Windows and Linux, it never went through any kind of disk check on restart, and no data ever seemed lost, etc., so the entire experience was a little bizarre.

I ended up not using it as I had intended, and relegated it to a “spare” browser-based machine for people who visited me in NY who wanted to check their email, etc. It worked reasonably well for that, except on the occasions where it chose to just die…

A few months later, I had a “brainstorm”, and decided to check the Dell site for any Bios updates. Sure enough, there was one update, which had this tantalizing tidbit in it:

Issues Fixed:
1. Fixed System intermittently shutdown issue on W2K.
2. Modified the help text on Battery Auto-Learning page.
3. Fixed an intermittent standby / resume issue when RBATT drains completely.

Oooh. #1 sounded like I might be in luck! Of course, now I was about to descend into a new level of computer hell. The only way that you can flash the BIOS is to boot from a floppy. This laptop has no floppy, and I don’t have an external one either (USB or otherwise). I have an external CD/DVD drive that connects on the backplane. After a number of twists and turns, I was able to transfer the floppy image to a CD image on my Sager, and then boot off the CD on the Dell, and the BIOS flashed correctly. Yippee!

I then decided to put Windows XP back on the machine, since Linux was useful as a browser-based machine, but it doesn’t have a client for Sling or Poker (at least not my current site). After the many hours of loading it all on, applying all of the updates (painful over a WiFi connection), and the inordinate number of reboots involved, all with the machine “up and running” throughout, I thought “OK, this odyssey was worth it, as I’ve finally come to where I wanted to be!”.

To make a long story even longer, the correct answer was “Bzzzzzt”. When I launched SlingPayer, it worked fine and I was happy. However, when I installed and tested the Palm Desktop software from Sprint (which was necessary in order to install Sprint PCS Connection Manager so that I could get high-speed access via my Treo 700p phone), the system crashed. Not only that, but it crashed every single time at the same point during the install, which was when I clicked “Install latest settings from the Internet (Recommended)”.

After 3 failed attempts, I installed the Palm software without the Internet update, and it installed fine. After a reboot, a check of the Sling Player yielded an instant crash. Three more times with the same results (with a boot in-between each attempt).


Clearly Sling Player hadn’t moved on the disk, so it was unlikely that there was a bad spot on the disk where the app was installed. OK, perhaps memory related? I rebooted with a CD with a Linux Memtest86 app on it. 2 hours later, after 3 successful rotations of all of the memory tests, it would seem that I didn’t have a RAM problem.

I then ran a Windows XP “Checkdisk”, which can only be run on a fresh boot. It appears to check every sector of the disk, because after checking all “files”, it also checks all “free space”. All 5 “phases” passed without any errors.

So, the memory appears to be OK, and the disk appears to be OK, but somehow, the machine isn’t stable. This is with both Linux and Windows XP on it, so it can’t be as simple as “it’s the OS stupid”.

I tried running Sling again, and it loaded fine (after some more XP patches). It came up fine, and I was watching TV for roughly 30 minutes and then the machine halted again, with no new activity other than the continuation of the Sling session.

I gave up…

The only thing left to do, which smacks to me of “superstition”, but might end up working, is installing Windows 2000 on the machine. After all, the BIOS update specifically states that the random crashes are fixed on Windows 2000, not Windows XP (which isn’t mentioned, and therefore likely isn’t supported).

All that said, I also found used Dell Latitude L400’s for sale for $299 plus shipping. Seems like a high price to pay for such an outdated laptop, but it’s also a very nice “package” for what I want. Ideally, I’d buy an OQO or a Sony UX280P, and I probably just should bite the bullet, but they are so expensive relative to the L400 that I’m having a hard time justifying it…

Anyway, for now, I’ll just suffer along (after trying the Windows 2000 install, of course) 😉


Send to Kindle

I’m Hadar Pedhazur. My current profession (if you can call it that) is Venture Capitalist. I spend the majority of my professional time working with/at one of my portfolio companies, Zope Corporation.