kiscica
Joined 16 years ago
Joined 16 years ago
The BBS code was originally largely devoted to menu generation, the bulletin and message databases, and of course the routine that drove the modem and console simultaneously (including conversion of Commodore's weird not-really-ASCII so that upper and lower case didn't appear inverted), with provisions for a keystroke to interrupt a menu or message while it was printing (a feature I was very proud of as, believe it or not, many of the prevalent Apple/TRS-80/etc. BBS's of the time didn't do that - remember that at 300 baud printing an entire screen of text could take many seconds!) None of that code had to change from the VIC to the C64.
It also helped that things like file management were largely handled by the 154x disk drive itself (it had its own 6502 and operating system!) so that didn't need to change either. Of course the additional memory allowed me to add a lot of new features to the C64 version going forward.
With respect to your question about encouragement, I have to say that my parents - my father in particular - were initially quite ambivalent about my sudden obsession with computers (which followed on the heels of obsessions with electronics and, earlier, chemistry). My dad had, it transpired later, read some sensationalized newspaper article about the hackers at MIT and how they spent all their time programming, ignoring their studies and so forth, and I guess he didn't want that to happen to me.
That said, he always, always came through in the end. He'd bought me the massive chemistry set I'd begged for when I was a little kid; he would take me down to Canal Street to browse the surplus store for electronic parts; he'd bought me my first oscilloscope out of my "savings account" that I'd probably depleted ten times over; and ultimately, as I said, he did buy me that VIC-20 and peripherals. (He also had a hard-and-fast rule: any book, on any subject, that I wanted he'd buy for me.)
And later, when I was in high school and getting deeply into Lisp (and math) and expressing interest in (what was then called) AI, he cold-called Marvin frickin' Minsky whom he'd read about in the papers ("I've got this kid..." - my dad was just... like... that), and next thing we knew we flew to Boston where we spent an incredible morning at Minsky's house talking about connectionist vs. symbolic approaches, followed by an unforgettable tour by one of his grad students of the AI lab. Yeah, the exact same den of iniquity my dad had originally worried I'd end up in :-)
So, yeah. I guess you could say he encouraged me, in his own way, even if he worried about me a lot. (It's also true that, whatever I was doing on my own, I always did well in school, so that probably assuaged some of his early fears.)
I don't think my parents quite realized what I was up to, once I got involved in the BBS world. My initial excuse for asking for the VICmodem was actually that I'd be able to call up my school's PDP-11/45 (which I certainly did end up doing a lot) but of course BBS's were very alluring and I spent many a late night clicking away while the family slept. I ran into quite a few shady characters "online" - fortunately as a street-smart NYC kid I think I navigated this pretty well, but in retrospect (especially as a parent myself now) I'm kind of shocked at how much independence I had at 12 or 13, facilitated of course by the significant money I was making from the BBS business. My parents just looked on, bemused, and didn't get involved at all other than to go with me to the bank to help me open a checking account.
Anyway, it was a good childhood.
I alarmed my teachers by skipping recess to use the computer and read every issue of Creative Computing and Byte I could get my hands on. I even had a floppy that I would bring to the handful of New York City computer stores so that I could surreptitiously get a little extra time in; sometimes they even wouldn't kick me out for a while.
I begged my parents to get me an Apple for at least a year before they relented - partially - and bought me the VIC a few months after it came out. A twentieth of the RAM of a fully-loaded Apple and a 22-column display? No problem, you could still do a lot with that!
Less than a year later, I persuaded them to buy me the newly-released VICmodem. The first night I had it, I was dialing, one after the other, the numbers I found in a magazine article for the various NYC bulletin board systems, mostly running on Apples and TRS-80s, maybe an S-100 box here and there.
I was hooked. I just had to have my own. But what can you do with a 3KB computer? I begged and pleaded again and managed to wangle an 8KB expansion cartridge and, more importantly, a 1540 disk drive. A few days of coding and I had a rudimentary BBS with a message base, private mail, a "chat with sysop" feature, and even text file upload/download/
But, as the linked article mentions, you use the VICmodem by plugging in a modular handset cord. No autoanswer. What to do? Off to Radio Shack to buy an optoisolator with my pocket money - I think I had everything else in my junk box - and shortly I'd put together a janky circuit that would pick up the phone with a signal from, I forget now, maybe the VIC's cassette interface? The "user port" was occupied, of course, by the modem.
And thus was born VTUG-BBS ("VTUG" meaning "VIC Technical User's Group," a mostly-nonexistent organization that, at least, I managed to recruit a few friends into). Surprisingly, or perhaps not so surprisingly, my parents had granted me my own phone line after the first few times they picked up the receiver only to hear a carrier squeal. So I advertised the number on the local BBSs and soon enough I was getting nonstop back-to-back calls. I'd come back from school, run to my room and check out the call log, maybe break in and chat with whoever happened to be on at the time.
VTUG was, I believe, the first BBS ever to run on a VIC-20, and I got many inquiries about the software, so I started selling it (as RAVICS, "Remote Access VIC System"). $79 a pop, simply because that seemed (from ads in COMPUTE! magazine) to be the going price for "serious" software, and with my naïve kid's idea of what things were worth I offered to bundle the autoanswer interface for an extra $20 - mind you, it probably had almost $20 of Radio Shack components in it once my junk box ran out, taking into account the enclosure. Of course as the orders started coming in I realized that building autoanswer interfaces for zero profit was a bad use of my time and stopped advertising that. (Not to mention that, of course, hooking such a thing up to the phone lines was strictly prohibited by Bell Telephone rules!)
By the time the Commodore 64 came out, I had enough to buy one on the first day, and I had the BBS running on that within a few hours. I remember discovering I had to make a change that would turn off video whenever the 1540 disk drive was accessed; there was some subtle timing problem that Commodore soon corrected with the 1541 model, which I promptly added to my setup. 64K of RAM and two 170K disk drives made for quite a powerful BBS setup by those days' standards and I added lots of nice features, including a hierarchical message system inspired by NYC's multiuser A-Tree BBS of which I was an early denizen.
As for the VICmodem, it worked fine on the C64 and I continued to use it and my homebrew autoanswer for a while, even though I knew my customers were using various autoanswer modems. There was no obvious need to replace it, although I now had enough money to buy whatever modem I wanted. I do recall I played around with a Novation JCat for a while, just because it was kind of cute.
Of course the C64 went on to be wildly popular and as the source of the first, and for a while the only BBS that ran on it, I sold quite a few copies across the country, enough to "live large" through junior high and my first year of high school. But then I discovered math, and more importantly girls, and I figured I didn't have time for that stuff any more. I sold the "business" to some guy out in the Midwest - probably at the best possible time. C64s weren't the future. I used some of the proceeds to buy myself the newly-released IBM XT (10 MEGAbytes of disk? How could I ever use all of that?!), switched to C and Lisp and never looked back...
I'd argue that word order is just as relevant (and indeed constrained by meaning) in Hungarian or Finnish as it is in, say, English, though the details of how each language's syntax works are very different. Also, there are plenty of languages not usually characterized as "agglutinative"(e.g. Russian) in which affixes rather than word order are the primary determinant of the role that a word plays.
"Agglutinative" is really just a way of saying that meaning-bearing morphemes in the language tend to be more closely bound together: where in English, for example, we'd express "in our houses" with 3 words, whereas in Hungarian, these would form a single word "házainkban" (ház[a] "house", -i- plural, -nk "our," -ban "in"). We know they're separate words in English because other stuff can come between them ("in each of our big houses"); not so in Hungarian. (So arguably agglutinativity is more about constrained morpheme order than it is about free word order!)
>Topic/subject languages, like Japanese, where previously defined context can radically alter meaning. "Watashi wa hamburger desu" can mean "I'm a hamburger", "I'll have a hamburger", "If you ask me, it's a hamburger", etc.
Of course context can radically alter meaning in English too; think of the waiter who says "which one of you is the hamburger?" ("Me, I'm the hamburger, and he's the Caesar salad.")
Almost all language classifications exist along a spectrum, or perhaps it'd be better to talk about a high-dimensional space. Different languages rely more or less on different strategies, but there are almost no linguistic features for which analogues can't be found in most languages.
That said, precisely because communication is a mutual endeavour, and language is a coöperative framework, there is no guarantee that -- just because you choose to use "they" in this way -- others will follow. I wouldn't be terribly surprised if, within a generation, "they" became an unmarked definite gender-neutral pronoun in English (today it is arguably unmarked in the case of an indefinite antecedent, but extremely marked otherwise). But I wouldn't be terribly surprised if it didn't, either. Language change is an emergent process and not something that can easily be forced in either conservative or radical directions.
Hardly coincidental! I very much had the K gui in mind when I originally architected it (and I'm not sure I'd describe it as a "reasonably conventional web application"...)
True. Also, amateur radio is clever, and fun, but of very little practical value. I've been a ham for almost 30 years. I like to compare it to sailing. If your goal is to get some place fast, you should choose just about any other conveyance besides a sailboat. Messing about with radios is loads of fun, but practicality is rarely a major consideration.
I guess my point is that being "100% convinced that the property had the [feature] of interest" based solely on a phone call is pretty risky when you're talking about a purchase as large as a house and a feature as important (to him) as ability to get broadband internet. I totally understand and sympathize with his plight (I was screwed in basically the way, actually, many years ago, though it was a rental rather than a purchase, and DSL rather than cable, and it did work out in the end in that case too). And the degree to which he was jerked around by Comcast here is almost unreal. I could feel my blood boiling when I read the story. But in the end, I don't think he is going to have any actual legal recourse. He said this was his first home purchase; I imagine next time he will insist on seeing the connection in action next time, or getting that contingency clause in if not!
In any case, your analogy doesn't really fit the situation. The seller didn't have cable, or, presumably, any fixed broadband internet service. (That in itself is a bit of a red flag; I'd think most households who can get internet service at a reasonable price these days already have it.) The situation you describe -- well, it's hard to imagine it happening, because the seller would clearly have been legally obligated to disclose that the water was from a well and not municipal, and in any case the buyer would, one hopes, have hired a home inspector who would have noted this (and probably detected issues with the well as w... umm, in addition). But it doesn't sound like the seller hid the fact that there was no internet service currently at the house, which means there's no liability there.
So this is more like buying a house with no running water at all, with the knowledge that this is the case, and then getting a verbal promise from the local water company that they'd be able to hook you up. If you were to buy a house under conditions like this, I maintain that you probably would want a contingency clause on installation of the water.
And for what it's worth our cable company (not Comcast, but another big one) had absolutely no problem starting the work (once they agreed to do it) for us before we were the owner or resident. If they had, we would simply have made the contingency something like "seller is obligated to have internet installed, for which the buyer will pay, prior to closing."
We bought a house that didn't have cable or DSL in a somewhat rural area -- the sellers were using 3G, satellite Internet, and dialup (!). They assured us that the only reason they hadn't had cable installed was the high cost they'd been quoted for running cable on the property (understandable as the house is almost 1/4 mile back from the street), and the cable company concurred that they'd be able to do the work, "no problem," and quoted a fee that didn't seem all that bad in the end (we took it into account when negotiating the price of the house).
Nevertheless, we made the sellers agree to a contingency - cable co. would successfully complete the work (on our dime, of course) and hook us up before the closing, and the total amount wouldn't exceed what we had been quoted. If the contingency wasn't met, the sale would fall through and we'd get our deposit back.
That contingency clause relieved me of a lot of stress over the next few months. Everything turned out OK in the end, but it was touch-and-go for a while.
Cable co. accepted the order with no problem, did a survey I guess, called us and said they wouldn't be able to do it. They were persuaded (not sure how -- agent took care of it) to reconsider, but then came back with a quote that was at least five times higher than before. Cue lots of emails and phone calls. It was helpful having an agent who lived in the community. In the end a local contractor dug the trench for us at a very reasonable price, cable co. came down on their estimate, and the work actually was completed at just under the original quote. The dirt was literally being shoveled back over the trench on the day of the closing.
As I recall it was actually a few days later that the cable guy came to do the inside wiring and "flip the switch," so strictly speaking the contingency (cable installed and working) wasn't satisfied by the closing, but we assumed we'd be OK at that point, and there were in fact no further hitches. We moved in and have enjoyed a (mostly) reliable, fast connection ever since. But we would absolutely have walked away, even though it was our "dream house," had we not been able to get the cable pulled. The contingency clause gave us the assurance that we could do that with no penalty. And, had it turned out that the work could be done but only at 5x the price, we could potentially have used the clause to negotiate a concession from the seller to cover the costs.
I'm a New Yorker, but I'm not a real estate maven, and it'd be hard for me to suggest specific neighborhoods without knowing the specifics of your situation. Renting or buying? One- or two-income household? What do you do, what does your spouse do? And so on. But there are lots of options, and most of them are represented by at least one person at the company, so if you come and interview you can ask around :-)
(1) We are looking for someone (v. 'Infrastructure Engineer') who'd be excited to take on the challenge of helping to run, and ultimately running, a rapidly expanding cluster of hundreds of high-performance servers at several datacenters. The environment is pretty unconventional (99.4% proprietary software, for example, and we prefer to use an "exotic" language - K - even for infrastructure purposes); I'd say it's much more comparable to academic/scientific clusters than to your typical web application company. So that kind of background wouldn't hurt! At the same time, though, you need to know Windows, 'cause we don't use Linux yet, and you need to know Linux, 'cause we will sooner or later, and you need to be really au courant on the standard datacenter stuff (networking, firewalls, security, backup and replication, racking hardware, receiving -- and making -- urgent phonecalls at inconvenient times, etc.). As you can imagine, this is a bit of a hard job to fill... you need to be highly experienced (because we need your experience to support the serious growth we're in the middle of) and yet have an extremely flexible mindset (since we do things in such an atypical way). But if you're the right person to fill it, the rewards will be substantial. Be the guy in charge of hundreds of some of the hardest-working servers out there: 1010data is the fastest analytical database on the planet, and our customers are pounding the cluster 24/7...
(2) We are also looking for a 'Web Application Developer'. But again, the dry job posting belies the fact we need something a bit unconventional. What we really mean by this is a hacker who just happens to really love hacking in JavaScript. This is, I sense, a rare combination. But it does exist (we have verified examples at 1010data). We are developing cutting-edge browser-based interfaces to aforementioned fastest analytical database on the planet and since JS is the Language of the Browser... well, that's probably why you, JavaScript Hacker, chose JS. Right? Oh, you say it's because it's kind of an awesome language in its own right? OK, well, whatever the reason: if you hack JS and want to develop cutting-edge browser-based interfaces for manipulating and visualizing large datasets... please, please apply for this job. You're going to love it at 1010data.
(3) We are looking for a 'Systems Developer'. We're not 100% sure how to define this, to be honest, but to paraphrase Justice Stewart, we'll know you when we see you. You need to know a lot about Windows internals, but ideally also Unix/Linux, since one of the major projects you'll be involved in will be a gradual environment shift. You'll be diagnosing performance issues. You'll be trying to wring more speed from our already very efficient cluster. You'll be writing code (bonus! in an exotic language!) to move data around, to do logging and performance reporting, and who knows what else. You're going to be the guy we all go to when it comes to the low-level arcana, so you're very familiar with the Way Things Work. You know who you are. Let us know too.
If you think any of the above is you... then write to [email protected] and mention that you saw Adam's post at HN.
1010data, by the way, is a fantastic place to work. We've got a whole floor in a grand old midtown building populated with a small but growing bunch of very dedicated, very smart, very happy people. We're growing fast, so there's a lot of energy, and you'll be working hard, but what you do will matter. No one is doing superfluous work at 1010. Your stuff will be used. You get all the startup excitement, but without the startup risk - 1010's a well-established company; we've been around since before the turn of the century. Which, these days, is almost as long as it sounds!