Hacker News new | past | comments | ask | show | jobs | submit login
SQLite developer must have received a lot of phone calls (github.com/mackyle)
792 points by DaGardner on March 13, 2015 | hide | past | favorite | 108 comments



I met the SQLite architect's parents a few years ago. My wife was a member of their church many years ago, and they had invited us to a function at their house right before we married. I didn't know who they were at the time, but in a conversation over dinner the father was asked what his son did for a living, and he said something like "You know that cellphone you carry? My son wrote an important program that manages the databases it runs on." I asked if he was talking about SQLite and he said that yes, that was the program. Turned out there were a few other people there who knew about SQLite so we had a bit of a geek out for the rest of the night, discussing FOSS, SQL, mobile development, and so on.


OT: Which church? Just curious.


To be honest, I don't remember. She had gone there many years before we met, and had since moved on to another church, maintaining friendships from there through Facebook (which is how we got the invitation). I know it was in Gwinnett County, Georgia, near Stone Mountain.


Does anybody else have any stories similar to this they could share? I always find this sort of thing fascinating.

Here's one[0] about when Facebook changed something about their login, and someone wrote a blog post about it. The blog post ended up being top Google result for "facebook login". A lot of people, it seems, were getting to facebook not by the address bar, but by typing "facebook login" into Google, and clicking whatever the first result was. Hence, they found the site, then proceeded to leave tons of comments, complaining that they couldn't log in to FB.

[0] https://web.archive.org/web/20120201181225/http://www.readwr...

EDIT: This was similar to what happened to rapgenius a bit back. Google blacklisted their site, and people thought the site was deleted, and were complaining to rapgenius on twitter. It blows my mind that there are a lot of people that don't know how to use an address bar properly.


"Earlier this week, we reported a glitch in Google Search, where clicking on a link after a search for Gmail listed someone’s email address, complete in a window ready to send them email. With today’s Gmail outage, that error — never fixed — has resulted in at least one person getting thousands of unwanted emails." http://searchengineland.com/google-search-error-gmail-mistak...

In 2004 user "Lonely" on the Movie Codec Forums posted a message with the title: "I am lonely will anyone speak to me.". Within days this thread became the number one result in Google for "I am lonely". 10 years later this thread has amassed over 20.000 replies. All from people who felt lonely and typed their mental state into Google. http://lounge.moviecodec.com/on-topic/i-am-lonely-will-anyon...

A Dutch politician responsible for investigating failed ICT government projects took to Twitter to deride Microsoft's support desk for calling him 10+ times a day from India. "Dear user, we will never call you and ask you for passwords. This was a criminal phishing attempt." https://twitter.com/Juliedewidt/status/574887734608805888

Wolfenstein 3D had an easter egg in a secret room which said: "Call Apogee. Say Aardwolf". Hackers found these rooms through reverse-engineering so the entire easter egg phone campaign was scratched. This one Easter Egg somehow remained in the final product and for many years Apogee got these "Aardwolf"-calls. http://static.rookiemag.com/2013/03/1362676256wolfensteinpic...


In the 1990s I ran www.ibm.com. As such I was one of a very small number of people who had "internet" in their job title on the internal employee directory (CALLUP for the IBMers out there). And I was the only person working at Corporate HQ with such a title. This resulted in hundreds of phone calls and emails every week from people (employees and non-employees who called some IBM 800 number) asking questions about the internet, how to get onto the internet, why wasn't the Internet using SNA or RJE, etc.

Eventually I got a second phone number which only coworkers and key contacts knew.


I worked at a company that sold video games and hardware online. Our phone number ended with a 001. So we thought that maybe we should get the same number but ending with 000 instead. Unfortunately it was taken so we called it to see if we can buy it.

They told us people keep calling them all the time hoping that 000 would take them to our switchboard so they were happy if we would take the phone number. I think we paid them a little for it too and promised that if someone called us and asked for them we would give them their new phone number.


I used to work for an ISP. Originally we had about a dozen phones numbers in one city because the phone company couldn't attach more than a limited number of lines (30 or 60 I think) to each number. We distributed login scripts that called the numbers one after the other until a customer got though.

Eventually the phone company let us put all our lines on the single number and we got rid of the others.

3-odd years later some guy called us up. He had just got one of the original numbers and was getting modems calling him all day and night. We told him we could do nothing and to get a new number and to tell the phone company not to give that number to other people.

The weird thing was that we realized that people were still using the old script and taking an extra couple of minutes to connect every time while they cycled though the non-existent numbers.


I run a fairly large forum in my local language. Due to the number of subjects discussed it is not uncommon to reach it by random long-tail searches on google.

On the site there is a "contact us"-link on every page that leads to a normal mailto:myemail@example.com.

Pretty much every day I get emails from (usually elderly) people who wants to know more about the subject discussed, wants their money back due to a complaint against a company mentioned in a thread they found, needs help with logging in to whatever service they think I represent, etc.

I've been facebook, hotmail, banks, all our phone companies, the government, lawyers, a politician, and a lot more.


I'm a volunteer for the ticketing system for whenever people send e-mail to Wikipedia using the 'contact us' link. This happens to us all the time as well. As you might know, Wikipedia is an encyclopedia, so we get questions about virtually everything.


Do you have so many visitors that this mail is insignificant? or are there that many people who are both clueless and angry enough to look for an email in the footer?

It amazes me that an unintentional "contact us" would convert even 0.1% of visitors whereas regular sales sometimes struggles to get 1%.


About 20K uniques a day, so with 1 email a day that would be way less than 0.1%.


Thanks. It still seems a lot considering most people don't view those topics, but I guess visitors coming from long tail search results are desperately determined.


Every so often the debian-devel mailing list gets a message from someone asking for the sheet music to "Dueling Banjos" because the top Google result is a previous message to the list asking for the same thing.

http://pigeonsnest.co.uk/stuff/debian-dueling-banjos.html


This is a bit of a tangent, but I find this policy to be truly baffling: http://pigeonsnest.co.uk/access.html

Is it some misunderstanding of the concept of linking? Or just someone with particularly strong copyleft feelings?


I think it's the latter, but without an understanding of copyright law. He can complain as much as he likes, but his desires are totally unenforceable.


"Attack of the repo man" is a classic case of this behavior http://acme.com/software/thttpd/repo.html


There was a story I heard about a defense contractor who found an obscure bug in code for a submarine system and as he didn't have the time to fix the issue he put his phone number in the error report. He got called more than a decade later by a sub on patrol.


> A lot of people, it seems, were getting to facebook not by the address bar, but by typing "facebook login" into Google

Pretty much all computer novices I've worked with do this, and not just for Google. They also type "gmail" into google to sign in to their gmail, "yahoo" into google, "email", etc.

Every once in a while we have to do a support phone call and point someone to the address bar in their browser, and usually that's the first time they've noticed it's even there.


I definitely don't consider myself a "computer novice" and I myself also do this.

Since Chrome merged the address bar and search bar, when I type in e.g. gmail, I can hit enter and click once, or I can type in gmail.com, however while the typing and clicking may take the same period of time, the clicking is more efficient for other sites where the login isn't on the root page, or if I typo.

I think somewhat ironically Hacker News is a great example of where this pattern is a time saver. Typing in "news.ycombinator.com" is first off a mountful (typeful?) and secondly easy to typo.

As strange as this sounds, I also consider searching a "security feature." If you typo near popular sites, you'll find a lot of phishing sites with identical layouts which could be mistaken for the original sites (you did think you typed in "gmail" after all, not "mgail" or something). Search engines save you from this.


What this usage pattern is really doing is using search as an extra semantic layer on top of DNS.

It could be for any number of reasons - ignorance of the differences, or as typo checking, or as an intentional shortcut for a cumbersome url like ycombinator. But the usage pattern has turned out to be quite valuable, to have that layer of semantic processing in navigation, free from the rigid technical and structural constraints of DNS.

The regrettable part is when that semantic layer guesses wrong on some input, wrong being defined as something other than the user's intent. That's an abstraction leak, which as always you can't make up for unless you understand the underlying abstraction.

That the implementation of semantic navigation ended up piggybacked on search might be a bit weird. Maybe it could have been done something like AOL Keywords. But unexpected piggybacking in technology certainly does happen, like when our calculators ended up riding along on our pocket telephones.


In the news.ycombinator.com case, wouldn't Chrome's recently-visited list take care of that for you? On mine, "new" in the address bar brings up news.ycombinator.com, newegg.com, etc.


In addition to the CTRL/CMD + Enter shortcut mentioned in a sibling comment, you could also use your arrow keys to select a choice from your recent history.

I personally disagree with you that searching and moving a hand to the mouse or trackpad in order to click a result is faster than using only the keyboard and the appropriate shortcuts, bypassing a search engine.

This is a matter of understanding the features of your application and operating system. If you choose to only learn the features at the surface, that's your prerogative, but I don't think you can claim a particular strategy is faster or more efficient if you don't really grok the alternatives (I don't think you do judging by your various claims).

With your hacker news example, you would have to simply type news.y and if you visit frequently enough or have the site bookmarked, getting to the site should only be a matter of hitting down-arrow and then enter.


> This is a matter of understanding the features of your application and operating system.

I've written OS drivers on two operating systems. Clearly my ignorance of how computers work is my limitation...

> If you choose to only learn the features at the surface, that's your prerogative, but I don't think you can claim a particular strategy is faster or more efficient if you don't really grok the alternatives (I don't think you do judging by your various claims).

The alternative I suggest is more consistent across sites, solves typos, provides security advantages, and is certainly faster than type + arrow + arrow + arrow + enter (in particular as that list is inconsistent with entries shifting places often, plus there is lag between typing and the auto-complete list populating, Google loads almost as fast).

As soon as you get to your destination you're using the mouse anyway, so moving over to the mouse one click earlier is hardly a cost.

Honestly this entire discussion reminds me a lot of the "UI Vs. terminal" debate. It has nothing to do with actual efficiency in what you're trying to accomplish, and has everything to do with a feeling of superiority over the ignorant masses.

Personally I'm always going to take efficiency over smug superiority, and consistency is a key part of that. My method works for every site I visit, they're always No.1 on Google/Bing and the URL is always correct/without typos (even if I typo-ed them).


FWIW I think the time spent arguing over which method is fastest is probably greater than the time savings either way. I'm just surprised, I hadn't seen more experienced computer users with that usage pattern before. Some of what you're saying makes perfect sense.

I have a bit of a reluctance over sending unnecessary network traffic to Google (not really privacy-related in this case), but that's just a personal idiosyncracy.


(hackerne.ws also redirects to news.ycombinator.com, in case you guys didn't know)


This is exactly why I prefer to have my search box and my address bar separate, as in Firefox. I use the address bar for quick jumps through my browsing history, ordered by Firefox's very well-tuned "frecency" algorithm. Getting to Hacker News is "ha" then down+enter. Twitter is "tw", Gmail is "gm", etc. Meanwhile, "ha" in my search box gives me all sorts of random things that I've searched for: "haight ashbury san francisco", "the parser hack", "demographics of hawaii in 1940s"... I can't imagine the annoyance of having this stuff showing up in my address bar history.


In Chrome, bookmarking a site boosts it nicely in the suggestions (that's almost the exclusive reason I bookmark nowdays, without caring to categorize). I've bookmarked HN so "ha"+down+enter is sufficient. But for most sites, Chrome single bar works well as-is.


You can also type `gmail` and hit `ctrl+enter` which will auto add `www` and `.com`.


Maybe, but this only works for some sites and not others (again, Hacker News). It is easier to have a single pattern for everything, quicker too.


Type gmail, hit ctrl+enter, and you get to "www.gmail.com". You'll save the entire round trip to google, rendering time, and a click.

Personally, I use firefox, so I just type "ne<enter>" to get to "news.ycombinator.com". Its history-based autocompletion is simply perfect.


Type gmail, hit ctrl+enter, and you get to "www.gmail.com". You'll save the entire round trip to google, rendering time, and a click.


It ends up being the most fault-tolerant way of navigating to a site. In the address bar, a typo will either not resolve (which takes several seconds) or it will resolve to a site designed to funnel traffic from the misspelling.

Also, you general don't need to type as many characters into the search bar to get to the site as you do if you use the whole URL.

All in all, typing the site into the search and clicking make quite a bit of sense from the usability standpoint.


I've worked on the google Suggest team, and "facebook login" is way up in the most popular searches. I _think_ it was even above "facebook" but I'm not sure. (There is a self-boosting effect: seeing both as suggestions leads one to think there is a difference and deciding they need the "login" one).

Most ironic are people typing "google" or "google search" into address/search bar :-) But I occasionally catch myself doing it to access some rarer search tools, e.g. typing "google scholar"...


We make a math web app / mobile app that teachers use in school. We regularly get customer support requests about icons missing from their desktops, their computers misbehaving, the network going down.


Had a similar experience at a previous job. Some of our clients couldn't tell the difference between the sofware we made for them, windows, the network, the email client or almost anything.

I think in their minds it was all just in one big bucket labeled "Computer Stuff", and when the computer done a bad, they call the computer people. Because they were using our software all day, we must have been at the top of their minds when the network would go down or Outlook would fail to launch.


For those that don't already know, GitHub has a cool little feature that allows you to link directly to line ranges, i.e. https://github.com/mackyle/sqlite/blob/3cf493d4018042c70a4db...

See the awesome GitHub Cheat Sheet for details: https://github.com/tiimgreen/github-cheat-sheet#line-highlig...

(Forgive the tangent—I only discovered this recently myself, and I figure I'm not the only one.)


So does fossil, the canonical repository for sqlite: https://www.sqlite.org/src/artifact/3e57a24e2794a94d?ln=52,6...



Question: what kind of crappy AV software can't identify sqlite files?


it's not identifying the files, it's using the db engine.

It's probably using it as a quarantine, so then the virus scanner picks up virus data from it's own temp files.


Does it have an binary header (.exe/.dll)?

Or better, does it match a sqlite signature? "The header string: "SQLite format 3\000" for example http://www.sqlite.org/fileformat.html


I wonder if the issue I found sometime ago that segfaulted Firefox fixed stability problems for McAfee?

https://bugzilla.mozilla.org/show_bug.cgi?id=581946


I don't think it was mentioned anywhere that using SQLite was causing problems for the AV. Just that it was used internally and users were finding temp files.


What kind of crappy AV software leaves the default file prefix in place? ;)


I'm amazed at the variety of clearly ignorant responses that the user is getting.

He's actually better off than those who are answering giberish - at least he knows he's ignorant on the subject (which is actually a good thing, compared to being misinformed).


The proper solution would have been to switch to a premium rate line, and profit from it!


I would not give up my uninterrupted sleep for a few dollars on the side. I don't think I would even want to be interrupted for the small profit of premium lines. I have better things to do than personal support for this type of customer, and I imagine the SQLite devs think similarly.


If one wanted to be very mean, and using a premium rate UK number as an example:

At £1.50/minute, you can put them into a holding queue with "All developers are currently occupied, please wait and your call will be answered shortly" played every 45 seconds. If the developer wakes up they can choose to answer, otherwise most people will hang up after a few minutes.

Assuming the average person kept on the line for 3-4 minutes, and 100 calls a month, that's £450/month revenue...


This would fall afoul of the UK regulator for premium rate numbers (PhonepayPlus) http://code.phonepayplus.org.uk/the-avoidance-of-undue-delay...

(See also: https://www.xkcd.com/1494/)


It definitely would now, but back pre-2006..?


Get an 900 number, then put a menu service answering machine, that would answer the call, thank the user for their patience, charge them, then spell out the name of a an email account or web form where they can go to send you bug report.

;-)


But you could pay someone else to answer these calls for you, couldn't you?


Or just give the callers a canned reply telling them to wait, then never route the call anywhere.


Given the message above that would constitute fraud I guess.


Automated response that looks at your schedule and tells them how long til the next scheduled time for taking calls. Maybe lets them know their position in the queue as well. Would it be fraud if you answered during the scheduled time?


Lol, I agree $_$


The solution reminds me of the story of why Facebook calls their advertising tags "muffin" tags (up to this day)

https://www.youtube.com/watch?v=SinsSahmjl4&t=870


I wonder if this is related to the old MUFFIN program for the Apple II, to migrate disks from DOS 3.2 to DOS 3.3.


This is amazing. The source, indeed, still contains `muffin` tags.


Somebody didn't give credit here when posting on HN. https://twitter.com/mplappert/status/575957042466320384


Are you telling us there should be a form of copyright for the first person to publish a link on a social media ? And then everybody should thanks this person and forget about the author of the original work ?


HN does not allow to give hat-tips or other Twitter-like credits. Where should they even put that? In the title?

It is: first come-first serve and I don't think you can even mention the OP of this post without scrolling back and looking it up. It doesn't matter much to you and me.


No one cares, how do you know the twitter person did not copy from somewhere else without giving credit?


Or somebody actually managed to find this on their own.


The commit was made in September - that tweet, yesterday. Chances that they both got recognition within 24 hours of each other: pretty slim.

Personally, I saw this on /r/programmerhumor yesterday.


It's been doing the rounds on twitter for several days.


Two people independently finding this while browsing SQLite source code, one a day after the other? Simplest explanation is usually the right one.


Who is doing this kind of stuff? I can't imagine a single one of the people I know do it. It's just unimaginable and I would really love to know what's going on inside their head.


Around 10 years ago, I heard about Facebook for the first time and bought facebook.[cTLD] on a whim, not having the faintest idea what to do with it.

After Facebook took off in my country, I'd get a few calls a week from people who wanted me to take down other peoples posts as well as from friendly but clueless law enforcement officers investigating Facebook-related complaints.

(I handed over the domain to Facebook for a bit of swag, it wasn't like I had anything meaningful to do with it)


I know someone who had his Javascript library, hosted on his site, imported into Facebook's layout by some Facebook dev.

He put a redirect into the Javascript to his own website, and Facebook employees started calling him about 5 minutes later.


People just find the first google result and don't think to question it. Google put it up top, so it must be the correct number to call.

Back in the day, I titled a blog post "baggage.lufthansa.com". Here's what happened:

http://www.blogabond.com/CommentView.aspx?CommentID=24


A completely different scale, but it reminds me of the time that a ReadWriteWeb article became the top Google search result for "Facebook login". They had hundreds, if not thousands, of angry comments from people thought it was the Facebook site and who were angry that they couldn't log in.

http://www.theguardian.com/technology/blog/2010/feb/11/faceb...


I am also rather perplexed by it.

Once, I had a similar call from a member of the public, an irate rant along the lines of "your software broke my computer and what are you going to do about it?" However, it wasn't software I had developed or was responsible for maintaining - their Google searching had led them to me, a sysadmin dealing with the backend of a related project.


It probably happens more than you think.

Doug Bowman, who was head of Design at Twitter, and designed the themes for Blogger before that, once had someone call his house to ask for help with a Blogger template.

https://twitter.com/stop/status/5656372649



Unbelievable.

Looks like it's worth it to just have a different phone # for anything that isn't personal.


This is why I only post my Google voice number. And I never pick up if the number isn't already in my contacts.


Why does Microsoft still store temporary files on disk? (as opposed to a RAM-backed temporary file system as used in most other operating systems)

Is there a reason for this? It just seems like it would cause clutter and garbage to pile up for eternity.


Because using a RAM-backed temporary fs is a dumb idea. If your disk caching is implemented properly, then most temporary files are stored in RAM, but larger ones can be spilled to disk, and the OS gets to decide what's best based on a global view of the system. By using a RAM-backed tmpfs you are forced to use RAM and spill to a swap partition that is inflexible and hard/impossible to resize.


Well, it's not only larger files that spill to disk; using a normal directory forces the OS to write them all to disk (even if with a delay thanks to buffers).

A RAM-backed tmpfs, on the other hand, would avoid writing to disk if the size of your files doesn't cross the threshold of free memory.


This is incorrect. Linux doesn't write small files to disk if they are deleted within a certain time. And if that's true for Windows NT, then it's a problem with Windows.


Windows definitely has this "problem". I used to have %TEMP% on my SSD until I realised that VS builds were still bound by temp file + object file write bandwidth, so I've put %TEMP% onto a 1.5G ramdisk. It works very nicely.


Seriously? So if you write a key file or something small to disk and immediately pull the plug on your computer, it will be gone? That is incredibly stupid for a file system that people expect to actually write the file when it says it did.


As the reply from icebraining says, if your program doesn't call fsync(2) or fdatasync(2) but still expects the file to be on disk when someone pulls the plug, then your program has a bug, not the OS.


Yes, seriously, unless the software calls fsync(). As a user, you can avoid that by mounting your disks with the 'sync' option, but prepare for your system to become very slow.


When creating a file handle you can usually specify how buffering will work. You can also say that everything should be written immediately. But even then there can be buffering inside the disk and cause you to lose the data. That's not the file system's fault. And sure, get rid of all those caches in between if you don't care about performance. You can do that.

And "write to the file" usually says "write to the file at a point convenient for you". Heck, it's an asynchronous call most of the time anyway so it cannot complete immediately for obvious reasons.


> But even then there can be buffering inside the disk

this, the system accounts for. If you tell the OS to sync data to disk, it has to make sure that the disk committed the data to the durable media.

One aspect of this is: As the disk, as long as it has unwritten cached data in its internal RAM cache, is free to write that data basically in any order, the OS will have to send a write barrier to the disk. Wouldn't this been accounted for by the OS, all filesystems would basically be completely broken on most power outages. Or one would have to flush the disk cache completely on every single and small change, which would severely degrade performance.



Fair enough, but what I wrote still applies for files that are not deleted within that period.


How long is that interval of time?


I'm not an expert, but I believe 5s (the default "commit interval").


I have had enough linux workstations and servers blow up do to tmpfs on /tmp. RAM backed /tmp ? No thanks.


Ubuntu doesn't use tmpfs for /tmp either.

The reason is simple: some applications write huge temporary files, and lots of people don't have much free memory to spare.

And you can solve the pileup by simply cleaning it up regularly using a scheduled task.


This is why we need better application profiling yesterday. Not "I need write to x location" but "I am highly sensitive to read latency in x location, and highly sensitive to available space (append only) in y location." cgroups is the beginning. Eventually, a much-evolved container notion will solve this. I expect embedded and mobile distributions/OSs to follow suit.


It's good until someone abuses this


If for no other reason: We would probably be surprised and saddened to see how much software abuses the longevity of "temporary" files and being able to persist them across reboots.


I get annoyed for the opposite reason -- I wish it was easier to say to the OS "Take this directory away when this program finishes". You can get so far with atexit, or unlinking early (but that's no good if you want to pass the files on to other programs).


If John McAfee can see this himself http://www.youtube.com/watch?v=bKgf5PaBzyg


Please add "(2006)" to the headline. I remember there was also a related mailing list post about that issue.

Edit: What's the reason for the downvotes?


Just curious, why did SQLite developer publicly listed his telephone number. Was it common around that time?


Yes, it was. Most vanity websites had a "contact" page with mailing address and phone number. In fact, my blog* still has a phone number because I keep forgetting to take it down.

* My site isn't really a blog, just a personal web page. And since I've had the page since 1994 and the term "blog" wasn't coined until 1999....



I wager 2 would be enough.


They should sue the AV company.


... for what?


This is epic.

It deserves a video meme, something like this - https://www.youtube.com/watch?v=KHZ8ek-6ccc





Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: