Nous pensons, donc nous sommes
In unrelated news...
Lukasz Kosewski, Tuesday, March 16 2010, 08:12
It appears that if I view my own entries without signing in, there are ads in my journal.
ADS.
In my journal.
Despite years of ad-free service, it appears that Russian management is the same in this day and age as during the 18th century: expansionist, imperialistic, and willing to stamp their dominance on people.
Well, thankfully, I'm no longer physically in Poland, but in Canada, and this gives the opportunity to evade my would-be Russian dominators.
Be advised that my search is on for an alternative blogging service, where I won't be fettered with bullshit ads.
I will attempt to transport my old entries there; in the event that I'm unsuccessful in any mass import, I'll leave this journal up as an archive and merely post new entries elsewhere.
After 9 years here, this is how they treat me. Fuckers.
The B.C. HST initiative: stop believing the rhetoric and think for yourselves
Lukasz Kosewski, Tuesday, March 16 2010, 07:49
That does it. Today, I received something like the 500th invite to join some dumbass Facebook group from wannabe concerned citizens attacking British Columbia's initiative to enact the HST. Instead of actually joining such a group, nor joining a group that says "stop fucking bugging me with your misspelled and ignorant pleas," I decided to take time out of my day, yes, time that could be spent doing something actually productive, to read all about the HST in BC, and actually figure out whether it's worth bitching about or not. I admit; my initial bias was in favour of the HST, if only because the documents I saw from the government had actually passed by an editor who wasn't a semi-literate tree-hugging malcontent. That said, I attempted to examine all the evidence as best I could.
If you're not from British Columbia, or Canada at all, or you are from British Columbia and are an apathetic social mooch, here's the deal, in summary.
In general, if you live somewhere in Canada, you have three government structures above you: a municipal government (your city), a provincial government (Canada is split into ten provinces and three territories), and our Federal government (one ring to bind them all...). Each of these generally has a corresponding set of taxes that are levied for various services. This debate concerns (as it pertains to the province of British Columbia, or 'BC') the merging of the BC Provincial Sales Tax (PST) with Canada's Goods and Services Tax (GST) to create a new Harmonized Sales Tax (HST).
The idea is premised on a similar transition that the Canadian provinces of Nova Scotia, New Brunswick, and Newfoundland made in 1997, an operation evidently deemed successful by the BC government. Despite the apparent success, it's impossible to simply deduce whether BC's transition will be successful, since each province administers its own version of the PST differently, and, as such, the effects of a transition will be different.
I aimed to discover whether BC's transition plan is actually solid.
I'm not going to go into my research or reading about the Atlantic provinces and their transitions, because, as I state above, it's not terribly relevant. If there's a reference which is relevant, either factually or to support a point below, I'll include a link, but for the most part, let's look just at the facts as they pertain to BC's situation.
Very basically, the current GST rate on applicable goods in Canada is 5%. In BC, the PST rate on applicable goods is 7%. Therefore, the set of goods to which both GST and PST applies in BC is taxed at 12% (each tax is applied to the retail price, and not to the retail price plus one of the taxes). The main argument which makes adopting an HST in BC 'bad', it seems, is that the HST will make the union, or entire set of items, which were previously exempt from PST but not from GST, charge 12% instead of 5% tax.
In short, this is a tax hike.
That said, this is pretty much where the average Joe's cognitive abilities have ended. Time to go out into the streets and riot, you slack-jawed yokels! This level of comprehension negates the full breadth of the situation. No government would levy new taxes at a time when they could do immense harm (has anyone heard of our economic recession? I'm sure Gordon Campbell has.) just to piss people off. Well, how are they justifying this, then?
The government, in the usual manner governments tend to do, put out a very consistent but enthusiastic website on this issue. You can find it here. To prevent you from needing to wade through propaganda, I summarize the main motivations they state for the HST (colour commentary provided later):
- the HST will be a value-added tax (VAT), rather than the PST, which was a sales tax. More on this distinction later.
- the government ministry responsible for handling PST collection will be downsized and folded into the Canada Revenue Agency (CRA), reducing the 'heavy foot of government', as it were.
- the above bullet means that businesses will only need to remit and keep track of one set of taxes and remittance dates for collected taxes.
- as a result of the transition to a VAT and simplified administration, they expect a lot of savings for businesses, which will translate into job growth.
- in addition to job growth this way, they expect VAT to cut effective marginal tax rates on capital, which should stimulate monetary investment, particularly into industries with high capital purchase requirements.
- as a result of sales tax transitioning to VAT, they expect consumer item prices to go down over time (explained a bit later).
- ... if all that wasn't enough, to offset the increased taxes from formerly PST-exempt items, and riding the lowered administrative cost for the provincial government, there are planned tax cuts, in the form of lowered income tax and tax rebates.
OK, that's the summary. How do they envision this is going to work? First, let's explain the big difference between sales taxes and VAT. A sales tax is one that's applied at the point of sale on an item that's not being resold. What does that mean? It means that if I'm running a hardware store, a hammer, a tool which I purchase and resell to you (the consumer), I can buy without paying a sales tax. Paper on which I print my receipts, however, I have to pay taxes on, since I am the end user of the paper. When I sell you the hammer, I charge you sales tax on it, and remit that to the government. Effectively, this means that I, as a business have to cover the cost of my inputs (in my example, the receipt paper and the hammer) as well as the sales tax paid on my inputs (the sales tax on receipt paper).
In VAT, what I remit to the government is the difference between my input taxes and my output taxes. In the example above, I pay VAT on both, the hammer and the receipt paper. I also charge you, the consumer, VAT on the hammer when you purchase it from my store. However, what I remit to the government is the difference between what I charged you in tax, and what I paid. This means that, assuming that my taxes collected outweigh the taxes I paid, I only have to cover the untaxed cost of my input items as a business expense.
This has very interesting consequences down a long supply chain. Let's look at a very, very fictional example involving 3 companies:
- a company which sells paper (for receipts, work, etc.)
- a lollipop maker
- a pen manufacturer where the employees eat lollipops
First, a sales tax example. The paper manufacturer sells you paper. Let's assume that $1 of paper is required (for whatever administrative reasons) for the lollipop maker to create a lollipop. Assuming a sales tax rate of 10%, the paper manufacturer will sell it to the lollipop manufacturer for $1.10 ($1 + 10% of $1). Let's assume, for simplicity, that this was the only input cost on lollipops (impossible, I know, but just bear with me). The lollipop manufacturer wants to make a profit of 50% on his lollipops. He paid $1.10 for the raw material for his lollipop, so 50% is $0.55. He thus sells lollipops to the pen manufacturer for $1.82 (($1.10 + $0.55) * 1.1). The pen manufacturer marks up and sells pens to make $0.30 profit per pen. In order for this profit to be there, all of the input costs need to be covered. Suppose that the workers work for free, and one worker makes one pen, and for every pen, he eats one lollipop. Then, the cost of the lollipop is the input cost to make the pen. The pen maker paid $1.82 for the lollipop, so he charges you (the consumer) $2.33 (($1.82 + $0.30) * 1.1) for your pen. At the end of the day, the government gets $0.10 from the paper manufacturer, $0.17 from the lollipop manufacturer, and $0.21 from the pen maker in remitted taxes, for a grand total of $0.48, and you're out $2.33 for your pen. The paper maker made $1, the lollipop manufacturer $0.55, and the pen maker made $0.30.
Now let's look to see if VAT was in place, and the stores had the same motivations. Again, assume a VAT of 10%. The paper manufacturer is still selling his wares for $1 + 10%, or $1.10. The lollipop manufacturer wants to make a 50% profit. He knows that, since he's going to mark up his item, ie. 10% of his cost of sale will be greater than 10% of the cost of his inputs, he can disregard the tax he paid from his 50% profit calculation. Thus, he sells a lollipop for $1.65 (($1 + 50% of $1) * 1.1). The pen maker, wanting to make $0.30 on the sale of their pen to you, knows the same thing, so they charge $1.98 (($1.50 + $0.30) * 1.1), assuming a similar situation as above regarding total input cost of the pen. The end result? You're only out $1.98, saving yourself some money from the previous example. The government gets $0.10 from the paper manufacturer, $0.05 (= $0.15 charged - $0.10 paid) from the lollipop manufacturer, and $0.03 from the pen maker (= $0.18 charged - $0.15 paid), for a total of $0.18. The paper manufacturer made $1 in profit, the lollipop maker made $0.50 (= 50% of his costs, his goal), and the pen maker made $0.30, as they desired. Everybody won, except the government, which got less money than the previous example.
Most importantly, the example above illustrates that you the whiny consumer claiming they get taxed too much, actually saved money with VAT in place, because manufacturers were able to offer lower prices throughout the supply chain and still meet their profit goals. Let's say that each of our manufacturers wants to make an extra $0.02 in profit. That translates to roughly $0.07 in cost passed on to you, for a grand total of $2.05, which is still cheaper than the sales tax example. However, these companies each now have an extra $0.02 to invest into expanding their operations, and new hires.
That was the long example. Further ones should be shorter. Regarding the folding of the body administering PST into the CRA, well, once you get rid of some office assistants and redundancy in personnel between the CRA and the BC tax collectors, you save salary money. The important part for businesses here is that rather than keeping track of two filing deadlines, and hiring accountants to remit and calculate two sets of figures (GST and PST), only one set needs to be calculated, saving the expense and overhead of administrative calculation. Personally, as part of the management team at EQL Data, I can tell you that government remittances are no fun, and keeping track of them is a pain. Less time wasted on this overhead means more money which can be spent on hiring people and invested back into the company.
Regarding the argument for HST implying increased investment, in a very long-winded report the government commissioned on economic growth, the main argument is that the tax cut will help lower the marginal effective tax of capital, which will promote investment. What does this mean? Suppose that I'm a mining company, and I'm thinking of getting investment for a new drill. The investment only makes sense to me if my return on the drill (after I pay the government) is equal to my cost of funds for the drill. Let's suppose here that someone is willing to loan me money at 5% interest. The drill only makes sense if my return on it is 5% of the purchase price. Amongst other things, the report goes on to say, sales tax means that my return must be higher than the VAT case for me to be able to justify the expense. In my example, if my sales tax is 10% (and say this is the only government cost), then my drill actually has to make me a 5.56% return such that I can justify taking the loan (since 5.56 - (10% of 5.56) = 5). In the case with VAT, assuming that my sales are good, I may be able to completely write off the government cost, so that it makes sense for me to buy the drill even if it only makes me a paltry 5% return on its cost. Modern economics seem to generally agree that the marginal effective tax of capital is a significant factor for companies when looking to make investments.
Why would anyone think any of this is bad, then?
To that, we turn to the most organized contra-HST site I could find, and the main one pushed by counter-HST "proponents," if I can call you drooling apes that. For the purposes of objectivity, I will ignore the fact that a video starring Mr. Bill Vander Zalm adorns the front page of this site, and try to skip to the main arguments the site pushes against HST. Please feel free to email me more (lkosewsk małpa gmail.com). The arguments are:
- a number of goods which were formerly PST-exempt will now incorporate full HST, including (prominently) funeral home services and restaurant meals.
- marginal effective tax on capital is not an effective measure of corporate desire to invest, thus HST will not make a difference in actual business capital investment.
- the HST structure shifts tax burden from businesses (which, as in our example above, don't pay as much tax) to consumers (due to the non-PST exempt items costing extra).
- similar effects to the HST on business could be had by just eliminating the PST on capital investments.
- no public consultation before deciding to implement HST.
- even if the HST helps some businesses, does the help offset the damage done to the restaurant industry as a result of higher food prices?
- HST will cost an 'average' BC household an extra $2100/year.
- the HST removes BC's constitutional right to set and collect provincial sales taxes.
- the Liberal government (in power in BC) promised not to implement the HST.
- BC's economy is struggling, and the extra tax will hurt the economy further.
Hm. That seems like a pretty significant list of complaints. Let's attempt to discuss them all to see their validity.
Of course some services are going up 7% in tax. That was openly admitted. Unless these businesses are already earning less in revenue than they pay in input costs, though, the math we did above demonstrates that, in fact, their prices can be lowered, and their profit margin remain the same. It's difficult to calculate whether or not their prices can be lowered to offset a 7% tax increase right away, because that depends heavily on their supply chain, however, so we can't draw many conclusions there.
One thing we can attempt to work out is whether, assuming no change in consumer habits (which is unreasonable, because you can, in fact, assume consumers won't eat at restaurants so much if the prices are higher - mind you, in Canada, the taxes are not included in the prices listed on a menu, so the effect of the migration away from restaurants is also rather hard to flat-out predict due to human psychology), if the 7% tax increase in certain goods will actually hurt the BC consumer.
Here are some of the offsetting rebate initiatives planned by the government to counter the increased tax:
- No effective tax increase for hospitals or schools (link).
- Gasoline, books, diapers, and residential energy consumption are amongst the new items designated as exempt from the 7% portion of HST (link).
- Something I personally find very interesting: under PST, the private resale of used goods was subject to PST (mentioned here). Despite the fact that this was often overlooked by the government, reselling items (ie. homes) and not paying the government PST was actually tax evasion. For the purposes of more realistic laws, and fairness, HST is not being applied to the sale of used items (link, with regards to home buying. The link also discusses rebates on purchases of new homes - which are subject to HST)
- Despite the fact that this is probably backpedaling on their part to retroactively justify some tax cuts, they claim that tax credits for low income families (link) following general income tax reductions and increases in the basic personal amount for BC residents (link) are related to HST.
Alright, so some of this sounds like retroactive justification and flailing. But certainly, measures like the recently-introduced no HST on residential electricity sound good to me. I guess what I want to say with the above is that the figure of "$2100 increased cost for the average home" is probably just as made-up as the claim that BC's capital stock will somehow jump by $14.4 billion by 2020 because of this initiative. It's hard to say, without accurate income figures and other expenses, whether the raise in tax, balanced by cuts and rebates, will actually impact a person's real salary, particularly if the prices for products go down (and, in a properly fostered competitive environment, it's not impossible for them to do so).
There is more to explore. On the topic of public consultation regarding taxes: I'm glad the government didn't, frankly. Though I am very anti-totalitarian (unless I'm the tyrant in power), the amount of idiot opinions about the economy I hear every day from you flaks leads me to believe that it's very good none of you were consulted about tax structures. Nor do I care about the Liberals' promises not to invoke the HST... if I promised to never drive a car, but then broke my promise one day because you needed a lift to the hospital, you probably wouldn't be bitching much. There are valid reasons to break promises. As John Maynard Keynes put it: "when the facts change I change my mind. What do you do, sir?"
Where was I... marginal effective tax on capital. I personally don't buy the argument that it doesn't help with capital investments, if only because the one author who makes the claim also makes the claim that PST reduction could have been explored. That's terribly fishy to me, since PST reduction on capital also equals a reduction of marginal effective tax on capital. Are you for or against, friend? I don't know, but your argument here is on very slippery ground. This concept might actually be the very undoing of the whole "restaurants will go out of business if they have to charge 7% extra for food" argument. Consider; all restaurant expenses, from noodles to new chopsticks, fridges, tables, etc., can be written off of their HST in a way that PST never could be. While I don't own a restaurant, and am hard pressed to give you accurate figures into the running of restaurants, my hunch is that this 7% raise could be forgotten if food prices on menus start dropping (again, because tax prices are not included in menus on BC). The psychological effects alone could *increase* restaurant business.
This covers almost all the points I've seen against HST, with the exception of sales tax as a BC constitutional right (which you either care about or you don't, and I happen to sit in the latter camp). It's now 3:48 AM, which means I've spent far too much time sitting around writing this, and it's so long I doubt you'll get to the bottom of it. It has a bottom line though, which is really my plea.
Stop joining stupid anti-tax rhetoric without understanding the full ramifications of what's happening first. Governments don't take the decision to change tax structures lightly. Perhaps there is benefit in this for you after all.
EQL Data March Newsletter
EQL Blog, Thursday, March 11 2010, 16:46
Hi everyone,
You or somebody else subscribed your email address to the EQL Data newsletter. We send it about once a month. If you don't want to receive it anymore, please reply and let us know; we'll take you off the list right away.
In this episode:
- Testimonial of the Moment
- Newer, faster, chunkier syncs
- Process isolation and your keyboard focus
- Zero-downtime server upgrades
- Automatic login screens
- 97% more fun than that other guy's newsletter
Testimonial of the MonthMoment
Here's a great quote that just came in a few days ago:
I was thinking about a design for a new multi-user Access project that I have been asked to build for some time. EQL OnWeb gives me the motivation to build it now. The technology is simple, straightforward, and easy to update. The barrier between desktop and web has finally been broken.
-- Brad Durbin, Credit Detailer, LLC
When we started EQL, we figured people would take their existing Access applications and put them on the web. But it turns out that most EQL customers want to do a major overhaul or make something totally new.
Our print-to-pdf reporting feature leads people to imagine new user interfaces. Some people want to add custom login screens. Others take the fancy graphics out of their Access app so that it embeds more seamlessly as a small part of their company's web site - which already has fancy graphics.
We love the fact that EQL gives you new ways to work with Access. That's what we're all about!
Newer, faster, chunkier syncs
One new EQL plugin feature we're especially proud of is called "chunk-based database synchronization." That's a complicated way to say that if you change a small part of your form - for example, moving or resizing an image - and then resync, you don't re-upload the entire form. You only upload the parts of the form that have changed. With big forms, that can take your sync time from several minutes down to several seconds.
Chunking even works if you move an image from one form to another, or from one database to another!
If you want to know the gory details of how chunking works, you can read about it in this blog article.
Process isolation and your keyboard focus
In the last month or so, more and more people have reported a weird problem that screwed up your keyboard focus. You'd be typing away in your OnWeb session, and suddenly your input cursor would disappear - and you'd have to click in the window before you could resume typing.
Some people saw this problem a lot, and some people not at all. We had a lot of trouble replicating it down here at EQL. What we found was your keyboard focus wasn't disappearing, it was being stolen by another instance of Access altogether! The busier our servers got, the more it would happen.
To fix it, we had to do what we call "process isolation." It was a lot more work than it sounds like, and we apologize for the delay in getting it out to you. But the problem should be gone for good.
Zero-downtime server upgrades
Process isolation also brings us another great feature: zero-downtime server upgrades. In other words, we can now upgrade our EQL server software even while your OnWeb sessions are running.
Once upon a time, we used to imagine that most EQL OnWeb users would be in North America like us, and would go to bed at a reasonable hour. So we (or rather, our night owl sysadmins) could just upgrade our servers in the middle of the night, right?
That was true at first, but nowadays there are people using OnWeb 24 hours a day, 7 days a week, and the middle of the night for us is the middle of the day in Australia or Singapore. There's no good time for downtime.
Easier server upgrades mean we can deploy bugfixes and new features even faster and more frequently than before, and all the servers in our cluster will always be on the latest version. That means your problems get solved faster. Enjoy!
Automatic login screens
A lot of people have asked us how to make sure users can't access their database without logging in. One way is to build your own login form in Access, which gives you total control. But if you want something a little quicker, check out our knowledgebase article about the EqlUsers table. It's a new feature that might save you some time.
And the rest...
Since last month, we've made more little tweaks and improvements to EQL than we can count. (Actually our tracking software counts them for us. There are exactly 127.) All that put together has finally made us confident enough to raise our software version number to 2.0.
All those great improvements are only possible thanks to your feedback. Every day more and more people start using OnWeb for their databases, big and small, and we love to hear how our product works for you. Please feel free to reply to this email or send a message to info@eqldata.com. Or request features (and vote on them!) by visiting http://eql.uservoice.com.
Have fun,
Avery Pennarun
Co-founder, EQL Data Inc.
(If you want to unsubscribe from this newsletter, please just reply to this message and say so. We'll remove you right away.)
Waking up on March 1, 2010
Lukasz Kosewski, Tuesday, March 02 2010, 05:08
I don't actually recall the amount of time I slept the night prior, but it couldn't have been more than 7 hours, and was probably objectively less. John called me at 3:06 AM to ask if I had seen Victoria's cell phone anywhere, and I snoozed through the call and passed out contentedly.
Wait a second. I don't have any friends who spell their name "John." And the only Victoria I know is Julian's cousin. What just happened, and why were these people at my house? Why am I referring to them on a first-name basis?
This spontaneous meetup, my friends, was the result of Canada's gold-medal-winning performance on the ice at the culmination of the Vancouver 2010 Olympic Games. The bars poured out, including the one I was at with my Waterloo crowd (the name of this bar was Lou Dawgs, and if you're a fan of Louisiana-style cuisine and reasonably inexpensive beer, it's not a half-bad place). Where were we headed? Who knew!
What mattered was that we had done it, our national identity boosted by winning at the sport that forms the basis for over 50% of Canadian stereotypes. By winning more gold medals at a Winter Olympics than any other nation in history. It was us, we pulled as a team, we willed Crosby to score, and he did not disappoint us. Now the wait was over, we had every right to celebrate, and celebrate we did. We danced, we yelled, we sang. As traffic in downtown Toronto ground to a complete halt we kissed, shook hands with, and celebrated with the drivers, we conglomerated in the (commercial) heart of our fair city, Dundas Square, wherein we, as Canadians, celebrated our identity and cheered like it was nobody's business.
We waved flags. We waved clothes. The party lasted for a long time. Consider that, in Eastern Time, the game began at 3:15 PM, and that we had hit bars at 2:00 PM just to get a seat... give the game 3 hours, and you've got about 12 hours of drinking intermingled with 9 hours of uproarious cheer and love.
This morning when I woke up, I could hardly believe it had even happened. A Service Canada representative was at my door at 10:00 AM to verify my identity and get EQL Data signed up for filing Record of Employment forms online rather than using paper filings. He was crisp, professional, and when I asked him if he had celebrated last night, he shrugged his shoulders and mentioned that no, he hadn't really been out very late. He looked a little put-off by the state of my living room, what with several bottles of vodka scattered precariously over the foosball table, the whole house smelling of hops and lees, and jackets and blankets draped over every piece of furniture. Courteously, he mentioned that his other colleagues might not consider this a very professional meeting.
Throughout the day, this bizarre obliviousness to the happenings of February 28 only deepened. Kat said it best in a text message: "Vancouver was a gong show! Love it. Back to reality today, fuck." As I took a subway later that evening to visit Liz, reality really depressed me. Older women who smiled happily and whose cheeks I would jubilantly kiss last night leered at me from beyond raised copies of Metro, disapproving of my tattered jeans and unkempt haircut. Professionals in suits sat quietly playing with their BlackBerry phones, when only yesterday they would high-five and whoop. Girls who flung their arms around you and danced to the tune of being Canadian stood bundled up in their coats, nodding along silently to their headphones. The train was quiet and demure. We were no longer Canadian, all sharing in the full joys of this word, we were girls and boys, we were white, black, Asian and brown, we were rich, poor, we were professionals or plebeians.
The jubilation, the love, the exuberant joy was gone, we were back at work contributing to our GDP or lost in our own problems.
After a quiet dinner spent enjoying shawarma sandwiches and x-rays of Liz's new hand-bone fractures (acquired in an inebriated game of soccer during the post-Olympic gold celebration), I went home, demure and introverted, reluctant to leave the emotion of yesterday behind, but not wanting to immerse myself in what was only a dream.
As I walked up the stairs from St. Patrick station towards University and Dundas, I was quietly whistling O Canada to myself. As I passed a boy and a girl going in the opposite direction, the boy suddenly excuses himself, turns towards me, and begins to match my tune, our whistling finding a common octave. I turned around and, for what was probably the first time today, smiled broadly. Ironically, this ended our duet, but just for a moment, we had both connected, and our eyes relived the magic.
Maybe it wasn't all a dream.

Olympic gold medal hockey game, Vancouver 2010 Winter Olympics. Canada 3, USA 2 in OT. Thanks for the memories.
(The photograph is courtesy of Steve Gircys, whom I bumped into late into the evening. You can also see that even our hockey game can't get in the way of my mildly leftist agenda.)
EQL OnWeb 1.9.7cp Released
EQL Blog, Monday, February 22 2010, 01:44
Canada drops a hard-fought hockey battle 3-5 against the U.S.A. - congrats to our American users! We'll see you again in the Olympic playoffs! While they continue to party at Robson Square in Vancouver (congratulations to Kristina Groves of Ottawa, ON for a silver medal performance!), we in Toronto and London, ON have used this Olympic season to work on OnWeb.
To that end, all of you win.
EQL OnWeb client/server version 1.9.7cp ("Syldênia") is a mainline release incorporating a lot of back-end optimizations and changes, and a number of new features.
- Fixed "Timeout (client side)" messages in EQL client which required retrying synchronization.
- Fixed Access-triggered issue in activating a new database for OnWeb with the EQL client.
- Support more queries for EQL API viewing and filtering.
- Greatly speed up filtering views of tables and queries using EQL API.
- Added support for HTTP(S) authentication for OnWeb sessions and administration pages. See our authentication FAQ for details.
- Increased support for synchronizing Access 2007 queries and forms to OnWeb servers.
We encourage all subscription-based OnWeb users to upgrade to plugin version 1.9.7cp via the URLs you received in your download confirmation email. If you've deleted or lost the email, please don't hesitate to contact us to get your link emailed to you.
OnWeb appliance users: this upgrade is available via WebConfig. If you have enabled automatic updates, it will self-update within the next 24 hours.
EQL OnWeb 1.9.6g3p Released
EQL Blog, Tuesday, January 26 2010, 02:37
The Vancouver Canucks beat Buffalo 3-2 in a poorly-refereed game tonight, Henrik Sedin stays atop the candidates for the Art Ross trophy with 76 points, and Luongo continues making a case for himself as the starting goalie for Canada's Olympic team.
Meanwhile, you get to win too.
EQL OnWeb client/server version 1.9.6g3p ("Lukowich") is a patch release which features the following tweaks:
- Better support for some builtin buttons present in Access CommandBars and MenuBars. Databases with these buttons will now properly synchronize and run in your browser using Access OnWeb.
- VBA References generated in the correct (priority, rather than lexical) order, which means declarations like "Recordset," which could map to ADO.Recordset or DAO.Recordset depending on the order of declarations now do so correctly.
- News articles such as this one will no longer run off the right-hand side of the screen in any browser.
We encourage all subscription-based OnWeb users to upgrade to plugin version 1.9.6g3p via the URLs you received in your download confirmation email. If you've deleted or lost the email, please don't hesitate to contact us to get your link emailed to you.
OnWeb appliance users: this upgrade is available via WebConfig. If you have enabled automatic updates, it will self-update within the next 24 hours.
EQL OnWeb 1.9.6g2p Released
EQL Blog, Sunday, January 24 2010, 16:43
In order to keep everyone better notified of changes we're making, we're going to start posting some of our changelogs for external OnWeb features here, so that you can more easily take advantage of the new features we're putting into OnWeb to serve Microsoft Access databases online and turn them into full-featured web applications.
EQL OnWeb client/server version 1.9.6g2p is a patch release which features the following tweaks:
- Better handling of table data fields with embedded newlines during synchronization and when merging data modified via OnWeb.
- Handling of labels whose "Hyperlink Address" property is an email, of the form 'mailto:user@domain.com'. Clicking on these labels in OnWeb now brings up the system's default emailer to handle the mailto.
- The first OnWeb session after a Synchronize operation from the client will no longer erroneously claim that data changed if it did not.
- (Internet Explorer 6/7/8) changed layout of OnWeb administration page so that OnWeb revision history doesn't run off the right-hand-side of the page.
- Empty database revisions no longer generated when multiple parallel OnWeb sessions are closed, and both did not change existing data.
We encourage all subscription-based OnWeb users to upgrade to plugin version 1.9.6g2p via the URLs you received in your download confirmation email. If you've deleted or lost the email, please don't hesitate to contact us to get your link emailed to you.
OnWeb appliance users: this upgrade is available via WebConfig. If you have enabled automatic updates, it will self-update within the next 24 hours.
EQL Data January Newsletter
EQL Blog, Thursday, January 21 2010, 01:07
Hello everyone,
If you're getting this, it's because you or somebody else has signed you up for the EQL Data newsletter. We send this out about once a month. If you don't want to receive this mailing anymore, please reply and let us know; we'll take you off the list right away.
In this edition of the newsletter:
- EQL Growth and Server Upgrades
- Future Presentations
- New Features and Projects
EQL Growth and Server Upgrades:
After the presentations and publicity work we did in December, there was an understandable surge of interest in EQL Access OnWeb over Christmas and throughout January. Then there was an explosion of interest. Then we needed to greatly expand our server farm in North America! Thanks, everyone, for a night of caffeine-induced upgrades and scalability development. Thanks also to Slicehost, our server farm maintainers, for a total downtime of only 9 minutes during the upgrade period. How amazing is that? If you need to host a site online, and need a site providing you with full customization and control options for a reasonable price, we've been super pleased with them, and you'd do yourself a favour to check them out.
The upgrades we performed should enable us to service incoming demand throughout January, and you should experience even more responsiveness with your OnWeb sessions! For those who referred others to us - thank you for your confidence and references; through your work, Microsoft Access is becoming a slightly more prominent platform for web application development all the time. Because of your efforts, we're looking into formalizing a 'partner program' by which people like you, who promote and help resell EQL's products, can reap the benefits of your time. If you have ideas on the formal implementation of such a program, or would be interested in participating, we're always listening at info@eqldata.com.
Future Presentations
After a month of presentations in December and early January, we decided that we really enjoyed going out, spreading the word about EQL, putting Microsoft Access on the web, and the satisfaction of discussing and promoting entrepreneurship as a profitable possibility for young students.
We already have a tentative promotional presentation scheduled for sometime in February at Conestoga College in Kitchener, Ontario, Canada, and if you would like to see the EQL team present in your area, let us know! Though geographical distances, costs and timelines might prevent us from making an appearance, we'll do our best to reach a mutually profitable arrangement.
New Features and Projects
The new surge of interest and customers we've seen has exposed the need for development in two key areas: scalability and ease-of-setup. Most of January was spent getting new customers up and running, and while there were a few integration issues which required careful coordination, most of the questions we fielded were ones to which we already had answers, but which weren't posted to our knowledgebase or news page, weren't present on the OnWeb administration page, or could have been supported better by the OnWeb plugin.
This means that for the near future, there will be a trickle of new features, while we work to improve the user-friendliness of OnWeb for new customers and beta trial agents, further develop our Access 2007 support, and extend the capabilities of the server software which powers OnWeb, to scale better on our own servers and OnWeb appliances.
Meanwhile, you may have noticed several new visible features as a result of these developments in the last short while:
- OnWeb supports many more fonts for your databases; notably, we now support Callibri, the default Access 2007 font. For a complete list of supported fonts, see our KB article here.
- The OnWeb administrative interface allows you to change the resolution of your OnWeb sessions; this feature was previously available only as a beta component.
- Alternate timezone support has been merged into production OnWeb servers from beta, and is available from the OnWeb administration screen.
- URL links in labels present in your Access databases now open in a new browser window/tab automatically, rather than showing up as clickable links above your active OnWeb session.
- Huge speedup in the verification and data merging time for Access 2003/2007 databases.
-
The ability to detect, using VBA, whether your users have logged in to OnWeb in 'Read Only' or 'Read/Write' modes, corresponding to the save-on-close parameter in the OnWeb URL. Now you can pop up messages warning users that their data changes will be disregarded, or alternatively use this feature to generate a 'Guest' URL. Using the following code, a value for x of '0' implies Read Only mode; other values mean Read/Write mode is enabled.
Dim x as String
x = Environ("EQL_SAVE_ON_CLOSE")
... as usual, we plan to keep rolling the goodies out. If you have feature requests or ideas for future OnWeb expansion, and how to better serve the Access community and put Access online, you can always respond to this email or contact us through our website, and we can see if the idea fits our development plans. We're glad that more people are enjoying OnWeb all the time, and we thank you for your continuing support and feedback!
Warm regards from wintery Ontario, Canada,
Luke Kosewski
Co-founder, EQL Data Inc.
(If you want to unsubscribe from this newsletter, please just reply to this message and say so. We'll remove you right away.)
The disappointingly ongoing success of WvDial
Avery Pennarun, Thursday, December 24 2009, 01:34
For those who don't know, I'm one of the original two authors of WvDial (Oh yes, that's a real Wikipedia link!)... back in 1998. WvDial and its spinoff C++ library, WvStreams (notably not a Wikipedia link), were the absolute first code written as part of Weaver, our startup's commercial product, which became Nitix (Wikipedia again, but article is outdated) and later Lotus Foundations (Wikipedia "stub" article).
The Wikipedia articles make a pretty good proxy for the comparative success of those programs. Another silly statistic I like is Twitter search (Lotus Foundations seems most popular in Japan at the moment).
Yes, yes, so WvDial remains popular. Yay us, right?
See, that's the funny thing. First of all, wvdial maintenance has been almost zero (not quite zero1) for most of the last ten years. WvDial has no GUI; it's purely a command-line tool. WvDial is a modem dialer and nobody uses modems anymore. WvDial is written in C++, which is generally unpopular for small tools and makes it ABI-unstable and bigger than you'd like. WvDial has no unit tests and so everyone is (rightly) afraid to change its rotting guts. And perhaps most oddly of all, none of the problems WvDial originally set out to solve are problems today.
This story is not a story of WvDial's awesomeness. It's a story of the open source world's pure unadulterated fabulous nonstop 12-year marathon of suck.
I tried Twitter a while back and I'm pretty much over it, but I do still subscribe to some Twitter search RSS feeds just in case anything interesting happens (it never does). Every single day, several people recommend wvdial to their friends. With comments like "wvdial always works, let me help you set it up." In multiple languages.
Speaking of suck, that Twitter search is how I learned that Ubuntu's most recent release(s?) have dropped wvdial from the CD in favour of NetworkManager. You can still download wvdial from the Ubuntu repo, except... whoops. You can't get online without wvdial. Because speaking of suck, NetworkManager apparently does. (I've never tried it; I haven't used a modem in years.) So we have people who can't get online, downloading the .deb files on another computer and moving them via sneakernet over to their laptop. And so on. People can't live without the thing. I would say they love it, but I still hope that isn't it.
Why WvDial was created
We originally created wvdial back in the late 1990's because setting up pppd 'chat' scripts was too annoying. At the time, a lot of dialup Internet providers required you to answer some menu items, log in, etc before you could start an actual PPP session, and every ISP did it differently... so everyone needed a different chat script. It was all gross.
The point of WvDial is that it would read the stupid inconsistent menus and prompts for you and answer them. For the first few versions, it failed almost every time. But we got lots of feedback from lots of people all over the Internet, and we fixed it. Eventually, it got to the point where basically nobody wrote to us anymore asking why wvdial didn't work with their ISP, even though thousands and thousands of people were downloading wvdial every month. (And that's just from us; we didn't have any stats on who installed it from a real Linux distro.)
But here's the thing. Windows 95 and later have a built-in dial-up PPP feature that doesn't even support anything like chat scripts. All they do is dial up and start PPP, and if your ISP can't handle it, well, that's too bad. Oh, there were ways of working around it, but they were gross, and it didn't take long before most ISPs abandoned their menu structures and just did things the easy way. In WvDial, we called the Windows 95 behaviour "stupid mode" since it was the opposite of wvdial's evolved, intelligent conversation style.
Unsurprisingly, some combination of Worse is Better and "everybody runs Windows" conspired to make wvdial's cutesy menu-guessing features completely obsolete. WvDial is, therefore, completely obsolete. Or so you'd think.
People keep using WvDial because everything else is worse
Why do people keep using WvDial? Well, it's hard to tell from a bunch of foreign-language 140-character Twitter posts. But I've observed the following: a) it's not for modems, it's for coupling to data networks via your cell phone and bluetooth that emulates a modem; and b) just things like detecting the right serial port, baud rate, and init strings, and redialing when you get disconnected,2 are apparently still big problems.
This all makes me extremely sad. First of all, pretending your advanced cell phone network is a modem, and thus bringing up questions like "should I use touch tone or pulse dialing?" and "do you think 19200 bps is fast enough?" and "what happens if I get a busy signal?" is a joke. Secondly, the fact that someone couldn't fudge up a bluetooth-cellphone interface for Linux that's more reliable than wvdial, even though wvdial was never designed for this use case at all, just really scares me. I mean, yes, I realized at the time that nobody had ever designed a tool like WvDial on any OS... but surely all the individual parts had been done before? You know, modem detection? Max baud rate detection? Init string detection? And now, more than 10 years later, surely someone has put the still-necessary parts together into a more sensible package? You know, maybe one with a GUI?
Nope.
I can't quite figure out what people like about wvdial so much; why it's the fallback that people still recommend to all their friends when Ubuntu/Gnome's default (GUI, at least, thank God) dialer can't take the pressure. I suspect it's just the fact that wvdialconf tries all your serial ports one by one to guess which one is right, rather than making you do it for yourself.
Perhaps I'll never know.
Happy birthday, WvDial.
(See also: other things that are still not dead.)
Footnotes
1 I haven't been involved in wvdial maintenance for quite a long time. Thanks to Patrick Patterson, Simon Law, William Lachance, and possibly others (Jim Morrison?) for keeping up with the maintenance over the years.
2 Okay, I admit it. WvDial's redialing support is pretty frickin' awesome. If you think about it, it's actually impossible to implement a redial backoff timer correctly using chat scripts. Do I don't think anybody else has even tried.
Allowing users to delete Windows files when they're open (in C)
Lukasz Kosewski, Thursday, December 17 2009, 05:15
Another day, another update. This is almost too frequent for me. Where do I find all this time? After a few presentations and such, things have quieted down a bit over at EQL Data, so I'm back to my "usual" (ie. maniacal) rate of development.
Every once in a while though, a person must reflect and write an entry about something nifty and new that they come across in the course of their work. Today, that new knowledge manifests itself in being able to delete open files in Windows.
First, a quick recap. Why would you want to do this? Let's look at a piece of code to find out:
int fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC); unlink(filename); // do stuff with fd, because the file still existsWhy on earth is this useful? Well, let's say 'filename' is a temporary file. It's going to get removed at some point in our computation, and, unless we have debugging code, chances are we have no need of this file even if our computation produces some kind of exception condition.
The method above is a very simple way of doing this without keeping 'filename' around for removal at the conclusion of the temporary file's use, or within an atexit() or signal handler. Moreover, it ensures that we won't have any issues with name clashes if we use functions like tempnam() or tmpnam() to create our temporary filenames for us.
Of course, it works because every modern operating system only actually removes a file when all open file handles to it are closed... until then, it simply removes it from its parent directory listing, thus preventing any other attempts to open the file.
Conclusion: you can see a use for this procedure. And, until recently, I thought it was impossible in Windows. Windows disallows removal of files if there are any open filehandles to said file, which sounds discouraging.
... that is, until I decided to port bsdsort to Windows.
Bsdsort happens to use the above algorithm in the creation of their temporary files (for intermediate radix sort stages and such), and, rather than decipher the logic of the program and figure out where to insert a manager for removing temporary files (not to mention handling their removal on all the testing errors I stumbled upon during porting), I took it upon myself to discover how to do this.
The key, it appears, is to use the Win32 API, since the POSIX layer for Windows happens to be missing these (new?) features. Let's see what the code ends up looking like:
int fd;
HANDLE h = CreateFile( filename,
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_DELETE,
NULL,
OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (h == INVALID_HANDLE_VALUE)
// handle error
if ((fd = _open_osfhandle((long)h, 0)) == -1)
// handle another possible error
unlink(filename);
// Go ahead and use fd, and check your filesystem: no 'filename'! ... ta da! What have we here? We've opened 'filename', and removed it... but our filehandle is still open! What have we done?The key, of course, is the call to CreateFile. You'll note, upon examining the MSDN documentation for CreateFile, that the third parameter is dwShareMode, ie. all the permissions you wish to grant other processes (and your own process) on this filehandle while you have it open. FILE_SHARE_DELETE is the crucial part of this equation... it indicates the obvious: this file can be deleted while you have it open. I won't go into the other parameters to this call: I suggest reading the MSDN documentation to match this function to your needs.
In order to obtain a POSIX filehandle for the corresponding HANDLE returned by CreateFile, we call the less-known _open_osfhandle, which gives us exactly what we want.
A bit of error handling later, and we've accomplished our goal: we have an open POSIX file, and 'filename' is gone.
Another win for team EQL. The next challenge was to port bsdsort to C++ (mostly to allow interoperation with the excellent WvStreams library)... but that's a story for another day!
EQL Data December Newsletter
EQL Blog, Wednesday, December 16 2009, 03:00
Hi everyone,
If you're getting this, it's because you or somebody else has signed you up for the EQL Data newsletter. We send this out about once a month. If you don't want to receive this mailing anymore, please reply and let us know; we'll take you off the list right away.
In this ongoing chronicle of our adventures:
- EQL Data Live at Conferences
- The EQL Blog and Documentation
- New Pricing: Reducing Variable Costs
- EQL Appliance Part Deux - Pricing & Development Models
- More Features for Your Buck
EQL Data Live at Conferences
Thanks to the tremendous support we've gotten from you, our friends, testers, and customers, EQL is getting noticed more and more. This made the months of November and early December exciting: we were invited to present at two conferences, showing off OnWeb and proving that Access is a viable platform for Web Applications.
First, some of you caught Liz and myself at the Westin Harbour Castle in Toronto, ON, Canada on November 21, talking to young entrepreneurs at the Impact National Conference. After wrestling the power cord away from the Sun Microsystems guys, we had a great time talking about how our product is not only an example of innovation gone good, but a platform upon which new entrepreneurs can prototype and build their own applications. Thanks to everyone who came out!
On December 9, I took our interns, Matt and Ashok, down to the Microsoft campus in Farmington, CT, U.S.A. to present EQL Access OnWeb to the Connecticut Access User Group. A big thank you to the group for inviting us down, and giving us two hours to show off and brag about everything we've made Access do. All of our customers will get to reap the benefits of the suggestions and feedback we received.
Want to promote EQL in your area? Know of a gathering you think would further EQL sales and feed us future growth ideas? Let us know, and we'll do our best to be there.
UPDATE: While I was finishing off this newsletter, we received an invite to present in Surrey, BC, Canada, to school district representatives about OnWeb, and to students at Guildford Park Secondary School about the challenges and rewards of entrepreneurship. The tentative date is set for between January 4 and 6.
The EQL Blog and Documentation
In order to consolidate the many news briefs and updates we create about EQL, we've decided to start a new EQL Blog, available at http://eqldata.com/blog. We also have an RSS feed for your syndication needs:
http://eqldata.com/blog/rss. The month of November centered a lot around documentation, and so we produced product overviews and pamphlets galore. More work is in the pipeline for publication, but you can see some technical documents highlighting the way OnWeb really works at http://eqldata.com/kb/1070/onweb-technology-overview. If you've been wondering how we designed a system packed so full of incredible that your Access databases materialize in your browser with no effort at all: this is where we answer such questions.
New Pricing: Reducing Variable Costs
One thing we haven't gotten around to announcing well is our new pricing structure. Based on your feedback, particularly regarding your concerns that OnWeb costs could spiral out of control if you have a sudden increase in your number of users, we've decided that an easier way to conceptualize and bill for OnWeb costs is to limit the number of simultaenous connections to your applications, and give unlimited usage time to those connected. The modified pricing structure is:
- $30/month for only 1 logon at a time.
- $120/month for up to 5 concurrent users.
- $200/month for up to 10 concurrent users.
We will cap your OnWeb database at your pre-paid number of simultaneous sessions and ensure that you pay a fixed rate every month - no overcharge risk! We want to know what you think of the new pricing, so please get in touch, and for all our existing customers: if your current payment plan suit your needs, you can continue with it, or alternatively, let us know if you'd like to change to one of the new billing options.
EQL Appliance Part Deux - Pricing & Development Models
Now that we've started promoting and offering the EQL Appliance, which lets you host an OnWeb server and data in your own physical installation, we've also started promoting its pricing. In order to offer our customers the most possible value with the hardware, we've put together some beefy servers, capable of running up to 80 simultaneous OnWeb sessions and over a hundred Access databases. We've also put together some hardware for internal use rather than OnWeb resale, and priced that accordingly. The suggested prices are:
- Enterprise-level rackmount server: $11000
- Small business application server: $3350
- Virtual appliance (capabilities restricted by your hardware): $2000
Please contact us if you're interested in more information or for specifications.
... Furthermore, for those interested in OnWeb application resale, but with a tighter starting budget: we now offer development appliances!
Physically identical to the servers above, these appliances are nearly full-featured (lacking a few details, such as SSL support), and marked as not for resale, but allow for affordable development and testing of OnWeb solutions.
- Small business development variant: $1200
- Virtual development version (limited to 3 GB of memory): $500
If you've considered developing your own OnWeb hub, now is your chance to give it a shot for a low price. Of course, development versions are upgradable to full resale versions automatically, without complicated shipping or RMA schemes.
More Features for Your Buck
In our ongoing quest to better our product, we even snuck some features in under the radar while we were busy promoting EQL.
The battle to fully support Access 2007 got a large boost with a lot of newer form controls properly rendering in the OnWeb system.
Those of you with hidden tables in your applications have also found that they no longer appear (if you use Access OnWeb plugin versions 1.9.6f5p or later, available as always from your initial download link) in your WebView.
As for things which do show up in WebView, we've added a new option to let you beta-test some of our exciting new features. These features don't cause any data loss or corruption, but maybe aren't as polished as we envisioned them out to be, or their interfaces might be changed before we roll them out publically. You can try them yourself by changing the URL you use to access WebView.
If you currently use: http://eqldata.com/db// You can view beta features at: http://eqldata.com/db//?beta=1
Current beta projects:
For Windows users: if you use plugin versions 1.9.6f4p or later, try the exciting "Run in external client" link in the EQL Access OnWeb section. We've been developing our very own browser-free native client for remote Access manipulation: this will eventually be fully integrated into the plugin, but for now, still requires some website interaction. If you try it, let us know how you like it! NOTE: This viewer does not support printing yet, but will definitely do so before a full release.
For everyone: we finally implemented time zone support for your database Date/Times! While we regrettably can't change past inserted Date/Times, if you modify your OnWeb Timezone (by selecting the appropriate zone from the drop-down menu), any future auto-created dates (as created by ie. the Now() builtin function) will match the selected zone.
... and we plan to keep the goodies coming. We're glad that you're enjoying OnWeb, and providing a lot of great suggestions and feedback! We welcome more of your comments at any time - you can simply reply to this email to get in touch with us.
Thanks for using EQL Data!
Regards, and happy holidays from Toronto, ON, Canada,
Luke Kosewski
Co-founder, EQL Data Inc.
(If you want to unsubscribe from this newsletter, please just reply to this message and say so. We'll remove you right away.)
EQL Data in Connecticut
Avery Pennarun, Wednesday, December 09 2009, 05:07
In Farmington, CT, in fact, the town my cat was named after. Oh yes. That's how much we love that place.
Lukasz, Ashok, and Matt will be presenting EQL Data at the Connecticut Access User Group tomorrow (well, by the time you read this, *today*) at around 5:30pm, at the Microsoft campus in Farmington. If you live in Connecticut, or anywhere else for that matter, you should come check it out! Follow the link for directions and information.
EQL presentations
Lukasz Kosewski, Monday, December 07 2009, 07:09
Hey team. Team here is of course figurative, unless you consider "the set of people who might read this posting" to be a team.
It's getting quite later than I'd hoped, and I was still going to send out more emails. There are exciting things in the works, and, as most of this past year has gone, they deal with EQL Data, aka the company which continues to increase in awesome every day.
The newest... news... I suppose, on the EQL front, is that we're been invited to another conference to do a presentation. Unlike the last one, where we ran a booth displaying both our wares, and our business model, as inspiration to young entrepreneurs at the Impact National Conference, I'm going to announce this one, so that you can come out and see what EQL is all about. Thank you to those who bumped into me at Impact and suggested being more vocal about this, you found us despite the complete lack of any announcement!
Back to current events. I've been invited to present our feature product, OnWeb at the Connecticut Access User Group (CTAUG), to a room-full of curious Microsoft Access professionals on Wednesday, December 9, at the Microsoft corporate centre in Farmington, CT.
The focus? How to use OnWeb to deploy fully internet-friendly Access applications on the Web with no dedicated effort, redevelopment, and no need for migration. Yes. We do suggest you keep using Access!
My passport has been verified, and my presentation is progressing nicely. Since CTAUG generously gave me up to an hour of presentation and question time, I figure this is the first time to really discuss some of the nitty gritty of OnWeb. How does it put Access on a webserver? Why does it export Access databases to our proprietary format before synchronizing? What are deferred updates, and why are they safe? What interfaces are supported? How did we manage to get printing to work? How has the architecture of Access stomped and tried to block us at every turn? Is it scriptable? What is the roadmap going forward?
If you can be in Connecticut on Wednesday, you too could be asking these questions and more.
I'll also be unveiling a look at one model of the planned EQL in-house appliance... whoops! Did I just preannounce that? I think so. I'll be writing about that in the days to come.
EQL Data November Newsletter
EQL Blog, Wednesday, November 11 2009, 00:00
Hi everyone,
If you're getting this, it's because you or someone else has signed you up for our newsletter. We send this out about once a month. If you don't want to receive it anymore, please just reply and let us know, and we'll take you off the list right away.
In this Episode
- Testimonial of the Month
- Windows 7 Support
- EQL Appliance and MS SQL
- Fancy New Demo Video
- Other New Features and Fixes
Testimonial of the Month
First of all, we've been collecting testimonials from some of you over the last little while based on your (hopefully positive) experiences with our product. Here's one of our favourites so far, from Dennis at Healthcare DR Solutions:
The Microsoft Access hosting services that your company offers have been a miracle for my business. I was at the end of a lengthy Microsoft Access 2003 database development project for one of my clients, when I placed a follow-up phone call to my clients Internet Service Provider. The Internet Service Provider previously guaranteed my client that they could host a Microsoft Access 2003 database and the users did not need to have the Microsoft Access software loaded to access the database, the users would just need a web browser. At the end of that follow-up phone call I was scrambling because the Internet Service Provider said that they no longer offer that hosting service and my client wanted to put their new database into production in 1 month. ... Finally I was able to find this great company, EQL Data that was totally dedicated to not only hosting a Microsoft Access database but having the expertise on staff to help with all of the details that are usually overlooked with a hosting solution and stringent timelines. I cannot express my thanks enough to your company and employees who have come up with a cost-effective hosting solution to keep the Microsoft Access database developers in business. Thanks to your company I still have a happy client. I look forward to doing future business with your company.
A "miracle for my business?" We like the sound of that!
Windows 7 Support
In other news, we've celebrated the release of Windows 7 by... doing nothing. Our software already worked with Windows 7, as it turned out. So we updated our web site to reflect that Windows 7 is now an officially supported platform. If you've been waiting, now's the time to try it out!
EQL Appliance and MS SQL
You asked, and we've been listening! Some of you who work in bigger companies have two big problems: first, you can't let your data off site, and second, you have a lot of Access apps that you use mainly for reporting against Microsoft SQL databases. But you still want to run your Access databases in a web browser for a variety of scalability reasons. What to do?
Introducing the EQL Appliance. Available as either physical hardware or as a VMware or VirtualBox "virtual appliance," it runs the EQL OnWeb server so we don't have to. Er, I mean, you can host the server on your private network, so all your data never has to leave your site, and you don't have to worry about firewall settings or proxy servers. If you also need MS SQL, your appliance can connect directly to it. We're almost ready to put the first few EQL Appliances in beta. Let us know if you want to give it a try!
Fancy New Demo Video
As part of our ongoing web site design, we've posted a new video that gives you the basic idea of how EQL works in about 60 seconds. If you're reading this, of course, you probably already know how EQL works... but maybe your friends don't. So you can show them. Or your co-workers. Or your customers. We're thinking of doing more videos, so please let us know what you think! You can find it on our home page at http://eqldata.com.
Other New Features and Fixes
This has been a month of fine tuning for the EQL Data services. As you probably know, fine tuning can take just as long as doing development in the first place... but it's still very important. Here are some changes you'll see in OnWeb if you grab the latest plugin (v1.9.6dp):
- Some significant speedups when syncing databases with large amounts of data.
- Better support for custom toolbars and menus.
- Support for mscomct2.ocx (including the Microsoft Calendar Picker control)
- The triumphant return of calc.exe! You never know when your users will need a calculator. (You can have your app launch calc.exe by running it from a button's macro.)
- Ability to "open" .xls and .doc files. You already know that when you "Print" from an OnWeb application, it actually sends you a PDF file to open or print in your web browser. Well now it works for spreadsheets and documents too! Where your app would normally generate and then open an .xls file, it now generates the file and sends it to your web browser, where you can download and open it in a local copy of Excel.
We hope you're happy with our progress and we're proud to have so many of you enjoying our services! Please stay in touch. You can email us by simply replying to this message.
Thanks for using EQL Data!
Avery
Co-founder, EQL Data Inc.
(If you want to unsubscribe from this newsletter, please just reply to this message and say so. We'll remove you right away.)
EQL Data mid-October update; a listing of goodies added in the last few weeks
EQL Blog, Wednesday, October 14 2009, 00:00
Dear customers and friends of EQL Data,
It's been a little while since we've posted up any informational bulletins, so I'm taking the time to email you a bit of "what's what." As some of you may have noticed, our server has been rebooted a few times late at night recently - this is because we've been working behind the scenes to mold our software into a slick machine.
October has been pretty heavy on the changes so far, and particularly if you use Geosync and you've installed the newest plugin from the Download link on http://eqldata.com (it should show up in your Control Panel's "Add/Remove Programs" listing as "EQL Access Plugin v1.9.6ap"), you can see the following:
- greatly improved support for synchronizing objects with special characters (slashes, question marks, etc.) in their names. Some of you had some trouble with this, and this is mostly resolved, though we're putting the finishing touches on a few more quirks.
- IP address logging for every change made via OnWeb or Geosync.
- Web links embedded in your OnWeb applications opening up in a new window of your browser, rather than within the OnWeb Flash app itself.
- no more strange errors accessing your database after the end of an OnWeb session or a successful Geosync.
- better mouse focus using OnWeb in Internet Explorer; you shouldn't need so much clicking inside the Flash applet to retain keyboard focus now.
- gradual disappearance of the mysterious "Print Server has died" messages in OnWeb, which turned out to be a logging error and not, in fact, anything wrong with the print servers.
- speedup in Geosync synchronizing times.
- speedup in OnWeb master database regeneration times.
- more databases output correctly (without our intervention) when Geosyncing them to the OnWeb servers for the first time. Notably, databases with custom command bars now show up, and we've fixed up a lot of glitches people had with Queries and Forms in Access 2003 or
- Thanks for your bug reports!
- fewer glitches when using "Web View" to examine your version history and table structures known to the EQL servers, also more descriptive warnings if something unexpected happened and the software was confused.
- credit card billing.
I hope that the above encourages all of our Geosync users to upgrade to our newest plugin if you're having any trouble.
Beyond this, we still have many of your suggestions to work on, and we're doing what we can to implement them quickly, without compromising the software or causing any regressions. Please keep your ideas and reports of any bugs you find coming, though! If we get ideas or find bugs which are easy to implement/fix or immediately useful to everyone, we can get started right away!
A quick note, also: eqldata.com will be getting a facelift soon, and we'd like to collect some customer testimonials from those of you who use Geosync or OnWeb on a regular basis to put up on the new site. I hope none of you will mind my approaching you in the next week or so with such a request.
Lastly, I wanted to thank you all for using EQL and, for helping us make it better - all your feedback counts.
You can look forward to more goodies in the future,
Luke @ EQL
A little more mileage from Winamp 2.x
Lukasz Kosewski, Tuesday, September 01 2009, 08:03
Winamp. If you're relatively new to the Internet world, or if your participation 15 years ago wasn't obsessive compulsive, this name might have eluded it completely. If you've tried it recently, it might as well stand for "Windows Media Player part deux." However, once upon a time, those of us who searched for a reasonable music player to play the assortment of audio formats beginning to proliferate the web found Winamp, at that point 1.x, and later 2.x, and loved it. It was small, fast, and got the job done.
I found it so incredibly tailored to my needs, that to this day, I have a Windows machine for almost unitary purpose of running Winamp 2.80 to talk to my speakers and give me music.
Winamp 2.80 has a few drawbacks though, namely, its MP3 decoder comes from back in the stone age, and has some annoying troubles decoding variable bitrate (VBR) MP3s, particularly in computing their running length, as well as reading back ID3v2.4 tags, particularly ones which use a character encoding which isn't either ASCII or UTF-16.
Well, for those of us running Winamp 2.x, there is still some friendliness in the world.
As I discovered recently, when I attempted to give my Winamp some ability to properly read back my ID3v2.4 tags (since I tag all music using UTF-8 encoded tags, and ID3v2.3 doesn't support UTF-8 encoding) Winamp 2.x has the same plugin architecture used by newer versions of Winamp, specifically, as I discovered using a bit of the ol' binary search, Winamp versions <= 5.22 still use the same identical plugin format.
What does that mean for you, the savvy Winamp user? It means that you can go grab Winamp 5.22 (disgusting though it is), and rip out its in_mp3.dll file from the plugins/ subdirectory, then go back and replace the old in_mp3.dll that shipped with your Winamp 2.x. Restart, and voila! Now you can benefit from many of the improvements to said .dll made by Nullsoft during your refusal to upgrade, without compromising the quality of your music player!
The in_mp3.dll which ships with 5.22 also isn't perfect; sadly it still mangles genres and dates in ID3v2.4, and occasionally (I don't quite know why this is) can't find the artist name. However, it certainly works *better*, and has much less trouble with VBR files.
Winamp 2.x. Still the best, since its faults are still miniscule compared to every other competing solution.
EQL Data August Newsletter
EQL Blog, Monday, August 17 2009, 00:00
Hi everyone,
If you're receiving this, it's because you or someone else entered your email address into our "I'd like more information about the EQL Data beta" box on http://eqldata.com. If this is a mistake, please reply to this message and we'll take you off our mailing list right away.
So what's new with EQL Data?
Well, this is actually the first beta tester mailing we've done - we've been busy working on the product instead of selling things. That means technically, everything is new! But that's not very interesting, so let me tell you a few specific things we've done in the last few months:
- We have a new knowledgebase starting at http://eqldata.com/kb/, that answers a bunch of questions about getting started and using EQL.
- An all new user's guide for Geosync, thanks to a lot of help from Jim at Cahaba Data. You can find it at http://eqldata.com/kb/1023.
- We just launched a great companion to our original Geosync product: EQL Access OnWeb. It really does let you run your entire Access application in a web browser - any browser on any operating system, as long as it supports flash. This is in limited beta right now, but it really works, so please let me know if you want to try it out! It's way cooler than our previous version that could only show basic Tables, Queries, and Charts.
- A completely new Geosync plugin with improved performance and reliability. There are lots more performance improvements still to come, but it's much, much, better than the first prototype, and it even runs in the background so you don't have to wait while it finishes. If you haven't tried our plugin in a while, it's well worth trying again.
- We revamped our pricing (again) to try to make it work out better for the different use cases people have brought up with us. Let us know if you have any feedback or suggestions about the pricing!
We're a really small company way up here in Canada. We just started in January, and we're not even old enough to have an official company phone number yet. I know, crazy, right? But we've just added a bunch of other new methods of contacting us, which you can find at http://eqldata.com/contact. Most of the methods just lead to me or Luke for now, which I guess is sort of unprofessional, but hey, how often do you get to talk to a Real Live Company Founder? Other than yourself, of course, if you're also a Real Live Company Founder, but then you're just talking to yourself, which is kinda weird. And why be weird? Talk to us instead.
What are you doing with EQL Data? What do you with Access could do, if only someone would add that one missing feature? What amazing database features are missing from your life?
Replying to this message will go straight to me, so please help yourself. I look forward to hearing from you!
Have fun,
Avery
Co-founder, EQL Data Inc.
Words of wisdom, kids
Lukasz Kosewski, Wednesday, July 29 2009, 06:34
For reference, only *actual insane people* think they're smarter than mktime(). Do not attempt to replicate its behaviour under any circumstances. -- apenwarr
Had I known this a few hours ago, I would have saved myself a few hours.
Lost again, somebody tell me how to get there
Lukasz Kosewski, Monday, July 20 2009, 20:32
I haven't updated in a very long time, and that's unlikely to change, as I've been fairly busy lately, and the busier I get, the less interesting my personal anecdotes, so the less to write about. I did come back from 2 months in Europe though, and I'm still alive, so I guess that's something.
I have had a bit of time to write up articles in my more technical (yes, it's possible) blog over on http://www.navarra.ca/blog, though, if you're into that sort of thing.