Slashdot Mirror


Ask Slashdot: What Are Some Things That Every Hacker Once Knew? (ibiblio.org)

Open source guru Eric Raymond turns 60 this year, prompting this question from an anonymous reader: Eric Raymond's newest writing project is "Things Every Hacker Once Knew," inspired by the day he learned that not every programmer today's knows the bit structure of ASCII. "I didn't write it as a nostalgia trip -- I don't miss underpowered computers, primitive tools, and tiny low-resolution displays... In any kind of craft or profession, I think knowing the way things used to be done, and the issues those who came before you struggled with, is quite properly a source of pride and wisdom. It gives you a useful kind of perspective on today's challenges."

He writes later that it's to "assist retrospective understanding by younger hackers so they can make sense of the fossils and survivals still embedded in current technology." It's focusing on ASCII and "related technologies" like hardware terminals, modems and RS-232. ("This is lore that was at one time near-universal and is no longer.") Sections include "UUCP and BBSes, the forgotten pre-Internets" and "The strange afterlife of the Hayes smartmodem" (which points out some AT commands survived to this day in smartphones). He requests any would-be contributors to remember that "I'm trying to describe common knowledge at the time." This got my thinking -- what are some that every programmer once knew that have since been forgotten by newer generations of programmers?

Eric Raymond is still hard at work today on the NTPsec project -- a secure, hardened, and improved implementation of Network Time Protocol -- and he promises donations to his Patreon page will help fund it. But what things do you remember that were commonplace knowledge "back in the day" that have now become largely forgotten? Leave your best answers in the comments. What are some things that every hacker once knew?

377 of 615 comments (clear)

  1. Handmade Hero by dottrap · · Score: 5, Interesting

    Watch Casey Muratori's Handmade Hero, where he codes a game live on Twitch from scratch with no 3rd party libraries.

    His entire effort is fueled by his desire to educate the next generation of developers with an understanding of how computers *actually* work, which is something he feels is both important and has been lost.

    https://handmadehero.org/

  2. Big Floppy is scamming you by Anonymous Coward · · Score: 5, Interesting

    Stick a hot soldering iron through the upper-left hand corner of your 720K floppy and now you've doubled the capacity.

    1. Re:Big Floppy is scamming you by Anonymous Coward · · Score: 2, Interesting

      Stick a hot soldering iron through the upper-left hand corner of your 720K floppy and now you've doubled the capacity.

      there was alot of floppy tricks. !!! i remember on old apples there was a special hole puncher to make the disk double-sided (on the apple you had to flip the disk but ibm could read both sides).

      also there was 3rd party software on both platforms to format the disks to all sorts of strange/larger capacities. i remember os/2 warp 3-something shipped on like 30 3.5 floppies that were formatted out to something like 1.7mb (xdf??) - but anywhat, ppl. expanded this and there were dos drivers that could format a 3.5 floppy to 1.8mb.

    2. Re:Big Floppy is scamming you by Anonymous Coward · · Score: 3, Funny

      Big Floppy

      There's a pill for that.

    3. Re:Big Floppy is scamming you by silentcoder · · Score: 4, Funny

      There wasn't one then.

      --
      Unicode killed the ASCII-art *
    4. Re:Big Floppy is scamming you by skids · · Score: 1

      Also there was: "no, a standard PC 3.5 inch floppy drive cannot format an apple floppy because the heads don't have enough travel range, so please read the FAQ and stop asking again and again on the USENET forums"

    5. Re:Big Floppy is scamming you by wierd_w · · Score: 1

      That was the Microsoft Distribution Format, or MDF.

      There was another, less frequently used one that went to 1.62mb, instead of 1.72, but I forget what it was called.

      Not all media was created equally though. Some disks were just total garbage if not formatted at the intended 1.44mb. I strongly suspect that they had uneven distribution of magnetic particles in the mylar, so that sector marking areas (when formatted to 1.44) were more reliable than data areas. When formatted with unusual sector and track layouts, these did not align anymore, and the disks behaved unpredictably. Others were just fine at even the strangest geometries. It was often a crapshoot to try formatting diskettes to MDF.

      Thankfully the AOL install floppies were of the really nice, easy to format, and good at data retention type. :P Just put some tape over the hole, and peel off the label. You could get hundreds of them in the mail for free! Those were simpler times!

    6. Re:Big Floppy is scamming you by BenFranske · · Score: 2

      I'm pretty certain it wasn't the travel range of the head that was the problem but the variable spindle speed used in by their GCR format on 400k & 800k disks.

    7. Re:Big Floppy is scamming you by j2.718ff · · Score: 1

      Also there was: "no, a standard PC 3.5 inch floppy drive cannot format an apple floppy because the heads don't have enough travel range, so please read the FAQ and stop asking again and again on the USENET forums"

      Really? Maybe things changed later on, because I remember buying a software package that allowed me to read/write Mac-formatted disks on my PC - I don't recall having any difficulty using it.

    8. Re: Big Floppy is scamming you by paai · · Score: 1

      Best floppy trick: to damage part of the surface, decide which tracks were in act damaged and use that as an anti-copy scheme... If you could format those tracks, it was not the original disk :-)

      Paai

    9. Re:Big Floppy is scamming you by Aighearach · · Score: 1

      This is what the whole world was like before the internet; every subject. Garbage data everywhere, and it would take weeks to actually "look it up" somehow. You just had to trust what people told you, and it was almost always wrong.

      This still is the world for a lot of people, sadly.

    10. Re:Big Floppy is scamming you by Scoth · · Score: 1

      The earlier 400/800k Mac disks couldn't be read on a standard PC floppy controller due to the GCR format that used variable speed bits. No amount of software could change this (though there were some hardware solutions from third-party floppy controllers to entire floppy subsystems)

      The later HD floppies could be read just fine on a PC with various software packages to read HFS. They moved over to using standard MFM encoding for their HD drives.

    11. Re:Big Floppy is scamming you by skids · · Score: 1

      Thanks, I must have misremembered and/or assumed differently at the time. I do remember being rather frustrated trying to build a single "all media reader" system crammed with every type of drive, before networking became common fair on home computers.

    12. Re:Big Floppy is scamming you by PincushionMan · · Score: 1

      DOS user here: One of the tools I was introduced to in college, was SMAX. Smax.com was a TSR (terminate & stay resident) that would run in the background, allowing you to use your disk with up to 21 sectors per track (SPT). This in turn got you fairly close to 1.7MiB per floppy, instead of 1.44 MiB per floppy. The program needed for format your disk for this was fdformat. A trick was that you could make sure that you copied smax.com to the disk first, then you could load it in case you forgot your utils disk. All three 720k disks of F19 Stealth Fighter could be made to fit on one fdformatted floppy. I thought I packed the EXE with LZEXE; but it may have used OVL (overlay?) files, so I might not have been able to that.

      Tip: For floppy drives, Teac made the most reliable readers. Added USB bonus is they are twice as fast as the floppy controller on the motherboard. They were the gold standard, especially their dual 5.25" QD and 3.5" HD disk unit.

      In my (admitted limited) sampling of disks, the absolute worst were those that came from the software and games purchased. There was a reason there was a page in each box that said BACK UP YOUR DISKS! Those things must have been rated for 25 reads or less. After that was the no-name brand disks. You could hole punch or fdformat those, but they wouldn't hold up. I had the best luck with 3M and Sony media. Imation disks were a crapshoot - some great, some not-so-great. Those Sony disks - so long as they weren't smax disks, are still readable with a Windows 8.1 PC today - but they are much easier to mount and image with Linux. Windows 10 dumped the floppy controller support, and also the joystick port support, I believe. Don't know about RS232 support, though.

  3. bitwise math by Anonymous Coward · · Score: 1

    how to program! haha.... sorry, I could not resist. One thing that comes to mind is using bitwise operators to speed up "complicated" math operations on older hardware.

    Example: shifting the bits to the left or right to multiply or divide by two

    1. Re:bitwise math by Racemaniac · · Score: 1

      i'm always wondering: wouldn't a modern compiler also catch that and do it for you?
      so you just end up making more complex code to read just to manually do an optimization the compiler would do for you anyway.

    2. Re:bitwise math by Anonymous Coward · · Score: 1

      For signed numbers, >> 2 and / 4 are not the same operation, so the compiler cannot do it for you.
      Besides, you can't RELY on computers to ever do the most basic optimizations.
      Just write a C++ class with a constructor that initializes everything to 0 and be amazed as it generates a write for each single element in the class instead of doing a memset.
      It gets even "funnier" when you have that class as a global variable, where it gets initialized at startup, wasting CPU power AND memory over just putting it into bss (where it would have been initialized at essentially 0 cost).

    3. Re:bitwise math by AchilleTalon · · Score: 1

      Good question. I am wondering the same. This is clearly the job of the compiler's optimizer to do this kind of things.

      --
      Achille Talon
      Hop!
    4. Re:bitwise math by Joce640k · · Score: 4, Interesting

      For signed numbers, >> 2 and / 4 are not the same operation, so the compiler cannot do it for you.

      Of course it can.

      Compilers aren't AI, they can do any 'trick' the compiler writer knows, eg. using a shift instruction that preserves the sign bit. You need to disassemble some compiler output sometime and see the impressive amount of tricks they know. It's almost as if the compiler writers take pride in their work.

      --
      No sig today...
    5. Re:bitwise math by skids · · Score: 4, Informative

      Ahh yes the good old days of XOR-based linked lists.

    6. Re:bitwise math by halivar · · Score: 4, Informative

      In .NET, no. About 6 years ago I was tasked with rewriting our base-64 encoder/decoder. We were using MS's built-in encoder and is was too slow to handle a multi-GB inbox (we sold a shrink-wrap email server for ISP's). First I rewrote it in regular math operations, and it was faster, but not fast enough. I rewrote it again using bit-shifting operations and it was an order of magnitude faster. I really had to reach back into my days coding MUD's in C for that. We really take our faster computers for granted, and our code is far from the level of optimization we were once required to achieve.

    7. Re:bitwise math by MondoGordo · · Score: 1

      Why the questioning/criticism ? Sure most modern compilers do a lot of these optimizations for you .... But isn't the point of the post to find things that everyone knew and don't know now ? Not to find things that are still relevant ....? Frigging /. haters ....

    8. Re:bitwise math by mrchaotica · · Score: 1

      Compilers aren't AI, they can do any 'trick' the compiler writer knows

      There is an entire class of optimizations that the programmer can make but the compiler can't because the programmer understands things about the program that aren't expressed in the source code. For example, maybe the programmer knows that in his case the shift really is equivalent to the divide because he knows the range of the possible inputs, but he can't tell the compiler that unless he's programming in Ada.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    9. Re:bitwise math by JaredOfEuropa · · Score: 3, Insightful

      We really take our faster computers for granted, and our code is far from the level of optimization we were once required to achieve.

      And that's a good thing too; now we can focus on more important things. It also makes our code better in terms of readability and maintainability. I once had to optimize the crap out of a routing algorithm to bring the execution time within acceptable limits. I made it work within the time allowed, but the resulting code was extraordinarily hard to understand and maintain. On better hardware we got away with a straight-up, clean implementation in C.

      But knowing weird ways to optimize code still comes in handy from time to time. I know programmers who manage to squeeze a couple of ms from a routine and turn a sluggish bit of UI into something that performs smoothly. And I see others who give up thinking "this is as good as it'll get".

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    10. Re:bitwise math by networkBoy · · Score: 1

      Any time I've had to *really* tune something I've left the clear simple C code in a block comment in the source.
      I leave a note: This code is not cruft, this is what the below sub with inline asm and crazy bit operators does but in a vastly more readable form.

      As a matter of course I try to make those crazy optimizations as self contained as possible, ideally as their own sub.

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
    11. Re:bitwise math by steveha · · Score: 1

      I actually used that trick once.

      There is a company near me that develops games for consoles. Their web page had a "challenge" for people to solve, and I wanted my solution to be extra-good since I had no experience working in the game business. The challenge was to implement a C library that would store data in queues; there were API calls to create a new queue, to destroy a queue, to enqueue data, and dequeue data. The kicker was that your program would be run with only 2048 bytes of storage. I used the XOR trick to save memory, and my program exceeded the minimum specs (needed to be able to create at least X queues with at least Y characters, I don't remember what actual numbers were for X and Y). I also wrote a Python program that tested my code by enqueuing and dequeuing random data. (Letting that run overnight I found a corner case I had missed, and I fixed that before I submitted my program.)

      I submitted my program and the Python test program, and right away got a terse form letter "Thanks but no thanks". My guess is that I never made it past their HR department... I should hope that if one of their developers had looked over my solution, with the XOR linked lists and the Python test harness and all, I would have at least had a phone screen.

      --
      lf(1): it's like ls(1) but sorts filenames by extension, tersely
    12. Re:bitwise math by Aighearach · · Score: 1

      The compiler not only can do a different math operation than you asked, because it figured out the result would be the same, it can also replace your "optimization" with a better one!

    13. Re:bitwise math by Aighearach · · Score: 1

      Right, right, she can't tell the compiler what the inputs are, but it might actually know anyways.

      It actually goes the other way; once in awhile you have to tell the compiler to stop pretending it knows! This happens all the time in embedded programming, and in OS kernels.

    14. Re:bitwise math by Voyager529 · · Score: 1

      We really take our faster computers for granted, and our code is far from the level of optimization we were once required to achieve.

      And that's a good thing too; now we can focus on more important things.

      Admittedly not a coder, but I'm in partial agreement with this. True, the ability to throw hardware at a performance problem is easier now than it used to be, but that doesn't mean that there isn't a benefit to optimization.

      Even if not formal QA, it's worth going to Best Buy and getting the absolute cheapest computer they have (probably a Celeron with 4GB of RAM, a slow hard disk, and no GPU of consequence), along with Norton Internet Security, and no uninstalling anything that shipped with the machine. Use your program on that and see how it runs. A measurable number of your users will try using your software on that. If it's not usable, it's worth optimizing.

      You might have a development workstation with 32GB of RAM and a core i7 and a Quadro card and an SSD, but not all of your users are. Even if they do, they may well be running Photoshop, AutoCAD, and a VM or two. "Lots of hardware" and "Lots of hardware for you to use" are two different things. Sure, far less necessary to optimize programs as much as they used to be, but there is still value to keeping system resource usage as low as it can.

  4. EBCDIC by dwywit · · Score: 3

    Specifically, EBCDIC-ASCII tables.

    --
    They sentenced me to twenty years of boredom
    1. Re: EBCDIC by Chuck+Chunder · · Score: 1

      One of the (external) interfaces I work with involves sending ASCII encoded EBCDIC encoded data as post data to a UTF8 web server. (Ie where I need to send the digit "1", we send the hex bytes 46 31, ASCII encoded chars for F9, the EBCDIC character code for the "1" character) This stuff does live on and on and typically gets wrapped inside something else....

      --
      Boffoonery - downloadable Comedy Benefit for Bletchley Park
    2. Re: EBCDIC by Jay+Maynard · · Score: 1

      Actually, '1' in EBCDIC is 0xF1.

      --
      Disinfect the GNU General Public Virus!
    3. Re:EBCDIC by FaxeTheCat · · Score: 2

      In the old days when I had to deal with this (sending EBCDIC encoded data to companies using mainframes), I did not have to deal with the conversion tables, as OpenVMS had system subroutines to do this.

      Sending EBCDIC data on half inch tapes.... those were the days...

    4. Re:EBCDIC by WoodstockJeff · · Score: 4, Insightful

      For some of us, it's today... I have two processes where the data arrives as EBCDIC plus binary data, and the files are constructed to emulate a 200-byte tape record. I got to learn all about how COBOL represented numbers in various fields to get these running in 1991 and 2000, and still have to remember them when the people source the data need help remembering how it works.

      They keep saying they want to sunset the applications that generate the EBCDIC data, but, in 15 years of saying that, they have yet to create a viable alternative.

    5. Re:EBCDIC by FaxeTheCat · · Score: 1

      I guess that is another thing everybody knows (or should know): "Temporary" solutions tend to become "permanent temporary" after a while...

  5. Pinouts by famebait · · Score: 4, Interesting

    RS232 an null-modems are mentioned in TFA, but I'd like to add a detail:
    Most of the more hackerish students where I went (ca 1990) knew the minimal pinout for a null-modem by heart so we could improvise one with 3 wires and matches/paperclips/whatever. By the time we graduated LANs and to some degree internet mane that knowledge obsolete, but it sure did save the day a few times, typically for transferring files between different platforms with different floppy formatting.

    --
    sudo ergo sum
    1. Re:Pinouts by fergettabatit · · Score: 1

      I work in manufacturing and some of the equipment is still around from the '80s. The ONLY way to get data in or out other than chopping it in by hand at the console is through the RS-232 interface. I keep a pin-out for a DB-9 and DB-25 but rarely use them anymore.

    2. Re:Pinouts by AmiMoJo · · Score: 1

      RS232 is still pretty common with the electronics hackers. Most microcontrollers have a UART of some kind, or you can make one in software.

      People used to know the registers to program the UART and the standard baud rates by heart. That's a bit less common now.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    3. Re:Pinouts by SharpFang · · Score: 5, Interesting

      Eh, networking multiple Amigas together at a copy-party...

      Nobody had any special hardware. But we had a bunch of serial and parallel cables, and every Amiga had a serial and a parallel port. So we'd daisy chain them serial-parallel-serial-parallel...
      Then there was no real networking software, but there was the contents of the computer connected over serial or parallel seen as an extra "disk drive" with its volumes seen as directories.

      So, you want to copy a file to that guy three computers over to your left? The guy to your left connects to you over serial, so open the 'drive' that stands for serial link, and you're on his computer. Then open the 'parport' directory and you're two computers over. Open another 'serial' and you're with access to the computer you wanted :D

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    4. Re:Pinouts by TeknoHog · · Score: 1

      RS232 is still pretty common with the electronics hackers.

      A lot of modern embedded computers such as modems/routers have a TTL level serial port somewhere on the board. It's nice to have an extra way into the machine if its network is down, for example.

      or you can make one in software.

      Or software-as-hardware when programming FPGAs. Many FPGA boards have one traditional RS232 port, but it's only provided with voltage converters, so you need to program the actual signaling logic. But if you only need TTL level signals, you can skip the traditional voltages and use plain FPGA pins.

      --
      Escher was the first MC and Giger invented the HR department.
    5. Re:Pinouts by j2.718ff · · Score: 1

      RS232 an null-modems are mentioned in TFA, but I'd like to add a detail:
      Most of the more hackerish students where I went (ca 1990) knew the minimal pinout for a null-modem by heart so we could improvise one with 3 wires and matches/paperclips/whatever. By the time we graduated LANs and to some degree internet mane that knowledge obsolete, but it sure did save the day a few times, typically for transferring files between different platforms with different floppy formatting.

      I guess I'm about 10 years younger than you, and I had the same information memorized. But I guess I was using it more for working with lab equipment, as some sort of a project, rather than for the purpose of sharing data with friends in my dorm. I also used to have the correct ordering for Ethernet and cross-over cables memorized, but it's been a long time since I've had to put together any kind of cable myself. So either I use cables a lot less, or I'm just lazy, and find it easier to buy a ready-made cable instead.

    6. Re:Pinouts by medoc · · Score: 1

      4-5 6-8-20 :)

    7. Re:Pinouts by sjames · · Score: 1

      It's still not dead on servers, but it's more hidden. Now the serial console attaches to the management system and can be seen as Serial Over LAN. The BIOS still supports redirecting the old text mode display to serial, sometimes as a screen scrape and sometimes as an intercept of the old BIOS character display calls.

      The nice thing about that is that unlike many of the brain damaged "KVM" support, they don't require some Java applet in your browser that requires an obsolete version of JVM, a particular "brand" of JVM, or somehow defies connecting to it through an SSH tunnel.

    8. Re:Pinouts by nuckfuts · · Score: 1

      Similarly, I frequently tested RS-232 ports / cables by jumpering pins 2 and 3 with a paper clip to make a loopback cable.

    9. Re:Pinouts by HornWumpus · · Score: 1

      Those old skills came in handy keeping a HAAS VF-0 working.

      I had to relearn DOS lanmanager to get an old Miltronic networked.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  6. That the only way to by fred911 · · Score: 2

    repetitively assure a V.32bis connection was to use a US Robotics modem and all the cloned softmodems were garbage.

    --
    09 F9 11 02 9D 74 E3 5B - D8 41 56 C5 63 56 88 C0 45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    1. Re:That the only way to by MachineShedFred · · Score: 2

      Soft modems were garbage, no doubt. But Rockwell still made some amazing modem chipsets. A lot of people forget that K56Flex (Rockwell's proprietary 57,600 bps encoding) could actually get to 56k on phone lines due to superior error correction, where USR's proprietary version topped at 53,000. When the V.90 standard came out, it used the lesser encoding and topped at 53,000; the Rockwell V.90 modem chipsets would still do K56Flex if you configured them to with your initialization string (AT commands, woo!) and your ISP supported it - you could squeeze a little more out.

      US Robotics was great in the 28.8 / 33.6 days, but mostly traded on their name after that, and completely ruined their name with their garbage "soft" modems. The SupraExpress modems were superior in the 56k days, especially if you could find one of the international "memory" modems that could do digital voice mail even with the computer turned off.

      Even the "controller-less" modems sucked, but were still better than those soft modems. On today's computers it wouldn't matter because there's so much extra power available that you don't need the hardware data pump anymore, but in those days it really mattered for connection stability.

      --
      Slashdot still doesnâ(TM)t support Unicode after it was added to the HTML standard in 1997.
    2. Re:That the only way to by operagost · · Score: 1

      I remember I had a Zoom 14.4 modem that had no error correction or compression in hardware, so it was actually slower than my roommate's 2400 bps modem unless I used the funky Windows 3.1 terminal software it came with that wouldn't run in a Win-OS/2 session. I also remember that somehow, IBM's internet service software must have had compression built into it too, because I used to get almost 3K/s downloads with it (but it was way more expensive than the mom'n'pop ISP).

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    3. Re:That the only way to by mm4 · · Score: 1

      Intel 1414i was the best modem ever. It cost around $150 and then Intel killed it because it was cannibalizing their expensive $500+ modem sales.

    4. Re:That the only way to by michael_wojcik · · Score: 1

      I liked the Telebit Trailblazers myself. Robust, fast, could spoof UUCP and X-Modem and various other protocols... I used to use a pair to work remotely between Ohio and Massachusetts, sometimes with a regular getty shell, sometimes UUCP file transfers, sometimes SLIP and full IP. Even at V.42bis speeds it was quite usable.

  7. Re:IBM (MS) Basic Manual by jandersen · · Score: 2

    Or, if you're lazy, 'man ascii' (in Linux)

  8. Hexadecimal by IHTFISP · · Score: 5, Funny

    Hexadecimal: what it is, why it is and how & why it evolved from octal.

    That, and why real computer scientists often confuse Halloween w/ Christmas: 31 Oct = 25 Dec.

    --
    Error: NSE - No Signature Error
    1. Re:Hexadecimal by Joce640k · · Score: 4, Insightful

      Hexadecimal: what it is, why it is and how & why it evolved from octal.

      This word 'evolved'. I don't think it means what you think it means.

      Multiples of 4 bits (ie. hexadecimal) is more natural in a binary world.

      Multiples of 3 is stupid, it was only ever going to be temporary.

      --
      No sig today...
    2. Re:Hexadecimal by Anonymous Coward · · Score: 1

      Multiples of 3 isn't stupid if you only can display decimal numbers.

    3. Re:Hexadecimal by NoNonAlphaCharsHere · · Score: 1

      Multiples of 3 is stupid, it was only ever going to be temporary.

      chmod 755 a.out
      chmod 644 foo.txt

    4. Re:Hexadecimal by mwvdlee · · Score: 1

      Or at most decimal number upto 7. (2^3=8)

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    5. Re:Hexadecimal by gardner · · Score: 1

      Thank goodness file permission masks have evolved past octal in the ensuing years. Oh, wait.

    6. Re:Hexadecimal by Jay+Maynard · · Score: 1

      Actually, Eric's discussion goes into that a bit. Octal is more natural on a 36-bit machine, and those were once quite common...fo what turn out to be good reasons.

      --
      Disinfect the GNU General Public Virus!
    7. Re:Hexadecimal by Tomahawk · · Score: 2, Insightful

      which lives on to this day in *nix
      chmod 777
      chmod uses octal numbering, one bit for each flag, and the flags are in groups of 3.

    8. Re:Hexadecimal by russotto · · Score: 1

      Multiples of 3 isn't stupid if you only can display decimal numbers.

      Or if your word length is 36 bits.

    9. Re:Hexadecimal by SharpFang · · Score: 2

      Considering there's one digit per 'entity' they might just as well be hexadecimal with top bits of each digit unused.

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    10. Re:Hexadecimal by brausch · · Score: 1

      The Cyber supercomputers by Cray did everything in octal. 6-bit characters packed ten to a 60-bit word. Double precision FORTRAN was 120 bits. All the core dumps, etc. were in octal. I had to learn hex after spending a few years in the octal world first. It didn't seem temporary at the time! :-)

      --
      "Almost every wise saying has an opposite one, no less wise, to balance it." - George Santayana
    11. Re:Hexadecimal by Rick+Schumann · · Score: 1

      It escapes me at the moment, but there were mainframe and minicomputer-related reasons why for the longest time octal was the numbering system of computers.

    12. Re:Hexadecimal by brausch · · Score: 1

      Cyber computers by CDC. Designed by Seymour Cray. He then left and start Cray Corp because his opinion on the future machines differed from other senior managment.

      --
      "Almost every wise saying has an opposite one, no less wise, to balance it." - George Santayana
    13. Re:Hexadecimal by Hognoxious · · Score: 1

      It only uses octal because it can get away with it. If there was a fourth action (like delete or smoke) they'd use some other notation because it would suck ass.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    14. Re:Hexadecimal by slothman32 · · Score: 1

      And on 2014, Thanksgiving(USA), Nov 27
      2025 As well.
      Thst's only every 7 years on average.

      --
      Why don't you guys have friends or journals?
    15. Re:Hexadecimal by Anne+Thwacks · · Score: 1
      Many years ago, far back in time*, the British Minister of Education made the interesting observation that people could be divided into two types: those that could be further divided into sub-types, and those that could not.

      This, of course, led directly to the introduction of binary arithmetic in schools (or its being banned, I forget which).

      * I remember it as being the same year JFK was assassinated, but I might have been confused by an excess of "Texas School Book Suppository" jokes, and the fact that my mother was programming IBM mainframes in Octal.

      --
      Sent from my ASR33 using ASCII
    16. Re:Hexadecimal by Anne+Thwacks · · Score: 1
      My word length is 60 bits, you insensitive clod.

      signed: A Cray User.

      --
      Sent from my ASR33 using ASCII
    17. Re:Hexadecimal by HornWumpus · · Score: 1

      When I was in school, one of the guys in the lab wrote a bunch of low priority jobs to run on the VAX. Their only job was to flash the lights on the panels of various components so programs appeared to visibly 'jump' from one component to another (as the low priority tasks were swapped out).

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    18. Re:Hexadecimal by RockDoctor · · Score: 1

      This, of course, led directly to the introduction of binary arithmetic in schools (or its being banned, I forget which).

      Both, simultaneously. But they swapped implementations whenever the wind turned from widdershins to turnwise.

      --
      Birds are not dinosaur descendants;birds are dinosaurs, for all useful meanings of "birds", "are" and "dinosaurs"
  9. Download resumes by fred911 · · Score: 2

    Only had a chance with Zmodem.

    --
    09 F9 11 02 9D 74 E3 5B - D8 41 56 C5 63 56 88 C0 45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    1. Re:Download resumes by Cornwallis · · Score: 1

      Thanks for that. I've still got my original Zmodem registration diskette. I miss those days.

      I'd yell for someone to get off my lawn but we got a foot of snow overnight.

    2. Re:Download resumes by skids · · Score: 1

      Yeah, not having ever dealt with modems is probably why browser developers scrapped resumable FTP/HTTP downloading capabilities. Which can still be useful in certain situations. We throw away these tools when they no longer seem needed, and then make horrendous hack jobs to work around the corner cases they still filled.

      I wonder how many younguns even know of the existence of the split command.

    3. Re:Download resumes by admin7087 · · Score: 1

      While we're at it, the AT modem command set and proprietary extensions.

    4. Re:Download resumes by SigmundFloyd · · Score: 1

      browser developers scrapped resumable FTP/HTTP downloading capabilities

      Whaaaat?!

      --
      Knowledge is power; knowledge shared is power lost.
  10. Who needs Bittorrent? by Anonymous Coward · · Score: 1

    copyiipc a: b:

  11. DOS Hackers by silentcoder · · Score: 5, Interesting

    (Yes, they existed - especially in the mid-1980s) all knew:
    - Interrupt 18 to force a reboot
    - The memory range which was set aside for the display, and which you had to write to in order to do graphics (non-hackers used libraries but hackers mostly went for embedded assembler to try and squeeze a little more speed out for graphics work)
    - The hex number for every one of the 16 colors a CGA display could show (Sierra Online took it a step further in the AGI engine and invented an early precursor of the scene-bumpmap which allowed their pseudo-3D adventure games to work by using a map-image where depth was indicated by color allowing characters to walk in front or behind objects). Unlike a true bumpmap it didn't specify height for lighting, it specified distance from the screen for movement. It allowed the Y axis to double as a Z axis
    - How to read/write from the parallel port
    - How to write to the PC-speaker's memory address to play sounds
    - How to access extended memory

    All things that went by the wayside when Unix and Win32 became available on the PC platform, acting like you are root all the time became frowned upon, libraries became the normal way of doing things, memory wasn't artificially limited to 640K. Some of the legacies of this era lived on rather longer than you'd think. As late as the early 2000's the best way to run most games on Linux was still using SVGALib - which wrote directly to video memory and didn't require resources for X, but in an age before the DRM driver in the kernel SVALib meant you had to run your game as root. I still played Quake2 that way ! The way SVGALib worked was simply a slightly larger memory region using the exact same techniques that we had used in the 1980s.

    --
    Unicode killed the ASCII-art *
    1. Re:DOS Hackers by Anonymous Coward · · Score: 1

      The parallel port was deeply under-rated in my opinion. Put it in extended mode and you had a good 8-10 (depending how you count the state lines) of asynchronous I/O ready to go.

    2. Re:DOS Hackers by silentcoder · · Score: 5, Interesting

      Indeed, and back then parallel was significantly faster than serial (hence it being used for printers). It was a favorite tool for copying files between PC's as well as it could do in 20minutes what would take an hour over serial (after a previous hour trying to get both PC's serial ports configured to matching configurations).

      Among the hacker crowd it had another major use too - you had 8 circuits that could be individually switched on/off by sending a different byte over the port, It was extremely low voltage (you could just about light-up an indicator LED with it - but you could use it to flip a switch, whether that was an electronic transistor based on or a cheap relay-based one depended on your budget) and that meant you could turn non-computer devices on and off with software.
      The early days of home-automation relied on the parallel port because a single CPU in the box could control 8 different devices and switch on any particular combination of them at any given time. It didn't become possible to do that over a serial port until the other side of the connection was smart and could actually execute instruction code.
      In my case - I had a complicated circuit that replaced the controller of a scalectric car with 4 voltage boosters allowing step-up speed control (all off would stop it), and the other 4 bits on the other track. So sending 10001000 would have both cars drive at minimum speed, 11001000 would have the first car at twice the speed of the other.
      Then I started the process of trying to program a time based sequence to give me perfect (fully automated) scalectric laps with no cars ever flipping but doing the track at the highest speed possible. It would have been so glorious...

      Would have been...

      See I was about 12, my electronics skills were not that advanced and frankly I hadn't considered the huge amount of RF noise that scalectric brushes produce - let alone that slowing down caused the motor to act as a generator creating voltage the other way (the same effect now used for regenerative braking in Tesla's)... a mere few hours after I got the whole thing to work... I fried my motherboard. And that, ladies and gentleman, is the story of how I learned the value of surge protection. That too is something every hacker (at least those in lightning territory) used to know - modems on phone lines had a nasty habit of sending lightning surges through your PC.
      You soon learned that surge protectors had limited power against the kind of voltages lightning strikes put on a line... you always unplugged everything at the first sign of a cumulonimbus cloud.

      --
      Unicode killed the ASCII-art *
    3. Re:DOS Hackers by AmiMoJo · · Score: 1

      The change between stuff being at fixed addresses and just poking it is probably the biggest one. I still remember register addresses from old machines. Startup code consisted of booting the OS out, taking over all its interrupts and memory so you could just poke stuff yourself.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    4. Re:DOS Hackers by silentcoder · · Score: 1

      I assume by "poking" you are referencing the BASIC peek/poke direct-memory access commands ?
      I never had used them much, I learned BASIC from a C64 manual long after my family had moved onto a 286 - so that was the point where the manual stopped working since the PC had a completely different addressing scheme to the commodore.

      I moved on to TurboPascal within about 2 years and most of my efforts would be focused there for the next several years, my graphics and demoscene experiences all happened in TP, first with BGI and later with embedded ASM. The worst thing about BGI was having a fantastic sprite capture/blit/animation approach (which couldn't possibly work today because XORblit is only animated on a monochrome display) ... and absolutely no way to save the results to a file. I actually tried to come up with a way to do so in order to write a sprite editor.
      That effort led to my first genuine Schroedenbug. See the sprite editor work, I could make sprites, save them, and run another program that used them... and then they would a few hours later, running the same program it would instead blit random gibberish.
      It turns out, it should never have worked at all - what I was saving to disk was not the data for the bitmap - but the actual pointer to where that data was stored in memory. The only reason it temporarily worked was because DOS had no memory-management to speak off and nothing like a garbage collector. A program which wrote something to memory, and ended, would leave the data sitting there in RAM until something else wrote over it. So until that happened, another program with the same pointer address could get access to the same data. But once something use that memory, what that file-read value was sending the xorblit command was the gibberish it was blitting.
      It took me days to figure out what was actually happening, once I did - I was so disheartened I gave up on ever figuring out a solution. To this day I consider the single worst shortcoming TP ever had to have been the complete inability to serialize data from a pointer into something you could store.

      --
      Unicode killed the ASCII-art *
    5. Re:DOS Hackers by Tesseractic · · Score: 1

      One small nit - the PC speaker wasn't memory mapped - it was in I/O space.

    6. Re:DOS Hackers by AmiMoJo · · Score: 2

      Yes, it was a BASIC command... It's become short hand, at least around here, for writing a value to memory space in any language, at least around here. I guess it's like "googling" or "grepping", just a handy verb.

      I never did much with DOS beyond QuickBASIC because that's all I had. I was mostly doing Amiga stuff in assembler and Blitz BASIC. Blitz was great because it handles all the boring set-up and file loading, but allowed you to write in-line assembler for the performance critical parts.

      The Amiga was similar in that memory was not cleared or protected in any way. On popular technique for ripping stuff from games was to simply reset the machine and load up a ripper that would scan through memory for music and graphics. You sometimes couldn't get the colour palette data for graphics though, as it was usually managed by a special co-processor and effectively hard-coded into a program for it to execute. Eventually I got an Action Replay cart which could handle all that and was great for learning about various demo effects by pausing and single-stepping them in a monitor.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    7. Re:DOS Hackers by Anonymous Coward · · Score: 1

      Being nitpicky, but CGA was 4 colours. EGA was 16.

    8. Re:DOS Hackers by silentcoder · · Score: 1

      You're probably right - we're talking about 20-odd years ago, it's more than likely I've forgotten a detail :P

      --
      Unicode killed the ASCII-art *
    9. Re:DOS Hackers by ranton · · Score: 3, Insightful

      The memory range which was set aside for the display, and which you had to write to in order to do graphics (non-hackers used libraries but hackers mostly went for embedded assembler to try and squeeze a little more speed out for graphics work)

      My primary reason for disliking Win 95 was it was the first Windows OS which started to really mess with programs that wrote directly to the memory address A0000000 for graphics. I was only a hobbyist in high school at the time and had a hard time finding an alternative which performed as well as TASM code writing directly to the hardware. Eventually I started using DirectX but I remember having a real hard time finding information on how to use version 1.0 in late 1995. I relied heavily on Lamothe's "Tricks of the Game-Programming Gurus" to learn these techniques at the time, and wasn't skilled enough yet to learn new technologies quickly on my own.

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
    10. Re:DOS Hackers by silentcoder · · Score: 1

      My only actual C# experience was hacking some KSP mods, but what I saw did not impress me much.
      I've been a python programmer too long now, kept forgetting semicolons lol.

      --
      Unicode killed the ASCII-art *
    11. Re:DOS Hackers by radish · · Score: 3, Interesting

      And interrupt 27h to terminate stay resident :) The fun we used to have with that one in my school PC labs...

      --

      ---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"

    12. Re:DOS Hackers by silentcoder · · Score: 1

      Geez, you're right, I had completely forgotten about EGA... wow.

      And now you mention it, I remember how incredibly proud and happy I was when I got my first EGA screen and could go beyond 4 colors. Space Quest 2 looked soooo gorgeous to my eyes then.

      And when VGA appeared with 256 it was all over again, and then 16/24/36-bit SVGA ... after that it got weird.

      --
      Unicode killed the ASCII-art *
    13. Re: DOS Hackers by silentcoder · · Score: 1

      Today I Learned.

      --
      Unicode killed the ASCII-art *
    14. Re:DOS Hackers by scsirob · · Score: 1

      C:\> DEBUG
      - G=C800:5

      --
      To Terminate, or not to Terminate, that's the question - SCSIROB
    15. Re:DOS Hackers by JaredOfEuropa · · Score: 1

      The Amiga actually had a function for that: it suspended the OS so you could have the entire machine to yourself, and revive the OS once you were done. A lot of games ran in this mode.

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    16. Re:DOS Hackers by AmiMoJo · · Score: 1

      Indeed, although all it did was suspend the OS and later resume it. You had to put everything back the way you found it, all the hardware registers, copperlists and the like.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    17. Re:DOS Hackers by operagost · · Score: 1

      Surge protectors can be pretty reliable, as long as you have a good quality one (330V) and a PROPERLY WIRED, GROUNDED RECEPTACLE. The ground pin in my apartment 9 years ago was shorted to HOT, so when we had a surge, the surge protector could not direct it to ground and the MOV took the entire surge, which cooked it. When I came home, I was treated to the stench of a smoldering surge protector. We were frighteningly close to a fire.

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    18. Re:DOS Hackers by operagost · · Score: 1

      Being nitpicky, but CGA could display 4 colors from 16 split over two palettes with high/low intensity. You could also perform some hackery, like changing the palette in the middle of the scan to display up to the full 16 colors, or use text mode to get 160x100 with 16 colors.

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    19. Re:DOS Hackers by lucasnate1 · · Score: 1

      You could actually get 16 colors in CGA if you scaled down to a resolution of 160*100. Round 42 and Moon bugs used it, for a while dosbox didn't support it and you had to run another dos emulator called bhole.

    20. Re:DOS Hackers by sjames · · Score: 1

      Poking was a reference to the BASIC POKE, but as tends to happen, it started to mean affecting hardware by writing values to it even when not done in basic (sometimes called bit banging or just direct hardware access).

      Pascal in general was crippled by it's own design. There were just too many necessary things you couldn't do without somehow violating the spec.

    21. Re:DOS Hackers by sjames · · Score: 1

      The last time I used the parallel port that way was for a cheap and dirty JTAG interface to un-brick a WRT54. It's a shame that USB parallel ports weren't specified adequately to retain that capability. The closest you can get now is to use an Arduino (or clone).

    22. Re:DOS Hackers by CSMoran · · Score: 1

      Copying int vector 00h onto 05h to get a neat way to interrupt (some) hung programs, at zero memory cost. For those younger than I am -- int 05h was raised when PrtScr whas pressed, and 00h was divide by zero.

      --
      Every end has half a stick.
    23. Re:DOS Hackers by HornWumpus · · Score: 1

      In the 'First Church of Christ, Computer Programmer' Amen translates as 'Semicolon'.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    24. Re:DOS Hackers by famebait · · Score: 1

      Sierra Online took it a step further in the AGI engine and invented an early precursor of the scene-bumpmap which allowed their pseudo-3D adventure games to work by using a map-image where depth was indicated by color allowing characters to walk in front or behind objects

      The word you are looking for is "depth buffer" or "Z-buffer", and is fairly unrelated to bumpmaps.
      It was a well established concept in computer graphics even before the PC had any graphics at all, and was certainly not invented by Sierra. I guess they pioneered it in PC games, but I doubt they were first.
      It is still a key technique in raster-based 3D rendering, hard at work in all modern graphics cards.

      --
      sudo ergo sum
    25. Re:DOS Hackers by silentcoder · · Score: 1

      While, indeed, the AGI technique was a Z-buffer, the methodology used for it was completely unlike that used in other algorithms.

      They used the 16-colors of the display to create viewable depth-maps. Here's how it worked. You started with a scene image, which was normally colored as you wanted it to appear. Then you had a special program which you loaded with - and repainted it using the 16-color pallet. The Y-Axis was divided into 16 stripes (this was 320x200 days so minus the status bar and menu bar each stripe was around 11pixels high (for a total display height of about 180 pixels).

      The player's Z-axes was determined based on which 11-pixel strip his feet was in (same for any other interactive objects or characters). So 16 possible depths, and 16-colors in the map-image. The map was never shown to the player, but as the player moved around the scene, it was used in the movement/collision calculator. as you moved it checked the pixels which pixels of the map overlapped the coordinates of the player sprite (the full rectangle). Say you were in the center stripe (depth 8). If the pixel had a color of 7 or lower, it was drawn OVER your character, 9 or higher and your character was drawn over the pixel (things that were behind you). If it was 8 you would collide against it and be shifted back until the rectangle no longer overlapped - bumping against the wall effect.

      This particular way of doing a Z-buffer was pretty unique to Sierra because it fundamentally relied on the specific hardware abilities/limitations of the PC platform at that time. You could conceivably use the same approach today and get extremely fine-grained control over depth due to how many colors we have -but there are far easier ways to do that (like simply storing the Z-coordinate for each pixel in an object before you render it). More-over when it came out - it was the first system ever developed which allowed the player in games to move in front or behind objects. I'm happy to believe you that there were Z-buffer tech that predated Sierra and even PC's - but interactive Z-buffer matched collision control in a game was Sierra's great breakthrough. It was first used in the original Kings Quest - and that was such a massive success that they created an entire generation of games on the AGI engine.

      There's still a lively community of enthusiasts developing AGI games using modern-day remakes of the engine (which also allows playing the original Sierra games on modern systems). ScummVM includes an AGI interpreter though they lifted the code directly from Sarien.

      Sierra abandoned AGI by the early 1990s to make way for a new engine with new abilities that would be drive their next generation of games and be able to make use of SVGA technologies. This was the much-loved SCI engine - which was ScummVM's original focus - and the base of such important historical games as Phantasmagoria. SCI created a whole new generation of amazing games but it was also the beginning of the end of Sierra's reign. Ken and Barbara's little home business had grown big and corporate and they were also now facing some serious competition in the adventure game genre from the likes of LucasArts which had famous IP's like Indiana Jones to work with, and a massive budget.
      The company in 1995 was perhaps the single most successful gaming company in the world. Within ten years they would be defunkt, bankrupt and finally bought out by ActiVision.

      That sad history aside though - there is no doubt that Ken and Barbara were among the most important pioneers in gaming history - above all they deserve credit for a key realization: that the best games combined great storytelling with the best experience the technology you can do.
      Barbara had, had the idea for the company after loving text-adventure games - and realizing how much fun they would be with pictures. Ken, the programmer, worked to create those - but she remembered why the games were good even BEFORE they had graphics: great stories.

      Kings Quest was a technological marvel - but it also had a really fun story. That remains the dual-pillars of the best games to this day - and marked the transition from "space invaders" style games which were storyless button-mashers to games-as-art.

      --
      Unicode killed the ASCII-art *
  12. old school by Tumbleweed · · Score: 2

    8N1
    ATH
    Acoustic Couplers ;^)
    DSDD
    Floppy notcher
    HAM (not radio)
    The Turbo button is not always your friend
    Green vs Amber, the eternal war
    8-bit Bucket List: TWO floppy drives!

    I'm old.

    1. Re:old school by paai · · Score: 2

      And insulting somebody, writing "you are an idi^H^H^H misguided"...

      Paai

    2. Re:old school by l0n3s0m3phr34k · · Score: 1

      and yet...the Computer is ALWAYS your friend!

    3. Re:old school by Jay+Maynard · · Score: 2

      The word "ham" in "ham radio" is not an acronym. ...de K5ZC

      --
      Disinfect the GNU General Public Virus!
    4. Re:old school by MachineShedFred · · Score: 3, Funny

      Don't forget modems that didn't have guard time between +++ and actually entering command mode.

      There was a good amount of time when you could get on IRC or something similar and type +++ATH and watch 1/3 of the channel disappear because they hadn't updated their firmware, or had a shitty modem that couldn't update firmware to fix it.

      --
      Slashdot still doesnâ(TM)t support Unicode after it was added to the HTML standard in 1997.
    5. Re:old school by fisted · · Score: 1

      You are an misguided?

    6. Re:old school by paai · · Score: 1

      The number of ^H's, like that of the dots in an ellipsis (...) generally defaulted to three, regardless the number of characters that had to be deleted.

      Paai

    7. Re:old school by MondoGordo · · Score: 1

      that is Paranoia.

    8. Re:old school by fisted · · Score: 1

      Sorry, what do you mean by "of's"?

    9. Re:old school by fisted · · Score: 1

      Because there's this long and boring story about people not bothering to lear^UI do.

    10. Re:old school by sheramil · · Score: 1

      "Hold and Modify" radio. i'm sure someone out there has done that.

    11. Re:old school by paai · · Score: 1

      Ok, very funny.

      Paai

    12. Re:old school by Rob+Riggs · · Score: 1

      The Z-80 instruction set. (TRS-80 nerd in the house.)

      This [PDF] still sits on my bookshelf.

      --
      the growth in cynicism and rebellion has not been without cause
    13. Re:old school by Rob+Riggs · · Score: 2

      To be fair, no properly designed modem will respond to AT commands send via the phone side of the modem. This would only happen when there was an actual IRC server behind a modem (which would receive and then re-transmit the sequence). More often than not, we'd use this to try to trick some newbie into sending this sequence themselves.

      --
      the growth in cynicism and rebellion has not been without cause
    14. Re:old school by laie_techie · · Score: 1

      8N1 ATH Acoustic Couplers ;^) DSDD Floppy notcher HAM (not radio) The Turbo button is not always your friend Green vs Amber, the eternal war 8-bit Bucket List: TWO floppy drives!

      I'm old.

      I'm 40 years old. I remember my first computer was 8MHz (12MHz with turbo activated) and had 1 MB RAM. With turbo engaged, we died in snake before the first keystroke was registered. This computer allowed us to choose green / black, amber / black, or white / black. I played with single / double sided floppies and single /double density floppies. We had two floppy drives (program in A:, data in B:).

    15. Re:old school by Tumbleweed · · Score: 1

      A bumpersticker I saw at a Microsoft parking lot once:

      "The computer is your friend. Trust the computer."

    16. Re:old school by SuricouRaven · · Score: 1

      "With turbo engaged, we died in snake before the first keystroke was registered."

      If that was the quickbasic version, there's a delay loop you can modify. You'd need to increase the delay on anything past around a P133, otherwise it would just divide-by-zero.

    17. Re:old school by HornWumpus · · Score: 1

      I thought I was the only one. Got a reference to 'First Church of Christ, Computer Programmer' upthread.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    18. Re:old school by HornWumpus · · Score: 1

      I learned to write machine code out of a MOS technologies 6502 hardware manual. I've still got it too.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    19. Re:old school by NoNonAlphaCharsHere · · Score: 1

      Thank you for that. I still have the Sybex version around here somewhere too, but it's nice have it in PDF. Not that I'll ever use either one again, but still...

      Then again, there's still an MDS-235 and an unopened box of Dysan 8" floppies in the basement...

    20. Re:old school by jarlsberg71 · · Score: 1

      I have tried explaining this to non tech people. they just don't get it...

      --
      E8B8B
    21. Re:old school by laie_techie · · Score: 1

      "With turbo engaged, we died in snake before the first keystroke was registered."

      If that was the quickbasic version, there's a delay loop you can modify. You'd need to increase the delay on anything past around a P133, otherwise it would just divide-by-zero.

      Actually, this was back before quick BASIC, but the same principle would apply to the original BASIC, too.

  13. Hardware Hackers. by Ozoner · · Score: 1

    The original hackers were of course Hardware Hackers. Long before software was a thing (in the hobby world).

    Most were ham enthusiasts, but HiFi and RC modelling was also popular.

    There was even a shop called "The Hardware Hacker" long before the term became pejorative.

  14. What Are Some Things That Every Hacker Once Knew? by Freischutz · · Score: 4, Informative

    What Are Some Things That Every Hacker Once Knew?

    Do you mean hacker as in programmer or hacker as the media usis it to describe a digital burlgar? If you mean the former, these days it seems to be simple stuff like checking for open ports with telnet and then having fun by typing in protocol messages: http://www.shellhacks.com/en/S..., or even simpler stuff like editing documents with vi and using command line programming tools. These used to be things that every programmer knew, I learned this in school but many of our new recruits seem to be totally unaware of this stuff. I've written programs tens of thousands of lines long with nothing but vi, gcc/g++, make, tcpdump+Wireshark, valgrind, vi and a few other choice commandline monsters but these days the GUI generation seems to need a GUI editor, preferably a GUI IDE, a GUI networking tool, a GUI debugger, etc... to do simple stuff. I don't usually even need a debugger, I can normally figure out what is wrong without one. A few years ago I was handed a .NET assignment. After much complainign and whining (Unix guy through and through) I coded it up using that primitive little Windows CMD terminal, a freely available .NET compiler and vi/make before the IT department got around to installing Visual Studio. The really funny thing was that even some seasoned .NET developers were surprised to see you could (a) run vi/make and other GNU tools on Windows and (b) compile .NET code from the command line: https://msdn.microsoft.com/en-.... BTW, and this is probably heresy around here, but I really like how Microsoft seems to have a well documented API for everything as long as you are willing to bother learning .NET or Visual Basic.

  15. Why DEL is 0x7F by steveha · · Score: 5, Informative

    The "control characters" have their own special position in ASCII, as the codes below the space character: 0x00 through 0x1F.

    Yet, for some reason, there is one more sort-of control character outside that range: DEL, which is 0x7F. This bit of lore is actually from before my time, but I know why.

    People used to actually use paper-punch machines to punch input tapes. What could you do if you mis-punched? There's no good way to fill in holes you didn't mean to punch, but you could go back and punch more holes. ASCII is a 7-bit standard and DEL is all 7 bits set. So, if you hit the wrong key on the punch, you could hit DEL and it would punch out all the rest of the holes, making 0x7F or DEL, and the paper tape reader would simply ignore any DEL characters it saw.

    Oh, I guess anyone who can use Wikipedia didn't need me to find this out.

    P.S. I didn't actually know why the carat notation for DEL is ^?, but Wikipedia explains that as well. Neat!

    --
    lf(1): it's like ls(1) but sorts filenames by extension, tersely
    1. Re:Why DEL is 0x7F by thogard · · Score: 1

      The DEL = more holes should go on the list.

      I also think the Shift-2 being a " on many early keyboards should be in there too.

    2. Re:Why DEL is 0x7F by Arnold+Reinhold · · Score: 1

      And of course NULL = 0x00 represents a blank character on paper tape, i.e. no holes except the feed hole.

    3. Re:Why DEL is 0x7F by SuricouRaven · · Score: 1

      "I also think the Shift-2 being a " on many early keyboards should be in there too."

      It still is on mine. Except on those occasions an OS gets confused about keyboard layouts and puts it in yank-mode.

      I also get a nice £ symbol. But somehow the label looks like it is very slowly shrinking lately.

  16. Re:Zero Page memory locations by paai · · Score: 5, Informative

    The zero page on e.g., a 6502 consisted of the first 256 bytes in memory, so the address of any byte therein was only a single byte in stead of two. Access therefore was faster on that page than of all other parts of memory.

    The Apple II was my first computer. I bought it when I was thirty, in 1979. I then was an art historian, looking for new ways to administrate art collections. It really changed my life

    Paai

  17. Old codes I remember using by ignavus · · Score: 4, Insightful

    Epson printer ESC codes - you embedded them in text documents and sent them to your parallel port dot-matrix printer, and they produced bold and italics and double width, and all sorts of effects.

    ANSI escape screen codes - for setting foreground and background colours and other screen effects (clear screen, home) when you got bored with light grey on black.

    --
    I am anarch of all I survey.
    1. Re:Old codes I remember using by Anonymous Coward · · Score: 1

      Your modern printer will use the same codes, it's just your word processor handles them now rather than you having to do them yourself. Your old method would still work.

      ANSI escape codes also still work but generally get wrapped up by other libraries now such as ncurses.

    2. Re:Old codes I remember using by serviscope_minor · · Score: 1

      Christ, not only have I forgotten those but until you mentioned it I got I even knew! I remember getting a semi-fancy dot matrix cheap to go with my Beeb. Only 9 pins, but colour! I did all sorts of stuff with it and had a substantial faction of the codes committed to memory. I even had a primitive word processor like thing compete with references and macros that I hacked up around the facilities of the printer.

      I still know postscript, but it's a fading memory to some extent now.

      I use ANSI codes, especially the color ones regularly :)

      --
      SJW n. One who posts facts.
    3. Re:Old codes I remember using by rl117 · · Score: 1

      Modern printers don't use Epson ESC/P or any other traditional imperative escape code-driven control. ESC/P hasn't been used by mainstream software directly since the end of DOS style word processors. At best, newer stuff would just use the control codes to do single/double/quad density raster printing. They are now either dumb, basically accepting a raw bitmap or equivalent to drive the print head, or they accept PostScript/PDF/PCL. It's been that way since the dawn of scalable type (DR GEM used Type 1, MS Windows with TrueType, MacOS). The only place I've used ESC/P in the last two decades was for point of sale software, driving receipt and label printers, including barcode printing, and also dot matrix output for billing. But obtaining printers which supported it, even from Epson, was difficult 12 years ago, so not sure what it's like today. Most of their stuff from the last decade dropped ESC/P support entirely; it's all REMOTE mode which is basically going back to those giant bitmaps. It's all in the client-side driver for the most part. (I used to be one of the printer driver maintainers for Linux.) It does exist, but it's in custom niches with software written to drive specific hardware.

    4. Re:Old codes I remember using by crow · · Score: 1

      I use ANSI escape codes in my BASH scripts all the time. I have a set of variables I assign to the various color codes that I use frequently, so I don't embed them directly. Having colorized output makes things much easier to parse.

    5. Re:Old codes I remember using by sjames · · Score: 1

      And of course, ANSI animations in BBS messages that depended on the limited modem speed to play back at a reasonable speed.

  18. Re:Memory maps, undocumented op codes... by paai · · Score: 1

    CP/M...

    paai

  19. Why I miss palettes. by Anonymous Coward · · Score: 1

    Anyone using graphics knew about palettes. In this regard today's mainstream graphics have gone backwards. You could create full screen animations by just changing the palette. You could reuse art assets by changing palettes (want a different forest? Just change the tree colors). It was incredibly efficient coding.

    I recently had to convert some old palette based animations to show on a modern computer. it meant changing them to 24 bit video format. The original animation was pixel perfect, fit onto a floppy, and ran smoothly on a 386. The new animation was a hundred times bigger, and needed a computer that was a hundred times faster, with a hundred times more RAM. And the result was ugly: lossy compression meant blurred pixels and it sometimes skipped frames. It made me weep.

  20. call -151 by neoRUR · · Score: 1

    call -151

    1. Re:call -151 by HornWumpus · · Score: 1

      3d0g

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  21. Re:Zero Page memory locations by Pseudonym · · Score: 2

    It's fair to say that not every hacker knew this. Those of us who grew up with 8-bit micros in the 80s were either Z80 or 6502 (the COSMAC was very rare), and those who used one didn't use the other.

    I was 6502, so I know what you're talking about.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  22. Overlays by Pseudonym · · Score: 3, Interesting

    Every hacker over a certain age knows what is meant by the term "overlay", from minicomputers to CP/M to MS-DOS. And it fills them with dread to this day.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    1. Re:Overlays by Anonymous Coward · · Score: 1

      Who remembers 'Labelled Common'?

    2. Re:Overlays by Anonymous Coward · · Score: 1

      Every hacker over a certain age knows what is meant by the term "overlay", from minicomputers to CP/M to MS-DOS. And it fills them with dread to this day.

      Well, they probably weren't overlaid in any other sense....

    3. Re:Overlays by Rick+Schumann · · Score: 1

      Yeah, I remember those. When you only had 56kB of memory to work with (CP/M v2.2; the other 8kB was taken up by the BIOS) the only way to write really large programs, was to compile overlays, all with the same origin address of course, and to define variables as globals so everything could access them. Then you had to swap the overlays in and out as required, and ensure that one overlay didn't need to call something another overlay, or the whole thing would go completely off the rails and send your CPU off to la-la-land, potentially doing who-knows-what to whatever floppies were in the drive(s) or your hard disk.

  23. The crucial prompt: term? by steveha · · Score: 4, Interesting

    Where I went to college, there were dumb terminals hooked up to serial lines in various locations around campus. Students would take turns using them. (They're all gone now... everyone has their own computers and it's all WiFi and/or Ethernet now.)

    When you logged in to any campus computer, the very first thing it would do was print a cryptic prompt: term? [vt100]

    This was your one opportunity to correctly enter a terse code that described the terminal you happened to be using. Terminals were not cheap, and nobody was going to throw away old ones when new ones were bought, so the campus had a mix of terminal types. It would have been nice if there had been a universal standard way to interrogate a terminal to find out its type (some reserved escape sequence) but there wasn't, so it was up to you to enter it correctly.

    So every terminal had a little slip of paper on it saying something like: TERMINAL TYPE: vt100

    There was always a default, which you would get if you just hit the Enter key. I cheated in the above examples and put vt100 but I think the default was something else; VT-100 terminals were not actually common (I think I only ever saw one!). I no longer remember what was common, just whatever they happened to buy a lot of.

    If you got it right, then the system used termcap to look up the capabilities of your terminal, and it would know how to use the cursor-movement features of your terminal. In short, you could run programs like vi and emacs. If you got it wrong, and then tried to run vi and emacs, your screen would become horrible hash quickly. What on one terminal would move the cursor around might be meaningless on another terminal or might have some different effect. (Imagine if the "move cursor to X,Y" command one one terminal was "clear to end of line from position X,Y" on another brand of terminal. That sort of wackiness.)

    So the two bits of lore that every computer-using student at my college needed to know: how to correctly enter the terminal type, and how to fix it if you entered it incorrectly. (Best to just stop what you were trying to do and logout!)

    But here's the punchline of the above lore:

    Computer geeks like me used the terminals all the time. People who had to do statistics work also used them a lot, but some students rarely used them. For some students, the only times they used a terminal was once per quarter, to sign up for classes for the new quarter.

    When I started at college, this was easy. You got a paper printed class catalog booklet, you would look up the course numbers of the courses you wanted to take, and from any terminal you would login to a special account. A program would run, reading standard input and writing standard output, and it would prompt you to enter your student ID number and the course numbers. After you entered each number, you would be prompted: Is this correct? yes/no and you would answer. Simple. I don't think it even bothered to prompt for terminal type, and even if it did, it didn't use it for anything.

    But then some computer science grad students went ahead and improved the system. They added browsable menus. You could use the arrow keys to browse through, drill down, find your course and pick it. You didn't need a paper catalog of course numbers! But now you actually needed to enter the terminal type correctly. All the students who rarely used the terminals had no clue what term? [vt100] meant, and usually just hit Enter, and then they were hosed.

    I'm sure now it's all web forms: no need to print paper booklets, and nobody has any serious problems using it. Not all the old ways were better.

    P.S. The campus had a couple of ADM-3A terminals, and I used them from time to time if nothing better was available. They had no dedicated cursor arrow keys, but had arrows printed on H J K L pointing left, down, up, and ri

    --
    lf(1): it's like ls(1) but sorts filenames by extension, tersely
    1. Re:The crucial prompt: term? by Megane · · Score: 1

      I actually got into a situation a couple of weeks ago where I had a problem with an unrecognized terminal type. My terminal type was TERM=xterm-256color (for unknown reasons; I have been migrating the OS X install on my laptop for years) and I was trying to SSH into a newer version of OS X on a Mac Mini that I had acquired. It seems that in the more recent versions they removed many of the older terminal types, and I had to copy that file over.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    2. Re:The crucial prompt: term? by paai · · Score: 2

      Ebg13, unia'g frra gung sbe ntrf.

      paai

    3. Re:The crucial prompt: term? by slacktide · · Score: 1

      Similar system in my undergrad days. (Georgia Tech, early '90s) The whole system was run off a CDC Cyber, don't recall the model. Class seats were first come, first serve, and there were always lines to use the public terminals. There were a few dial-ins to the Cyber, so those of us who had our own computers could use those, but they quickly saturated as well. Those of us who were clever enough to write a wardialer got the classes we wanted.

    4. Re:The crucial prompt: term? by steveha · · Score: 1

      The terminals at my college were set up with 2400 bits per second serial lines. I used to daydream about getting a job in the computer center so I could use the official terminals, which were rumored to be set up at 9600 BPS. Ooh.

      But toward the end of my time at college, I saved my pennies and bought a 1200 BPS modem (not a Hayes, some wacky thing, but only $200!), and set up some kind of dumb terminal. IIRC for a while I used an actual dumb terminal that my older brother had used before me when he was at the same college (a "Southwest Technical Products" terminal with an 82-column display!) but in the end I just used a PC running a DOS terminal emulator. Oh man... I was able to do my homework at home! By then I lived off campus so this was huge for me. It was only half the speed of campus terminals, but it still drew characters faster than I could read them so it was almost the same! (Trivia: I can read faster than a 300 baud modem can stream text. I think almost everyone can.)

      Around that time I switched to using DOS PC-Write for my word processing needs, as I had a high-quality dot matrix printer at home. Formerly I used vi to write documents using nroff and printed on a line printer at one of the campus terminal labs, or printed on the "laser phototypesetter" in the main computer lab if I wanted it to look extra-nice (and I felt like spending extra money).

      --
      lf(1): it's like ls(1) but sorts filenames by extension, tersely
    5. Re:The crucial prompt: term? by Lehk228 · · Score: 1

      I do work on a vt-420 regularly (and I don't mean smoke pot at work)

      --
      Snowden and Manning are heroes.
  24. Serial by MrKaos · · Score: 3, Interesting

    9600,8,N,1,XON/XOFF

    DB9:pins 2/3/5

    DB25: pins 2/3/7

    --
    My ism, it's full of beliefs.
    1. Re:Serial by l0n3s0m3phr34k · · Score: 2

      I just used a DB9 cable and putty with (close) to those settings to connect via a console cable to a Cisco switch, our SonicWall NSA 4500, etc. I had to custom-make a DB9 connector to get into a couple of remote power systems that don't have DHCP by default. Few other "computer people" I know know enough about that to make a cable like that, at least around here.

    2. Re:Serial by NoNonAlphaCharsHere · · Score: 1

      DB9 is an abomination. If God had meant for there to be only 9 pins on a serial connector, he would have put that in the ADM3a. This also explains why the control key goes next to the "a" key, and not the goddam "Caps Lock" key.

    3. Re:Serial by MrKaos · · Score: 2

      Interesting. What was reading the other end?

      Yeah, serial still comes in handy for mobile phone stuff I'm finding since learning you can trigger some mobile phone headphone jacks to be serial ports. I want to deep dive into android soon so I suspect that I'll be brushing the dust off my memory of the stty command. I was so happy that knowledge I thought of as obsolete, was again new, funny how old knowledge comes back around to you in IT, eventually.

      I remember when I started out, making a massive bundle of rs232 cables, it made my soldering perfect and chicks dig perfect soldering :-p

      --
      My ism, it's full of beliefs.
    4. Re:Serial by thegarbz · · Score: 2

      Or the modern equivalent:

      White orange, orange, white green, blue, white blue, green, white brown, brown.

      Yes I know this is different in the USA.

    5. Re:Serial by grumling · · Score: 2

      You forgot "tab down," which caused a lot of confusion when training a coworker (and not specifying that) once. But only once...

      --
      "Well, good luck finding a judge that doesn't run a bestiality site."
    6. Re:Serial by thegarbz · · Score: 1

      The trick is to get it wrong at both ends :)

    7. Re:Serial by slew · · Score: 1

      If a hacker didn't have XOFF = Ctrl-S (XON = Ctrl-Q), wired into their synapses, you pretty much wouldn't be able to keep up with a 2400 baud modem (1200, was just on the limit)

    8. Re:Serial by j2.718ff · · Score: 2

      9600,8,N,1,XON/XOFF

      I remember there was a startup ISP in my area that was looking for beta testers before they were ready for paying customers. They put a small ad in the local newspaper that simply stated their dialup number, followed by 9600,8,N,1.

    9. Re:Serial by MrNiceguy_KS · · Score: 1

      Or the modern equivalent:

      White orange, orange, white green, blue, white blue, green, white brown, brown.

      Yes I know this is different in the USA.

      Not at every job I've ever worked. I did work at one place where a few of the wall jacks were punched for the other standard - (white green, green, white orange, blue, white blue, orange, white brown, brown) and some idiot had made a bunch of adapters instead of just re-punching the jacks.

      The other trick to remember is that using one standard at each end gives you a crossover cable.

      --
      Redundancy is good And also good.
    10. Re:Serial by l0n3s0m3phr34k · · Score: 1

      It was a bay tech RPC3 that my previous employer had thrown away, still wrapped in the original plastic. I also discovered Baytech's manual was wrong, they had the pin-out backwards in it lol. I took pictures of it and used those in an interview to get a better job!

  25. Re:WRONG..!!!! by MrKaos · · Score: 2

    not if he is using a db25, 1 is ground as well.

    --
    My ism, it's full of beliefs.
  26. Use Netcat to send an email by FeelGood314 · · Score: 3, Insightful

    Many young coders don't know that you can directly talk to an email server and have it deliver an email just using human readable commands over a TCP connection. HTTP and many of the older protocols work fine just using netcat.

    The security implications these youngsters miss should keep everyone awake at night.

    1. Re:Use Netcat to send an email by dwywit · · Score: 1

      HA! Some of my customers boggle when I telnet into their email server to troubleshoot.

      telnet {servername} 110
      +OK POP3 server ready
      user blah
      +OK please send PASS command
      pass rhubarb
      +OK user blah is welcome here
      list
      quit
      Yep, they're all there. Let's see what Outlook is doing.

      --
      They sentenced me to twenty years of boredom
    2. Re:Use Netcat to send an email by swillden · · Score: 1

      Don't worry - they'll all require TLS on all connections soon. Then you'll need to do all the crypto in your head...

      telnet and netcat don't support TLS (yet... it wouldn't surprise me if someone added it to netcat), but there are other tools which establish a TLS connection then let you type at the other end. The ones I'm aware of are openssl s_client, socat and ncat (part of the nmap suite). Personally, I prefer ncat, though socat is probably more powerful.

      ncat -C --ssl <servername> 443

      does the job quite handily in most cases.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    3. Re:Use Netcat to send an email by jbrown.za · · Score: 1

      $ telnet smtp.mailserver.com
      HELO mailserver.mydomain.com
      MAIL FROM:<me@mydomain.com>
      RCPT TO:<you@yourdomain.com>
      RCPT TO:<otherguy@somedomain.net>
      DATA
      From: "My Name" <me@mydomain.com>
      To: "Your Name" <you@yourdomain.com>
      Cc: otherguy@somedomain.net
      Date: Mon, 13 February 2017 17:15:43 +0200
      Subject: Look at the message I can send

      Hi You
      I can easily send an email using SMTP.
      from
      Me
      .
      QUIT

    4. Re:Use Netcat to send an email by jbrown.za · · Score: 1

      Correction ...

      $ telnet smtp.mailserver.com 25

    5. Re:Use Netcat to send an email by daltec · · Score: 1

      When email first started becoming a "thing," we used to send emails using a manually edited from field. The real sending info could still be found, but most people back then did not know to look for it. Great fun. Oh and outdials. Good times, good times.

      --
      We have to eat happy eggs from happy chickens.
  27. old school? by tamarik · · Score: 5, Interesting

    I'm seeing a plethora of 6, 5 and even 4 digit userids post here for this one. Good to see we ain't dead yet...

    WDD1100 jumpers, ABit dual CPU mobos w/ peltior plates.
    My Yellow card, Abend Aid was an amazing help when looking at 40Meg bal360 dumps.
    Trips over to the data center to nail down the last couple slashes for some JCL
    Late afternoon games of snipes on Novell 2.15 networks
    Using that 3270 terminal/XT PC in my cubical farm nest - SNA and IPX/SPX
    programming the Gigi keyboards to mess with others in the college computer labs
    replacing miles of coax with Cat5 as a sign of the change of times.

    Now I get to sit on the porch here in sunny south Georgia and chat with other old timers. TV studio eng, Packet radio guy,
    and so many others. The poor kids of today don't really understand how good we had it.

    1. Re:old school? by pkphilip · · Score: 1

      Yes, of course, I am not dead! Still remember the good old Turbo Pascal, writing directly into memory to draw on the screen, yes, Novell Netware... UTP...

  28. SCSI Voodoo by valdezjuan · · Score: 1

    Troubleshooting which device was interfering with the rest of the chain was a complete pain in the ass but you had to develop troubleshooting skills and patience.

    1. Re:SCSI Voodoo by Megane · · Score: 1

      It was great back in the old days of 68K/PPC Mac OS how I could warm-swap SCSI devices. I just had to bring up the control panel that forced a bus re-scan and press the button on it after plugging in a hard drive.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    2. Re:SCSI Voodoo by thogard · · Score: 2

      A real cool thing about a SCSI chain is that you could have several drives shared between several computers. A friend had an Amiga, Sun and PC all on the same bus with a few drives. There was even a program on the Amiga that could pretend to be a block SCSI device made up of parts of others disks.

      I once ran a name server that would boot from a disk that was shared and maintained by another system. Named was run by init after the network setup stuff had run. The right signals on the serial line and bind would stop, remount the disk and reload its config thanks to a small program. That was when I started to like the idea of virtual servers that didn't have shells in them at all.

    3. Re:SCSI Voodoo by scsirob · · Score: 1

      Obviously, given my nick, I can't resist to respond to this one ;-) SCSI and termination was a black art at the days, especially when mixing narrow and wide SCSI. Don't mix LVD and HVD or the magic smoke may escape!

      Incidentally I still have a parallel SCSI adapter in my Windows 10 PC. Took a bit of work (Convince a Win2k8 LSI server driver that it should install), but I now have access to my Exabyte VXA-2 tape drive.

      --
      To Terminate, or not to Terminate, that's the question - SCSIROB
    4. Re:SCSI Voodoo by ThesQuid · · Score: 1

      Don't forget the need of sacrificing a goat to your scsi chain.

      Oh, and decwriters.

  29. Re:Zero Page memory locations by AchilleTalon · · Score: 1

    I'm 54. I learnt on a IBM 4341 submitting compilation in batch off office hours, then on a CDC Cyber 180.

    --
    Achille Talon
    Hop!
  30. Ob by Hognoxious · · Score: 2

    How to design a usable GUI.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    1. Re:Ob by VadgeTheDestroyer · · Score: 1

      I miss the days of using simple graphicals toolkits to get the job done. Now we're in the middle of a mess of HTML/CSS Javascript (Choose your Framework), write a REST API, and then write the back end in some other language, and don't forget to make it all secure. I miss the days when things were simpler.

    2. Re:Ob by Kazoo+the+Clown · · Score: 1

      Just don't let Google do it...

  31. fixed point numbers by OffTheLip · · Score: 1

    When you wanted to keep it real with no FPU!

    1. Re:fixed point numbers by Rockoon · · Score: 1

      still use fixed point all the time

      --
      "His name was James Damore."
  32. Floppy disks drilling & punching holes by xororand · · Score: 1

    5.25" single-sided floppies could be converted into double-sided disks,
    by punching or cutting a marker hole in the right place.

    Drilling a hole in 3.5" DD floppies would double their density to HD.
    I assume this trick worked due to laws of mass production.

    1. Re:Floppy disks drilling & punching holes by Megane · · Score: 2

      If you didn't use Apple II or Commodore, you also had to cut an index hole. This was considerably more complicated. I eventually would just slip something protective into the disk and slash out a square with a razor blade. Then repeat for the other side.

      And, for what it's worth, you can't read the other side with a double-sided drive for two reasons. The obvious one is that the track spins backwards (as if that would stop a dedicated Catweasel user), but the less obvious one is that the second side is offset by 2 tracks, making it impossible to read the first two tracks.

      Punching an HD hole on 3.5" floppies was a bad idea, because HD had different magnetic parameters. It's like the old chrome cassette tape thing. Genuine HD floppy disks were total crap in the later years anyhow, which probably helped encourage people to stop using them.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    2. Re:Floppy disks drilling & punching holes by grungeman · · Score: 1

      Not sure a double sided disk drive existed for the Commodore 64. For us cash strapped kids, cutting holes into single sided floppy disks was the only option, shortsighted or not.

      --

      Signature deleted by lameness filter.
    3. Re:Floppy disks drilling & punching holes by Sloppy · · Score: 1

      For us cash strapped kids, cutting holes into single sided floppy disks was the only option, shortsighted or not.

      No, there was one other, though it did require spending a little money. You go to Radio Shack and buy a switch/button/whatever. (Many to choose from.) Open up your 1541 (which is probably permanently semi-open anyway, from all the times you need to re-align the head), cut the wirse to the optical sensor which detects the hole, drill a hole in the front of the 1541's case, mount the switch into there, connect the sensor's wires to the switch....

      BTW, whole discussion is Slashdot trolling old people into admitting they're old people.

      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    4. Re:Floppy disks drilling & punching holes by CronoCloud · · Score: 1

      The 1571 works with the C64. When you boot a C64 connected to it, the 1571 boots in single-sided 1541 mode, but there's a command sequence that puts the drive into double-sided mode. It won't be any faster, but you'll have double the storage.

    5. Re:Floppy disks drilling & punching holes by AntiSol · · Score: 1

      There sure was, the 1571

      Even better was the 3.5" 1581

  33. Re:Every hacker once knew? by _Sharp'r_ · · Score: 4, Insightful

    I worked in a building numbered 2600 with a bunch of developers for a few years. One day I pointed at the massive street numbers on the side of the building and said something like, "How appropriate." None of them had any idea what I was talking about.

    Most kids these days have no idea what phreaking is, what a black box is, or a blue box, etc... Don't get me started on the contents of the anarchist's cookbook.

    Most of them don't know what a MUD, MUSH or MUX was or how to program one, let alone about common door games (Trade Wars was the best).

    Heck, I remember key cards which worked by perforations. Really easy to duplicate with a piece of cardboard. Remember core memory? Many "technical" folks nowadays probably can't do Boolean logic and wouldn't recognize most of the symbols. let alone binary operations or PEEK'ing and POKE'ing.

    Thanks guys, now I'm starting to feel old. :)

    --
    The party of stupid and the party of evil get together and do something both stupid and evil, then call it bipartisan.
  34. Re:Zero Page memory locations by Joce640k · · Score: 2

    and those who used one didn't use the other.

    Everybody knew both where I worked and we all moved the 68000 with no problems. All it takes it 10 minutes looking at clock cycles in the back of the manual.

    --
    No sig today...
  35. Re:Always by LinuxIsGarbage · · Score: 2

    Use the -d flag with pkunzip, otherwise, you might end up with a big stinking mess.

    Why was this not the default?

    ZIP files are still screwed. Do you want to "Extract here" or "Extract to archive.zip\".

    Either you will clutter up your downloads folder in a similar "big stinking mess", or else you will end up with "archive.zip\archive\archive\files.exe"

    Why can it not be smart enough to figure out if there's a parent sub-dir in the archive before creating nested redundant sub-dirs.

  36. UUCP by MrKaos · · Score: 1

    Yeah, I remember spending a lot of time getting my head around UUCP and uuencode. Once I did it made my life so much easier not having to have work come to a halt while a modem transferred a file or running a remote command getting the clients machine to do all the calling to save my phone bills.

    uucp made a really good bridge that was really hard to hack. Setup to access an outside system via a serial line a one way UUCP out and no TCP/IP connection to certain core systems, a cracker would have to spawn a getty on the other end of a serial line to get access. Not impossible, but extremely challenging.

    --
    My ism, it's full of beliefs.
    1. Re:UUCP by OffTheLip · · Score: 1

      Bang paths an arcane configuration were what I remember most about UUCP. It worked though.

  37. Re:Memory maps, undocumented op codes... by Joce640k · · Score: 1

    I used to know a good part of the dos/pc memory map, and before that certain 8-bit micros.

    Yes, you youngsters had it easy...

    --
    No sig today...
  38. Re:WRONG..!!!! by Anonymous Coward · · Score: 1

    On 25 pin connectors we always used pin 7 for ground. pin 1 was shield and 5 CTS.
    Often referred to as "2/3 swap, 7 straight through"

  39. Booting computers with switches by Required+Snark · · Score: 2
    Early mainframes and minicomputers all had binary switches on their control consoles. The number of switches was typically the length of a hardware word. Each switch also had a light (incandescent, not LED) to show if the switch was on or off, i.e. one or zero. Some minicomputers in industrial applications didn't have any user interface except the switches and lights.

    Loading the initial software on these kinds of systems often required setting the console switches to a specific pattern. On some of the early minicomputers the operator had to use the toggle switches to load a short binary program that would be the first stage of the boot sequence. Sometimes the next stage was loading a more complex boot code that was input from paper tape. Even with a disk attached the load sequence was power up the machine into a non-running state, toggle the low level boot into memory, load the paper tape, then press a button to start the machine. If it all went well the result was a prompt on the console TTY or VDT accompanied by a bell (TTY) or a beep (VDT).

    The console switches could be read and the lights set in software. Sitting at the machine console an experienced operator could tell how busy the computer was by looking at the light pattern. In some desperate circumstances code could only be debugged by having test code that read the switches and set the lights as it ran.

    In George Lukas's first full length move THX 1138 there is an IBM 7094 mainframe. It had lights that formed a grid that could hold a few letters. At one key point in the film just before the end, these lights spell the word "TILT".

    --
    Why is Snark Required?
    1. Re:Booting computers with switches by michael_cain · · Score: 1

      I was a senior when the CS department at my undergrad school got a 16-bit mini. Key in the 10-word program that would read a bigger program from paper tape that would load the real OS from the hard disk...

    2. Re:Booting computers with switches by Hans+Lehmann · · Score: 1

      One of the first computers I operated was a PDP-8, complete with the lights and toggle switches. It was kind of a pain because one or two of the light bulbs were invariable burnt out, so reading back what you had already hand entered for the boot loaded was never a certainty. It was also a twelve bit machine and the instruction set (what little there was) was always written in octal. Our programming exercises were written out by hand on graph paper. When we thought it looked all correct we had to manually toggle it into those front panel switches. Once entered we could spit it out to paper tape to be re-used at a later date, because we were just that technically advanced.

      --
      09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
  40. Some numeric values and basic concepts by Alain+Williams · · Score: 3, Insightful

    8 bits can store +-127, 16 bits can store +-32,767 (OK: add 1 to the absolute for negative numbers). 32 bits can store +-2,000,000,000 (well, a bit more), 3600 seconds in an hour, 86400 seconds in a day.

    I find that some programmers only have a hazy idea what is meant by a 32 bit or 64 bit machine. These are fundamental, but they somehow get jobs not knowing the basics.

    1. Re:Some numeric values and basic concepts by Tomahawk · · Score: 1

      Ah, twos-compliment...

      What is
      signed char c=127 + 1;
      ?

      Any why?

    2. Re:Some numeric values and basic concepts by 91degrees · · Score: 2

      Most coders had memorised their powers of 2, as well. At least up to 2^16.

    3. Re:Some numeric values and basic concepts by Anonymous Coward · · Score: 1

      Baffled a teacher with that one once. She thought I was doing multiplications as fast as I can speak. 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384.

    4. Re:Some numeric values and basic concepts by lq_x_pl · · Score: 1

      Have no fear. This knowledge lives on in many EE courses. Memorizing 2^n wasn't -required- but greatly improved student success in the logic design, C, and assembly classes that were required for my degree. (graduated 6 years ago). :-)

      --
      An internal system operation returned the error "The operation completed successfully.".
    5. Re:Some numeric values and basic concepts by ImprovOmega · · Score: 1

      signed char c=127 +1; makes c=-128.

      The range for any bit length b of a two's complement number is -2^(b-1) <= n < 2^(b-1). This differs from one's complement (which has a range -2^(b-1) < n < 2^(b-1)) because there is no double representation for zero in two's complement notation however negativity is still easily indicated by the most significant bit (where a 1 is negative and a 0 is positive). Converting from two's complement to the actual number r is given by (unsigned char)n & 0x80 == 1 ? int r = -(int)(((unsigned char)n^0xFF)+1) : r = n;

      The reason two's complement notation is favored is because adding numbers together in two's complement allows for simple standard bitwise arithmetic without the need to do a special decoding step for negative numbers.

    6. Re:Some numeric values and basic concepts by petermgreen · · Score: 1

      What is
      signed char c=127 + 1;

      Assuming we are talking about C.

      127 and 1 are ints, so 127 + 1 is 128. int is gauranteed to be large enough that we won't have arithmetic overflow here.

      Converting that result to signed char is where things get interesting. On most systems "signed char" cannot represent the number 128, according to the C standard the results of conversion to a signed type that cannot represent the converted value is implementation-defined.

      Most implementations chose to simply take the 8 least significant bits of the number and re-interpret them as an 8 bit twos complement number, resulting in a value of -128.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  41. MVS core dumps by whatteaux · · Score: 2

    Reading a core dump on a System 390 (running MVS / OS/390 / etc) machine.

    It's 3.00 am and the program has crashed after running for 6 hours. You can't re-run it, you have to find out why it crashed, fix it, and checkpoint-restart to completion. You have until 5.00 am. Your time starts now. Oh - and it's PL/I. An infinite loop in an IMS/DB program. Be afraid.

    The ONLY information you have is the core dump, the program listing (albeit with object map), the linker map, and maybe - if you're lucky - a DB dump.

    Did I mention it's a program you've never seen before? Those who have seen it are recovering from the party to celebrate a week of successful running. But they're not the ones on call that week, are they?

    Ah, 1984. What a year.

    1. Re:MVS core dumps by Megane · · Score: 1

      I had a "holy shit how did I even hack this" moment once in the early '90s. The place where I worked used a time reporting app written by some guy. He had put a time bomb in it where if they didn't pay him every few months, it would stop working. It was written in some kind of database system, maybe Fox Pro. Whatever it was had a byte code interpreter for the scripting.

      I managed to come up with a one-byte patch for it using only DOS DEBUG. I recall that at some point I had discovered a certain byte code (0x54?) was a conditional jump in the byte code interpreter, and I was just able enough to see the check ahead of printing the expiration message. I also recall that something about the display went a little wonky (maybe it always said expired or something) with this patch, but it worked.

      Even in 201x I've still done binary patches. A few years ago, some legacy code needed to be used for a new customer... in Mexico. We were making a completely new system, but needed to install our legacy system for a pilot test until it the new system was ready. The thing is, Mexico didn't have people sweet talking Dubya into thinking that changing the Daylight Saving Time dates would save energy (it doesn't), and the legacy system (which I could never figure out how compile) only used the new DST dates. Except that the code actually still checked the year before choosing the DST date. So I came up with a one-byte patch (an operand in a 68HC12 instruction!) that changed the year check to 14000ish by tweaking the high byte.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    2. Re:MVS core dumps by tamarik · · Score: 1

      I started coding bal360 outta college in about 1985. We had Abend Aid installed to format the dumps a little. I heard the stories from all the old timers writing COBOL of unformatted core dumps and thanked my good fortune and modern times.

    3. Re:MVS core dumps by Jay+Maynard · · Score: 1

      When I was doing IBM mainframe systems programming in that era (we were the first shop in Houston to go to MVS/XA, to exploit our shiny new 3084, and we did that conversion in six weeks), I walked in through the machine room on my way to my office one morning. Got stopped by an operator who thanked me for having a solution to a problem he'd called me with overnight. I didn't even remember the call...

      --
      Disinfect the GNU General Public Virus!
    4. Re:MVS core dumps by whatteaux · · Score: 1

      I found the loop that was being infinite, but didn't know what it was supposed to be doing instead of being infinite. So I had to wait for the guy who knew (who was asleep on a railway station bench, having missed the last train home to Gosford the night before) to get home so I could call him and then wait for him to drive the 60 KM or so to the Sydney CBD where I was with the dump.

      So I missed the 5.00 am deadline, but luckily it was Friday (well, Saturday by now) so they were able to defer things.

  42. Realigning the head of a datasette by grungeman · · Score: 1

    using a screwdriver. Here is how to do it: https://www.youtube.com/watch?...

    --

    Signature deleted by lameness filter.
  43. Re:Every hacker once knew? by paai · · Score: 4, Interesting

    Ah... 80 column punch cards. And walking down the stairs with a 20 cm stack of data plus program, and dropping them, and then having to sort them by hand...

    Paai

  44. Re:WRONG..!!!! by MrKaos · · Score: 1

    Yes, you are right, I'd use pin 7 as well. Using case ground wasn't the right way to make the cable but because 1 was shorted to signal ground 7 it would still work, mostly. Yeah, I remember cts/dts and dsr, for hardware handshaking.

    --
    My ism, it's full of beliefs.
  45. Correct grammar... by Anonymous Coward · · Score: 1

    ... and spelling?

    1. Re:Correct grammar... by kugeln · · Score: 1

      Who would've thought, 30 years later, that it would be OK for a computer to respond based on what it *thinks* you mean. Or that the design paradigm for UI interaction would be based on users getting commands *close enough* to syntactically correct.

  46. Fourth edition of Hackers Dictionary? by paai · · Score: 3, Insightful

    As far as I know the third and last edition of the Hackers Dictionary stams from 1996. I certainly hope that this all leads to a new and long overdue edition...

    Paai

  47. Other things by terminal.dk · · Score: 1

    Kermit - For file transfers etc.
    BBS for information exchange.

    For programmers:
    ASCII graphics, and using the grphic characters above 127 to make blocks, lines etc.
    Dot Matrix Printers, PCL, PostScript. Now nobody knows the language of the orinter anymore. And PostScript is still in PDF and is very powerfull.

    And everybody knew at least some machine language. I coded my ZX-81 using the ASCII table in the manual. It had decimal, hex, Ascii char and Z-80 Mnemonic.
    PEEK and POKE was the commands used at the time.

  48. Re:Tandy drmos in RadioShack by Trax3001BBS · · Score: 2

    were awesome necause Tandy looked better than the PCClones. They. yended to be passive cooled processors and thuds quieterr as compares to the bulky beige PC/Clone.

    There was a magazine called TRS80 and it would have programs you could input. I'd spend 6 or more hours inputting them with cassette storage lots of peeking and poking.

  49. ioccc by Tomahawk · · Score: 1

    If you look at the early years for the ioccc, you'll find a tonne of stuff that people today likely won't know.

    Things like
    int i=5;
    i=~-~-~-i;

    It works in C and Java, yet none of the Java developers here knew what the ~ did...

    I'm sure if I gave them stuff like

    int f1=0x0001;
    int f2=0x0002;
    int f3=0x0004; ...
    i=f1|f3; ...
    if (i&&f3) { // do something
    }

    they'd have a hard time wondering what it was doing any way. Mainly because you don't need to do this in Java (although it will still work).

    1. Re:ioccc by mwvdlee · · Score: 1

      `// do something` will be executed as long as any flag has been set. Now if you had use only one ampersand, things would have been different.

      I bet if you handle binary file formats, you'll still need plenty of bitwise.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
  50. re: "Not the ground you are looking for" by Anonymous Coward · · Score: 2, Insightful

    Pin 1 is frame ground and connects to the shield of the cable to help with noise.

    Pin 7 is signal ground

    In most cases they are not tied together. Or if you used 1 for your signal ground you got lots of interesting noise.

  51. Assembly Language, by Trax3001BBS · · Score: 2

    I taught myself Basic on the TRS80, and into Assembly Language, I've always been a pirate (TRS80 had very little, I was making up for it), Amiga came out and I went that route, the Basic was so bad I had to quit or toss the system, and Assembly language is what I've forgotten, I knew it at 286, more registers than I know of now.

    1. Re: Assembly Language, by Anonymous Coward · · Score: 1

      I remember book stores (the kind that sold dead-tree books) used to have rows and rows of computer books. Solid books about 2 inches thick. Most would for assembly language for processors like the 6502, the 8080, the z80, the 68000, the 8086, 80286, 80386, etc. They had books on high level languages like BASIC, Pascal, C, C++, Fortran, Modula, etc. They had books about computer graphic fundamentals, creating games, communication protocols, utilities for hard disk drives, utilities for MS-DOS.

      Oh it was glorious back in those days.....

    2. Re: Assembly Language, by DontBeAMoran · · Score: 1

      Oh yeah, I remember books too!

      --
      #DeleteFacebook
    3. Re: Assembly Language, by daltec · · Score: 1

      I worked in bookstores to help put myself through college, and would quickly become known as the person to send customers to who were asking for those weirdo books on sed and awk or lex and yacc. Even as recently as 2002-2005, though, some bookstores and computer shops still had excellent selections on some pretty obscure topics. Some of the guys who worked at the college back in the early 90s, though, and who had been there since the 50s and 60s -- analog radio and broadcast engineers -- man, those guys were walking encyclopedias. It was great to hear their stories of how the college radio station was first set up, in 1960, and how things were back then. I always felt as if I had missed a really important time in our nation's history.

      --
      We have to eat happy eggs from happy chickens.
  52. Re:Where to get /etc/hosts from by Trax3001BBS · · Score: 1

    Every hacker once knew the importance of push-button phones and the "redial" button.

    As the handle would suggest I ran an 8 line chat board, some phreaker from England married a girl in our small town in Washington state

  53. Re:IBM (MS) Basic Manual by halivar · · Score: 1

    Also, DOS 5.1 Manual. But after a while, you didn't need it anymore because you had it memorized.

  54. Re:building a program without a compiler by Anonymous Coward · · Score: 1

    To add and more on topic. Anybody that can program in Assembly language has my respect, it's how Gibson of grc.com wrote Spinrite. A very fine program with a very small footprint.

    -Trax3001bbs

  55. Rusty n Edie's BBS by Anonymous Coward · · Score: 1

    Lol.!! Remember that??

    I still on the rare occasion open a .ZIP file and their archive comment is in there.

    https://en.wikipedia.org/wiki/...

  56. Debugging Code by Inspection by awol · · Score: 2

    Reading code in order to detect bugs/issues because the compile/run cycle took hours. Seems to be a forgotten art now days.

    --
    "The first thing to do when you find yourself in a hole is stop digging."
    1. Re:Debugging Code by Inspection by os2fan · · Score: 1

      I thought programmers still do this. I recently bummed some code that accelerated ten days' run into a couple of hours, if not less.

      --
      OS/2 - because choice is a terrible thing to waste.
  57. games by onyxruby · · Score: 1

    init strings
    modem connection sounds - and what they meant
    DOS memory management
    wiring pin outs for serial, parallel and Ethernet cables
    null modem cables
    SCSI
    IPX/SPX and how to tune the daylights out of it
    dip switches
    jumpers

    Mind you, many of the above were necessary to do things like play games with your friends. Thinking about it, I learned a lot about networking and hardware because I wanted to play games with my friends and network games were only for the brave. We would hack games that were only supposed to work at the LAN level to work online so we didn't have to haul our computers over every time we wanted to play.

    1. Re:games by complete+loony · · Score: 1

      port 220, irq 7, dma 1.

      I do not miss having to diagnose resources conflicts.

      --
      09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
  58. Kermit by ronys · · Score: 4, Insightful

    The protocol, not the frog (which it was named after).

    --
    Ubi dubium ibi libertas: Where there is doubt, there is freedom.
  59. How to Solder by lazarus · · Score: 1

    My first computer came as a bag of components that needed to be soldered to a board before the computer was operational. Early hackers were electronics geeks because there was nobody else. If you didn't have a background in electronics you weren't in the game.

    I miss the days when digital communication wasn't easy and you had to be particularly motivated to be part of the community.

    --
    I am not interested in articles about life extension advancements.
  60. Re:What Are Some Things That Every Hacker Once Kne by Jay+Maynard · · Score: 3, Informative

    Do you mean hacker as in programmer or hacker as the media usis it to describe a digital burlgar?

    It's an ESR article. Eric never uses the word "hacker" in the latter sense.

    --
    Disinfect the GNU General Public Virus!
  61. dubug commands by Minupla · · Score: 1

    debug G=C800:5 to low level format a harddrive!

    --
    On the whole, I find that I prefer Slashdot posts to twitter ones because I don't get limited to 140 chars before
  62. Ugly things from the eighties! by os2fan · · Score: 1

    I'm nigh on near sixty, these are the sort of things wizards of various kinds (inc me) did. I did a fair bit of computing from 1977, but the main iron arrived in 1992.

    BASIC, the kind of stuff you find in ROMBASIC and BASICA/GWBASIC, not QBASIC.

    Wiring up things like cross-over cables and null modems.

    Using a line-editor to edit text files (such as MS-Edlin).

    Running pipes and scripts to do things.

    XYZ-Wars. eg Edlin is better than Copycon

    IBM Mainframe printer codes, and how to convert these into Windows or dos.

    Writing to the iron in some code.

    Computers before file-systems and operating systems. (The fourth computer i used actually had an operating system).

    --
    OS/2 - because choice is a terrible thing to waste.
    1. Re:Ugly things from the eighties! by os2fan · · Score: 3, Interesting

      IBM Series M keyboards.

      TeamOS/2. These was one of the scenes you hung out in, if you wanted to be a PC-hacker.

      Tag Lines: eg OS/2: because a 386 is a terrible thing to waste. or OS/2: a multi-threaded suite.

      AT (and other pretentious terms that dated just too quickly).

      Floppies (of all sizes).

      --
      OS/2 - because choice is a terrible thing to waste.
    2. Re:Ugly things from the eighties! by Yunzil · · Score: 1

      Tag Lines: eg OS/2: because a 386 is a terrible thing to waste. or OS/2: a multi-threaded suite.

      Or on the other side: OS/2: Half an operating system

  63. History by kugeln · · Score: 1

    What a BBS was. How to use Fidonet; Xmodem; Zmodem. That everything Apple "created" after the II series was for people with special needs.

  64. Hole punchers for old floppies by sjbe · · Score: 3, Insightful

    i remember on old apples there was a special hole puncher to make the disk double-sided (on the apple you had to flip the disk but ibm could read both sides).

    You didn't need a special hole puncher. A regular round hole puncher worked fine and I did this routinely. If you wanted nice square notches an exacto knife would do the job. You only bought the "special" disk notching hole puncher for showing off.

    1. Re:Hole punchers for old floppies by tigersha · · Score: 1

      Hole punch? Why? I used a pair of scissors. Or a kitchen knife.

      I still have a sheet of those little stickers you used to close the hole to write protect the disk lying around.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    2. Re:Hole punchers for old floppies by sjbe · · Score: 1

      Hole punch? Why?

      Because I had one and they worked. Easiest and fastest way to do the job. Used a sharp knife a few times too. Scissors didn't really work great but could do in a pinch.

      I still have a sheet of those little stickers you used to close the hole to write protect the disk lying around.

      Now that is a questions worthy of a "why"? Just feeling sentimental? Worried that floppies might make a come back some day? Hoping they will increase in value? I just used some tape though I do remember the stickers. Got rid of all that crap decades ago though.

  65. CGA & EGA Graphics by phil · · Score: 2

    Leave it to Eric Raymond to give us old guys a forum.

    I too cut my teeth on BASIC and 6502 assembly.

    I haven't seen any reference yet to the fine art of EGA's 16 of 64 color choices, horizontal and vertical timing, blanking interrupts and the like.

    Back in those days before the likes of Google and Wikipedia I had a set of IBM PC DOS manuals including all the Int 21 functions, disassembled boot code and more. It is fun to reminisce, but like Mr. Raymond says, I don't miss it at all.

  66. Re:Zero Page memory locations by DamonHD · · Score: 3, Insightful

    *Bzzzzt* thank you for playing!

    I had various Z80 and 6502 based machines (eg MZ80K, ZX Spectrum, BBC Micro). The BBC's OS was a thing of beauty!

    And now all this time later I'm working with a microcontroller (ATMega328P) which for my purposes has much the same performance at ~1MIP (though on as little as microamps rather than an amp or so), but with nice hardware multiply and GPIO!

    Rgds

    Damon

    --
    http://m.earth.org.uk/
  67. "36-bit machines and the persistence of octal" by wiredog · · Score: 1

    Just last week a dev here was surprised that a leading zero denoted octal in Javascript.

    1. Re:"36-bit machines and the persistence of octal" by skids · · Score: 1

      $ ping 010.010.010.010
      PING 010.010.010.010 (8.8.8.8) 56(84) bytes of data.
      64 bytes from 8.8.8.8: icmp_seq=1 ttl=51 time=20.7 ms

      I actually solved a problem in modern times that was vexing our desktop support folks and LANDesk tech support for a solid week after taking a packet dump, seeing a WoL packet was going to the wrong network, and eventually remembering this arcane knowledge... "Oh I bet I know what's happening!"

  68. RS-485 by wiredog · · Score: 1

    RS-232 over a 2 or 3 wire connection, for longer communication runs. I wonder if anyone still uses that?

    1. Re:RS-485 by BenFranske · · Score: 1

      I'll assume you're not kidding and answer your question. Yes, of course people still use RS-485. It's not RS-232 over longer connections though, it's just a different type of serial driver for a UART interface (i.e. it is equal to RS-232 but handles the line driving differently). One such difference is the use of balanced A/B communication lines instead of +/- lines used in RS-232, which yes, gives it better reliability over longer distances.

      Specifically the popular Modbus protocol runs over RS-485 and it's used extensively in industrial control systems. DMX, which is still used extensively in the theatrical/concert lighting world is also based on RS-422/485, though there are some differences.

    2. Re:RS-485 by RealGene · · Score: 1

      I work on products for the industrial control market. RS-485 is alive and well.

      --
      Mission: To provide products that consume time and energy as entertainingly as permitted by the laws of thermodynamics.
  69. Re:Always by rpresser · · Score: 3, Interesting

    Use the -d flag with pkunzip, otherwise, you might end up with a big stinking mess.

    Why was this not the default?

    Probably because CP/M didn't have directories, and PKZIP had a definite familial relationship with LBR, which came from CP/M and therefore had no directories; and with ARC, which was cross-platform, including a CP/M port.

  70. Old vs common use of word "hacker" by sjbe · · Score: 3, Insightful

    It's an ESR article. Eric never uses the word "hacker" in the latter sense.

    This is true. He keeps fighting that fight looooong after it has been lost. Nobody outside of a few pedantic geeks (like many of us here) use the word hacker in the positive sense ESR insists it should mean.

    1. Re:Old vs common use of word "hacker" by halivar · · Score: 1

      Well, them and people who read books like Hacker's Delight. Really great book, btw.

    2. Re:Old vs common use of word "hacker" by skids · · Score: 3, Insightful

      Geez, what's going on at all those "hackathons" then?

    3. Re:Old vs common use of word "hacker" by admin7087 · · Score: 1

      Both uses are the same. It's positive to use a system in a way it wasn't intended for and think outside the box to satisfy your curiosity. Programming is not hacking, unless there is some smart trick involved.

  71. lower your phone bill by rpresser · · Score: 2

    by using PC Pursuit to call BBSes.

    Or just use the modem at work and lie about it when the phone bill comes in.

    Getting annoyed when some salesrep starts sending a fax when you're in the middle of an important zmodem download on the same phoneline.

    1. Re:lower your phone bill by Miser · · Score: 1

      Or to heck with PC Pursuit. Find those lists of open x.25 hosts on Telenet. (Sprintnet, etc).

      You could probably call it "hacking" but when you just leave your router open like that, is it really?

      Then all you need is your local dial-up number and one of those open hosts. Used many of them for awhile when I had a dry spell of no reliable Internet access. Could use Procomm Plus for DOS with one hand tied behind my back. When WFW 3.11 came along, had Procomm Plus for Windows and could "kinda" multitask while using the modem.

      I remember one open router I would use, they finally put a password on it. Until one day I tried it and someone had left it logged in - to the Cisco ENABLE prompt. Payday! All I had to do was do a "show config" (passwords weren't hashed/encrypted in those days) and then I had the passwords, including the enable one. Not wanting to rouse suspicion, I never used the enable pasword, just the vty password so I could telnet to the hosts I needed to access (yes, this was before popularity and perhaps even existence of SSH)

      I don't think the local Sprintnet dial-in even answers anymore around here. Wouldn't mind getting my hands on some x.25 gear to play around ... :)

      -Miser

    2. Re:lower your phone bill by rickb928 · · Score: 1

      Or choosing between using your dialup ISP (the guy with a closet full of modems, table fans, and a DDS-2 uplink to a 'real' ISP with a T-1 and Livingston gateway) to hook up with IRC or AOL BYOA...

      The choice?

      - AOL: double-digit IQ, middle-school ethics, constantly 'enhancing your Internet experience'.

      - IRC: grade-school ethics, lIce, eggdrop, smurfs, W/X/Y, multipart GIFs.

      Or Gopher vs. Webcrawler.

      --
      deleting the extra space after periods so i can stay relevant, yeah.
    3. Re:lower your phone bill by rickb928 · · Score: 1

      Lynx? Or Gopher?

      --
      deleting the extra space after periods so i can stay relevant, yeah.
    4. Re:lower your phone bill by Digital+Avatar · · Score: 1

      You know, it's odd, but I can't find any artifacts relating to PC Pursuit online. I figured someone would've preserved a list of dialups, documentation, or something, but a while back when I went looking I found nothing. It's one of those chapters of BBS history that seemingly has been forgotten.

    5. Re:lower your phone bill by rpresser · · Score: 1

      Did you see http://hacking.co.in/pc-pursui... ?
      No actual access numbers listed, but it mentions the national "dial up for an access list" number 1-800-424-9494

  72. Re:Zero Page memory locations by Anonymous Coward · · Score: 3, Interesting

    Hi 73 here. First program at University using Fortran and punched cards. Still know and remember 90% of the ASCII character table in my head. Use the ASCII sort procedures to this day in some of my file names to force them to come to the top of a file list.
    Spent a lot of time learning the HP Printer control procedures in the early 90's and became quite proficient programming HP printers. Learned quite a bit about the Hayes modem command set. Experimented a lot on Centronics printer interfaces and RS232. I used to make and sell Centronics and RS232 cables and made decent money at the time - early 1980's.

  73. Re:ICE Devices? by russotto · · Score: 2

    Back in the day most applications with some sort of copy protection would load everything at once into memory. If your computer had a memory expansion port you could attach an ICE device to the memory expansion port, do a memory dump to it, write out the memory dump to disk and voila! you have a broken copy of that application. Is there an analog to this today?

    Firewire DMA, which can be used to snag the encryption key for various DRM schemes (though you usually don't have to go to such lengths). There are also similar devices intended for forensic use.

  74. Re:Zero Page memory locations by Anonymous Coward · · Score: 2, Funny

    I'm 18. I learned programming on Charles Babbage's difference engine.

  75. CGA 16 color graphics mode by lucasnate1 · · Score: 1

    You could actually get it if you scaled down to a resolution of 160*100. Round 42 and Moon bugs used it, for a while dosbox didn't support it and you had to run another dos emulator called bhole.

  76. Old skool goodies by sup4hleet · · Score: 1

    Boxing, red box, blue box, black box. You might not have had one, but you knew someone who did.

    War dialing to find other modems listening in your area.

    Kermit, Xmodem, Ymodem, Zmodem

    Using a hole punch or exacto knife to turn single sided floppies into double sided.

    That your x86 box was nothing compared to a SGI, Dec Alpha, or Sun workstation.

    That email took longer around Christmas because every email server was choking on dancing Santa GiFs.

    Browsing the internet with lynx and reading email with pine.

    1. Re:Old skool goodies by rickb928 · · Score: 3, Informative

      FIDO.

      Email delivery in single-digit days was shockingly cool.

      ASCII pr0n.

      Dial strings to coax another .5k baud out of that Hayes clone.

      --
      deleting the extra space after periods so i can stay relevant, yeah.
    2. Re: Old skool goodies by rickb928 · · Score: 1

      The first online game I played was Avatar on NovaNET.

      --
      deleting the extra space after periods so i can stay relevant, yeah.
    3. Re:Old skool goodies by piers_downunder · · Score: 1

      Reading the word "coax" above and hearing it in your head as "co-ax".

    4. Re:Old skool goodies by michael_wojcik · · Score: 1

      ASCII pr0n

      Ah, yes. That reminds me...

      Circa 1989 I was working at IBM, on a graphics project. We were using IBM PC RTs, the first IBM UNIX desktop line, before the RS/6000 (which was about to start shipping at that point; we had a number of pre-release ones around the office, with the Texan badges).

      Since we were working on graphics, we'd given all the machines the names of artists for their hostnames. Mine was matisse, so I had a poster of Matisse's Blue Nude hanging over my desk. And one day, to avoid doing real work, I changed my /etc/motd to an ASCII recreation of the Blue Nude I painstakingly crafted by hand, as one did Back in the Day. I took the liberty of inscribing "IBM" across her navel, and captioned it "Big Blue Nude".

      Well. Some weeks later one of the IBM High and Mighty came to the office, and I was demonstrating some feature we'd implemented, and was told that nudity was Not Appropriate in an IBM office.

      After the representative of the aristocracy departed, I stuck Post-It notes over the lascivious portions of my Matisse poster, and edited motd to put a diagonal "CENSORED" over the BBN's nipples. My manager decreed that sufficient and the BBN motd remained until I left the company a couple of years later (and perhaps longer).

      I think I still have a copy somewhere. Of course it is preserved in Usenet of blessed memory, and anyone half-competent at searching should be able to find it.

    5. Re:Old skool goodies by tigersha · · Score: 1

      Leasure Suit Larry had a predecessor text adventure called Softporn Adventure. The game with the highest market, em, penetration of all time, in fact.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    6. Re: Old skool goodies by rickb928 · · Score: 1

      I was playing Avatar then. Before that, pimping puds with D&D marathons.

      --
      deleting the extra space after periods so i can stay relevant, yeah.
  77. Re:WRONG..!!!! by Kiralan · · Score: 1

    IIRC, Pin 1 was connected to the shield on one end only, to avoid ground loops, for those cables that had a shield.

    --
    V for Vendetta: People should not be afraid of their governments. Governments should be afraid of their people.
  78. Mode 13h by pezezin · · Score: 1

    I'm surprissed nobody mentioned VGA and Mode 13h yet. It was one of the first things I learnt to program as a kid. int 10h to set the graphics mode, ports 3c7, 3c8 and 3c9 to read/write the palette, and then writing pixels to segment A000h.

    1. Re:Mode 13h by lucasnate1 · · Score: 1

      Don't forget mode X which allows double buffering on the expesnse of weird "banking" access to memory (you get access to every 4th pixel, from both the current buffer and the hidden buffer, and you have to issue a port IO to switch which mod-4 set of pixels you want)

  79. Re:Zero Page memory locations by nogginthenog · · Score: 1

    Hey, don't forget the 6809!

  80. POSTSCRIPT is a programming language. by SharpFang · · Score: 4, Interesting

    Nobody remembers this. Postscript printers? Oh, well, just another driver from the list. Postscript files? Oh, just another format to store text or graphics.

    I needed to make a rotary quadrature encoder of a specific number of pulses per rotation. I took the gap encoder (like these found in ball mice) and needed a disk with the right number of gaps. With gap width of order of 0.3mm. How to get that? Oh well, I'll have a transparency printed with the pattern.

    Now... how to generate such a pattern? If I try raster graphics, I'll need enormous file to get the resolution I need. It will take a lot of time to generate. Well, maybe write it in Postscript?

    Some search, some learning, and soon I had the postscript file, maybe 500 bytes long., with a bunch of code discs of various diameter and various number of cycles. Packed it onto a pendrive, took it to a print shop and asked to have it printed.

    "It's half a kilobyte. Are you sure this is the right file?"

    "Yeah, just import it into your graphics program."

    "uh... okay." The file loads, the guy scrolls through two pages of of extremely detailed patterns. "Is that it?"

    "Yeah. Print it on transparency, at as high DPI as you can."

    --
    45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    1. Re:POSTSCRIPT is a programming language. by rickb928 · · Score: 2
      --
      deleting the extra space after periods so i can stay relevant, yeah.
  81. call backs by jmccue · · Score: 2

    I forgot how I did this, but at work I set up the server where from home I would login to it with kermit and I would do something. The the remote server would call my system back were I could get in without having my phone # billed. At the time I was running Coherent 286.

  82. Chromemco by Kiralan · · Score: 1

    My first 'hack' was helping write a program to format the floppy disks on Chromemco computers, as they did not provide one to the user. They made a lot of money for a while, selling you their pre-formatted 8" diskettes. I think they charged about 3 times the price of industry-standard blank media for theirs. Once the hack came out, they realized the game was up, and provided a formatter. Obviously, this was before DMCA, and sue-happy manufacturers. :>

    --
    V for Vendetta: People should not be afraid of their governments. Governments should be afraid of their people.
  83. Opposed to term "hacker" by walterbyrd · · Score: 1

    The term "hacker" has no real meaning. Some people think of hackers as people who break into computer systems.

    1. Re:Opposed to term "hacker" by phil · · Score: 2

      I have to disagree with you on this. Back in the day, "Hacker" was a positive term, meaning someone who really got into and deeply understood the systems at hand. A "cracker" on the other hand was someone who used such information nefariously, ie to crack into a system. I suppose these days the difference would be white hat vs black hat.

      So indeed the term has meaning, and it is used correctly here. To your point though, over the past several decades, that meaning has been obscured by sensationalist media not bothering to check their facts.

  84. Re:Zero Page memory locations by grumling · · Score: 1

    Page 6 on the Atari 8 bits.

    --
    "Well, good luck finding a judge that doesn't run a bestiality site."
  85. Computer things from my memory by Stele · · Score: 1

    The TRS-80 was the first computer I ever got my hands on, in our school library when I was in 5th grade. Taught myself BASIC on that.
    My first home computer was the Atari 400. BYTE magazine would have programs in it I could type in, including ones consisting of many pages of just numbers - machine code. That membrane keyboard was tough on the knuckes after hours of typing!
    My first "real computer" was a Sanyo MBC-550 - a clone of the IBM PC but it had a high-resolution mode (640x200) that could do 8 colors. Way better than CGA at the time! I wrote a music sequencer (in BASIC) on it and got it published in a magazine dedicated to that computer, when I was in 7th grade. The speaker could only be driven by a small bit of assembly which pulsed the speaker directly at whatever frequency you wanted, and for a specific amount of time (because it tied the CPU up completely - you couldn't abort it). To make a sequencer where you could "play" notes on the keyboard, I had to make musical notes as very short pulsed sounds, which created a sort of warbling effect. When you played back a recording, it would "compile" the short pulses into full notes of the appropriate duration, and play back without the warbling.
    My first modem was 300 baud, but it wasn't an acoustic coupler. I'd log onto BBSs and could read the text as it came over the wire at 30cps.
    In 1985, our school only taught Pascal, but I wanted to learn to program the Amiga computer which I heard was coming out soon. So I tought myself C in a directed study, using K&R and the Amiga ROM Kernel Manuals which were already available).
    One of the most valuable programming lessons I ever learned was not to leak memory. The Amiga OS didn't have protected memory, and processes didn't keep track of memory use, so anything you wrote could leak and steal resources from the rest of the system. I'd have to reboot every now and then to get it back. The memory tracking tool "memtool" was my friend, and I'd run it before and after each run to see if I leaked anything.
    My first real programming job was working on OCR of Russian books. We were using very high resolution 2 bit grayscale displays, which only had support for DOS. We wrote our own display library to draw lines, rectangles, and text, and I wrote my own windowing system with support for Unicode 1.0, which had just come out. But I had to make all my own fonts, which meant writing a tool in the windowing system I had made to make Unicode fonts for the windowing system.
    Man, those were the days!

  86. Mainframe by frangryphon200 · · Score: 2

    I find that way too many people don't have any concept of what a mainframe is and mainframes are still around and still being used behind the scenes. Most supermarkets and pharmacies work from mainframes and sometimes the people who use them are idiotic. I have seen someone who messed up an input screen turn her terminal off then back on and she was totally surprised when it didn't reboot but came back on and showed the exact same messed up screen. When I use a terminal emulator and choose VT100 I feel cheated because my school had VT100s and VT52s. The VT100 was the best terminal ever made, in my opinion and an emulator just makes me nostalgic.

    1. Re:Mainframe by rickb928 · · Score: 2

      Hey! The IBM 3270 was excellent! As was the 3290!

      --
      deleting the extra space after periods so i can stay relevant, yeah.
    2. Re: Mainframe by rickb928 · · Score: 1

      So is the VT100... And VT52.

      --
      deleting the extra space after periods so i can stay relevant, yeah.
  87. The failed chip is the hot one by laughingskeptic · · Score: 1

    When a computer stops working, the first thing to identify is the hottest chip on the motherboard ... usually a power transistor being used as a voltage regulator. Replacing that component always brought an old PDP-11 back to life.

    Corollary:
    How to use a soldering iron.

    1. Re:The failed chip is the hot one by bromoseltzer · · Score: 1

      Or look for char on the board. Or use your nose.
      Still helpful these days.

      --
      Fiat Lux.
  88. Re:Where to get /etc/hosts from by grumling · · Score: 1

    Yep. Remember dad was too cheap to pay the extra buck to GTE for touch tones. Waiting for the modem to pulse dial after my sister picked up the other extension and killed the connection was torture (as was the 300 baud throughput).

    --
    "Well, good luck finding a judge that doesn't run a bestiality site."
  89. little endian vs. big endian by Anonymous Coward · · Score: 1

    You'd be surprised how few people these days understand it, much less tell the difference by just looking at the data in a hex viewer.

    Or being able to quickly convert between hex, dec and binary w/o a calculator.

    Or know what an interrupt really is. Lots of forgotten knowledge, and some of it is still very relevant.

    captcha: antics :-)

  90. Runtime = CPU frequency * clocks/instruction by WaywardGeek · · Score: 1

    We used to easily count how many clock cycles an assembly code program would take to execute. This has led to a lot of problems, because modern CPUs are not like this at all, yet our programming languages were designed for these old CPUs.

    In particular, there used to be no cache. The C language had no reason to organize data in any particular order, so it used C structs, which is about the worst possible memory layout now days. We typically use about 2 fields in a struct in an inner loop, yet we blow away a whole cache line, filling the cache mostly with data that the loop will never use. Simply by avoiding C structs, or C++ classes, memory-intensive applications I've tested speed up by 20%. Some speed up by 6X.

    This wrong C memory layout was inherited by C++, Java, D, Go, Rust... pretty much every new language.

    --
    Celebrate failure, and then learn from it - Nolan Bushnell
  91. Still around today by grumling · · Score: 1

    If you get nostalgic for the good old days, get your ham radio license. You'll be transported back to the past by trying to interface your fancy new $kilobuck radio with a modern PC, use software that can't address virtual com ports (meaning you'll have to hope your USB converter can fake being COM 1-4), actually attempt to communicate using only 45, 300, 1200 (but never 9600) baud, and deal with other users who won't let go of 20 year old computers running Windows XP because they're still pissed off they had to learn a new UI after that whole Windows 3.1 to 95 debacle.

    Oh and when someone proposes actually doing something that might modernize the hobby, they get shot down in flames.

    --
    "Well, good luck finding a judge that doesn't run a bestiality site."
    1. Re:Still around today by grumling · · Score: 1

      Oh yea, all that stuff is a lot of fun, but hard to get other people interested in messing around with it, so sure you can ping routers all day but that's about it.

      --
      "Well, good luck finding a judge that doesn't run a bestiality site."
  92. Re:Zero Page memory locations by lapm · · Score: 3, Interesting

    I rememer still how Commodore 128 had both 65xx and Z80 prosessors and little trickery you could change cpu you were running in middle of program...

  93. C-64 by davidwr · · Score: 1

    READY.

    ?OUT OF DATA ERROR
    READY.

    That's what you get in a Commodore 64 if you it the backspace and return key.

    The real hacker who grew up in the early 1980s will know why you get that error.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
    1. Re:C-64 by CSMoran · · Score: 1

      At the risk of starting a flamewar... we had almost the same behaviour on the 65XE.

      --
      Every end has half a stick.
  94. Modem viruses aren't real by davidwr · · Score: 1

    Then (1980s): Modem viruses aren't real

    Now: Routers and other gateway devices are under attack, for real this time.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  95. The different sounds by Nchantim · · Score: 1

    for different modem connection speeds

    1. Re:The different sounds by os2fan · · Score: 1

      Or putting an incomming call through the facs machine. Done that a few times. It works!

      --
      OS/2 - because choice is a terrible thing to waste.
  96. Re:Zero Page memory locations by Anonymous Coward · · Score: 1

    Now odd, I spent my childhood in poverty. I learned by reading books and magazines at the library. I wrote my own Basic games to play craps and blackjack, on paper, without touching a computer. When I had the rare opportunity to use a library computer, my programs worked without debugging, just as I had written them on paper.

    Life was going to be great when I grew up and made my big break into working with computers for living. Yeah, that never happened.

    Computing is still an impenetrable exclusive social club in which I am not welcome. Fuck you, I'm still poor.

  97. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  98. Re:Zero Page memory locations by JaredOfEuropa · · Score: 1

    Ah yes, the lovely 68000. They came in a gigantic DIL package the size of a candy bar, I always was somewhat afraid to snap it in half when seating it in its socket.

    --
    If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
  99. Re:New hard drive? by wierd_w · · Score: 1

    Ahh... Back when the platter in the drive did not have defined sector markings, and all drive seeking was done with step motors instead of voice coils...

    If you were clever, and knew what the ACTUAL limits of your platter's magnetic density were, you could tweak the sector layout to get more total sectors than was advertised. (not by much, but back then every kilobyte mattered.)

    of course, even then most people did not know what they were doing...

  100. Re:Zero Page memory locations by operagost · · Score: 2

    18? Must be a Y2K bug.

    --

    Gamingmuseum.com: Give your 3D accelerator a rest.
  101. If you want fast code, use assembler rather than C by Anonymous Coward · · Score: 1

    For the performance-critical portions of the project, since the compilers weren't good enough to take advantage of all the quirks of the 8086 (real mode) or 80386 (protected mode). In particular, make sure you learned the string instructions. That meant using Microsoft MASM or Borland TASM.

    Then RISC came along, and most of the complex 32-bit instructions were actually slower than the simple load/store ones in the Pentium and later Intel chips. Then AMD 64 made the old 32-bit instructions almost completely obsolete.

  102. When I came up by subk · · Score: 1

    Everybody used BitchX and Eggdrop on "shell accounts" somewhere in Eastern Europe

    --
    Now, if you'll excuse me, I have backups to corrupt.
  103. My favorite one is... by Kazoo+the+Clown · · Score: 1

    ... why we use asterisk and slash for multiply and divide instead of more relevant (to mathematics) symbols. The answer is your homework assignment, grasshopper...

  104. How the hardware worked, All of it. by thinkwaitfast · · Score: 1

    From chip level up through the PCB. Embedded engineers still have to know these things.

  105. x/2^n == x>>n (for unsigned integers) by cjellibebi · · Score: 1

    Back in the deep mists of time, every programmer worth their salt knew that division was an expensive operation. If they were lucky, the numbers they would have to divide by would be a power of two, and doing so requires a single shift instead of a divide. Back in the day, compilers did not automatically substitute division by a power of two with a shift, and if you were reading sourcecode, you could tell that the programmer knew their stuff if they wrote "x>>1" instead of "x/2".

    Then along came optimizing compilers, that were smart enough to know what you were trying to do, and for unsigned integers they would automatically substitute the divide with a shift. Soon after, people stopped writing a shift and just wrote a divide instead, trusting the compiler to do so and in the process, making the code easier to read.

    A newer generation of programmers came along, and noticed nothing 'unoptimized' about division by constant powers of two, so they just took it for granted, and were completely unaware of this trick. However, one consequence of this is if picking an arbitrary number to divide by, if they don't choose a power of two, the compiler can no longer do the abovementioned optimization. It used to be the case that arbitrary choices of numbers were powers of two, but not anymore. In fact, if books that had the potential to be turned into video-games were written bearing in mind this optimization, we may see some top-level title-changes. For example, instead if calling it 50 Shades of Grey, E.L. James should have called it Sixty Four Shades of Grey, and if someone tried to compile it, they'd end up with a somewhat faster game.

    Also, if we take for granted the compiler will do this for integer division, we may forget that when dividing signed numbers, we may get the compiler producing code like this

    (x>0 ? x>>1 : x/2 )

  106. IBM and more by Arnold+Reinhold · · Score: 4, Interesting

    Eric's history is interesting and valuable as long as you realize it is based on his stove-piped career. There are glaring omissions. In particular there was this company called IBM that dominated the data processing industry for most of the 20th century. The end of the 36-bit era and the universal use of addressable 8-bit bytes began when IBM introduced the System/360 in 1964, not when DEC finally stopped making PDP-10s in 1983. ASCII did not grow out of anything, it was a fresh creation of a new standard. IBM even pretended to support it, though it used its own 8-bit code, EBCDIC. The short Unix commands were optimized for Teletype machines. Video displays were not cheaper than Teletypes at first, they succeeded because they were much faster and far more user friendly, not because they saved money on consumables. Many early minicomputers supported the native "current loop" interface to the Model 33 Teletype. Tektronix storage tubes deserve a mention. They made graphical computing possible when memory was far too expensive for display buffers. RS232 is still alive and well in the Arduino world; level shifting there means 5 volt to 3 volt. I would mention the 16-bit programming address space that almost all minicomputers had, which forced programs to fit in 64K byte segments. It made it hard to grow software because it forced you to constantly restructure to fit in small overlays. I once had an argument with Gordon Bell of DEC about this when the PDP-11 was introduced; he thought any program larger than 64K *should* be broken up. In general hardware people had a greater influence on computer design in the early years. Early microcomputers adopted the same 16-bit addressing scheme. The Motorola 68000, introduced in 1979, was the first to allow a larger address space (24-bit at first, but architecturally 32-bit). Line printers and multi-part fan-fold paper forms also deserve mention. IBM printers used to be controlled by a loop of paper tape with holes that allowed a fast move to the top of a new page or even a point in the middle, hence form-feed and vertical tab. USB's popularization by Apple deserves mention too, especially since the are now leading the push for USB-C.

    1. Re:IBM and more by Rick+Schumann · · Score: 1

      When there was only 64kB of memory to work with, you had no room for bloat or sloppy technique. This isn't so anymore. The first time I ever noticed that there was professional software written in 'Visual BASIC', I practically fell on the floor, I was laughing so hard; I thought it was a joke someone was playing.

  107. Re:Zero Page memory locations by JSC · · Score: 1

    I'm 56. I learned to program on an IBM 360. With punch cards. PL/1, Baby!

    --
    Time's fun when you're having flies. - Kermit the Frog
  108. Re:x/2^n == xn (for unsigned integers) by grungeman · · Score: 1

    I think this is still pretty standard. I just copy-pasted a binary search snipplet in Javascript from stackoverflow a few days ago and the mid-value was calculated using the '>>' operator.

    --

    Signature deleted by lameness filter.
  109. What boot means by JSC · · Score: 1

    Boot a computer. Shortened version of "run a bootstrap program" - a program that allows a computer to lift itself by its own bootstraps (i.e. initialize a device and read enough of the OS loader from floppy/cassette tape/paper tape/whatever to load the rest of the OS.

    --
    Time's fun when you're having flies. - Kermit the Frog
  110. ASCII Field Separator by flink · · Score: 1

    The article mentions ASCII Field Separator as a character that was "Never to my knowledge used specially after teletypes.". I can think of one example. The HL7 MLLP (Minimal Lower Level Protocol) uses FS (0x1C) as the default character to indicate the end of a complete record. HL7 (Health Level 7) is a format commonly used in the medical world to transmit events, health records, and perform queries between different systems. ASCII VT (0x0B) was used as the start record indicator.

    Of course implementers could agree on other characters for a particular interface, and most software allowed you to configure this, but these values were the defaults in the spec and most interfaces stuck to that. I also recall some of the lesser-used ASCII characters used as separators is ASC X12 formats as well, but can't recall off the top of my head which ones.

  111. Punch cards and paper tape by John+Jorsett · · Score: 1

    I could set up a Model 26 or 29 keypunch to skip certain fields, and shift into numeric mode for others. Huge savings in productivity. I also knew how to use a collator so that a dropped deck could be put back in sequence. Then there was knowing how to splice a paper tape when it tore, which it frequently did unless you had the budget and foresight to use mylar tape. It's quite remarkable nowadays to realize how dependent we used to be on physical media to handle information.

  112. RS-485 is still used quite a bit. I built recently by raymorris · · Score: 1

    RS-485 is still used quite a bit in industrial process control. It's also part of the standard used to control stage lighting and such. At a concert, when the lights are moving around and flashing that's RS-485 carrying a very simple protocol called DMX. I still build DMX stuff as a hobby these days.

  113. The Jargon File by JSC · · Score: 1

    If you have to ask what it is...

    --
    Time's fun when you're having flies. - Kermit the Frog
  114. Re:Memory maps, undocumented op codes... by ruir · · Score: 1

    I used to know a lot of hardware programming, finishing writing a Z80/ZX Spectrum emulator as a dissertation.

  115. The most important DEBUG Statement by da_Den_man · · Score: 1

    How to initialize the MFM/RLL or ESDI drives thru the DEBUG hack of the BIOS.

    --
    You keep going until you die..."Me".
  116. autoexec.bat and config.sys by Weirsbaski · · Score: 1

    After all, that DOS network driver wasn't going to put itself into high memory...

    --

    I am not a sig.
  117. Text-only displays by Solandri · · Score: 1

    Back in the 1970s, 80x25 characters was the common resolution for a terminal display. Each character was 9x14 pixels (or less commonly, 8x8 pixels). That meant the terminal displayed 720x350 pixels = 252,000 bits of data, or 31.5 kB (or 16 kB for the 8x8 fonts). How then were cheap terminals able to support these resolutions when RAM cost $50 per kB?

    Clever engineers came up with text mode. The bitmapped fonts were hard-coded into the display in ROM (which was much cheaper than RAM). So if the terminal supported ASCII, it held 127 9x14 characters in ROM (2000 bytes worth). The computer would then send the display a list of characters to display, rather than a list of pixels. The display would look up each character in ROM, and use that bitmap to display that character (or rather, a row of 80 characters). Then move on to the next row, and so on, then repeat again from the top. This allowed the terminal to display 16 or 32 kB worth of graphics using only 2 kB of RAM (either built into the screen or streamed in real-time from the computer). The caveat being that only text could be displayed.

  118. Re:Always by Rick+Schumann · · Score: 1

    CP/M didn't have a tree-like subdirectory structure like MSDOS does, but it did have 'user' directories (numbered, zero through fifteen, if I remember correctly) that you could use that way if you wanted to, although it was of course only one level deep.

  119. 1904 'year zero' on Macs by Xolotl · · Score: 1

    A lot of the things above are very familiar (physical text terminals, jumpers, serial ports ....) but one I haven't seen mentioned is a bit newer, but still once known but forgotten - the fact that early Macintoshes (and thus MS Excel for Macintosh) used 1 January 1904, rather than 1 January 1900, as the first date (for intresting reasons: Why Do Older Macs Reset to 1904?).

    Of course for backwards compatibility MS Excel for Macintosh continued to use this as the default for many years afterwards, causing confusion among those unfamiliar with it when transferring files with dates even quite recently, and there is still an option in Excel to set this.

    Differences between the 1900 and the 1904 date system in Excel

  120. Renegade BBS by Zeromous · · Score: 1

    I am a Renegade expert. And I don't mean setup a BBS and called it a day, I have hacked the OVR (data file) 6 ways till sunday.

    What always amazed me about Regegade is how well coded it was. It allowed for us to extend a whole bunch of things by merely changing ANSI logic in the OVR.

    For instance Renegade was always limited to 5 line File_id.diz (filename desciption files) but was well enough architected that I was able to use ANSI escapes to exploit how it rendered the lines, and make it support an unlimited length of File_ID.diz

    There were a few "mod releases" to accomplish this, but none of them actually work and in fact went about it the wrong way. To my knowledge no one has ever accomplished this hack of the OVR except for me. The day I made it work in Renegade by Hex editing a file was my "neo moment", long before the Matrix was a thing. It also made me pretty leet in my circle.

    --
    ---Up Up Down Down Left Right Left Right B A START
  121. Re:Every hacker once knew? by jmac880n · · Score: 1

    IBM 026 and 029 Drum cards and.....

    Tape write rings!!!

  122. Punch cards from the back by krvmga · · Score: 1

    ESR said in the article he was explicitly drawing the line at certain things, including things before a certain time. I'm dating myself in an "uphill both ways in the snow" sort of way when I recall I used to be able to read punch cards from the back.

  123. Gopher and FTP... by gosand · · Score: 1

    Along with BBSes and usenet, you had to use gopher and FTP sites to get/share any information. It was more of a discovery process. It's staggering to think how far we have come since then. Everyone also had copies of the Jargon File and the Anarchist Cookbook in txt format.

    I used to be able to read hex quickly, from using line analyzers at my first job (cell phone communications).
    I also had to use 9-track tapes. Builds took several hours, installs took even longer. For the systems we were working on it was a 24hr cycle from build to running test system, and we only did them every two weeks. You had to be much more careful, and failing fast wasn't an option. I don't miss those days.

    --

    My beliefs do not require that you agree with them.

  124. hand compile by fish_in_the_c · · Score: 1

    All CS students were required to hand compile code to get a better understanding of what happened on the machine level.
    Some good lessons there.

    --
    âoeTolerance applies only to persons, but never to truth. Intolerance applies only to truth, but never to persons.
  125. debug G=C800:5 by secret_squirrel_99 · · Score: 1

    To format the drive on a machine with MFM or RLL encoded harddrive, you had to access the rom from debug debug G=C800:5

    --
    If privacy had a tombstone it would read "We did it for your own good" . -- John Twelve Hawks
  126. Editing software on site by wotalota · · Score: 1

    Toggle in changes through the switch register and dump a new program to paper tape (6 bit of course). Travelling with heavy bags of program listing and a toothbrush.

  127. What 8-bit means by Actually,+I+do+RTFA · · Score: 1

    Similarly, 8-bit graphics refers to color depth, not pixel size. I recently worked on an old machine that had 8-bit graphics - and the display was 1024x768.

    --
    Your ad here. Ask me how!
  128. Basic data structures, sorts, memory allocation... by Sarusa · · Score: 1

    Modern programmers have no idea how a linked list or a hash table are stored how, how sorts work, how garbage collection and memory allocation actually works...

    This was really driven home to me when one of the Java guys was trying to look at some C code and thought the linked list stuff was a bug he'd found. 'It's just a reference back to itself!'

    I have to admit that mostly it doesn't matter, but occasionally their assumptions of infinite memory and infinite processing power lead them to do some really dumb things that are inconceivable to anyone who actually knows how things work under the hood. I've given some of their Java code a 1000x speedup just by the simplest optimizations like not reading the entire file every time to process a single line.

  129. Re:New hard drive? by networkBoy · · Score: 1

    I *loved* my ESDI drives. WREN III nominal 160MB drives with dual read/write heads on linear actuators (yes, I know, this was after steppers).
    Formatted by using the debug routines in ROM on the controller, you could pick space or reliability. 62, 63, or 64 sectors per track with 2, 1, and 0 spare sectors respectively that the hardware could re-map for you.

    --
    whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
  130. How to mess with people using DISPLAY or /dev/tty by marciot · · Score: 1

    export DISPLAY=someterminal.cs.edu:0.0
    xkill &

    Or:

    $ yes > /dev/tty32 # Where tty32 corresponds to someone’s shell

  131. Re:Zero Page memory locations by paai · · Score: 1

    duh... I worked out PL/1 problems with pen and paper in my favorite pub. Sooner or later a girl would ask me what I was doing... That was how I got married.

    Paai

  132. control delays... by ole_timer · · Score: 1

    in cdc computers when seymour cray worked there...

    --
    nothing to see here - move along
    1. Re:control delays... by ole_timer · · Score: 1

      most people have no idea what i'm talking about, or who. sigh.

      --
      nothing to see here - move along
    2. Re:control delays... by ole_timer · · Score: 1

      or when an wang worked there....

      --
      nothing to see here - move along
    3. Re:control delays... by RealGene · · Score: 1

      The CRAY-1 used wires cut to specific lengths to ensure 'just in time' delivery of particular signals.

      --
      Mission: To provide products that consume time and energy as entertainingly as permitted by the laws of thermodynamics.
    4. Re:control delays... by ole_timer · · Score: 1

      yes, seymour cray learned that while at control data corporation years before...at cdc he did it in logic, at cray he did it by the length of wire traces

      --
      nothing to see here - move along
  133. Re:What Are Some Things That Every Hacker Once Kne by sjames · · Score: 2

    Personally, I find most IDEs unusable compared to the CLI tools. They tend to be laggy and crashy and at the same time unable to handle some fairly simple things that vi handles easily. They also seem to have no way to handle anything vaguely 'special' in the build process.

    It might be easier to use the CLI tools while wearing mittens than it is to use an IDE.

  134. ...- - - ... (hint: dots and dashes) by celtic_hackr · · Score: 1

    Morse code. In order to get a HAM license.

    Yeah, I'm that old.

    P.S. I had to add the text in the subject to get rid of the "cat got your tongue..." validation error, because obviously whoever wrote the validation code doesn't know, or didn't consider Morse code to be text in a subject line.

  135. Telnet by nuckfuts · · Score: 1

    Telnet client is no longer installed by default on Windows machines, and the protocol is deprecated for good reason, but I still use it occasionally to connect to TCP port 25 on an SMTP server and manually type commands to send a test e-mail.

  136. Re:Zero Page memory locations by Aighearach · · Score: 1

    6502 chips are still a high-selling microcontroller BTW, check your favorite IC supplier

  137. Re:Zero Page memory locations by Aighearach · · Score: 1

    We've got some of these in a box of old ICs at the makespace, I thought it would be fun to play with until I looked at the datasheet! Egads.

  138. Re:x/2^n == xn (for unsigned integers) by NonUniqueNickname · · Score: 1

    We wrote "XOR AX, AX" instead of "MOV AX, 0" because it was maybe 1 CPU cycle faster. Just about everything we did back then fell under the proverbial premature optimization, and we liked it!

  139. Hex coding by WillAffleckUW · · Score: 1

    We used to do it in our heads.

    In fact, the first SimCity data formats used a double hex code, so it was easy to hack if you did that.

    Also, files don't end where you think they do. It's all about the actual storage. Most coders used that extra part you thought was empty to store fun things.

    --
    -- Tigger warning: This post may contain tiggers! --
  140. Entering the Bad Track Table for a Hard Drive... by RealGene · · Score: 1

    Once upon a time, hard drives came with a piece of paper listing the bad tracks. On a PC/AT, you would enter the list of bad tracks manually before partitioning.
    I bought a used Micropolis 80 MB ESDI drive for my Epson Equity III PC/AT clone. Good times.

    --
    Mission: To provide products that consume time and energy as entertainingly as permitted by the laws of thermodynamics.
  141. Re: Zero Page memory locations by CyberRacer · · Score: 1

    53 years old.. 8080, 8085, Z80, 6502, 6809, .. . And my memory if the grand ol days of cassette was "Always save 3 times.. on at LEAST 2 different tapes stored in 3 seperate locations. " Typing old stuff in over and over again sucks, and so did tape in those days. Oddly the best tapes were usually the cheapest. K-Mart blue light special tapes won hands down.

  142. Create a text file without an editor in DOS by RealGene · · Score: 1

    c:\> copy con filename.txt
    type something here
    type some more stuff
    Ctrl-Z (to close/save the file)

    --
    Mission: To provide products that consume time and energy as entertainingly as permitted by the laws of thermodynamics.
  143. Man of self made myth by J4 · · Score: 1

    ESR is begging now? Anybody else remember what a douche nozzle he was after RedHat IPO'd?

  144. Phone Phreaking anyone?? by laurencetux · · Score: 1

    How to generate the needed tones to crack into the LD lines
    (and other Phun ThingZ)

    bonus who can from a recording correctly tell from the handshake what speed a modem connected at??

  145. IBM Green card by AbrasiveCat · · Score: 1

    How about a IBM green card, and I am not talking immigration. Useful for OS/360 opcodes, machine formats and punch card to decimal conversions. I still have one in my desk.

  146. real Old school by Martin+S. · · Score: 1

    How to write directly to memory mapped displays
    How to static link
    How to use a hex-editor to patch binaries.
    How to decode binary data files
    Understand big O

  147. Re:Every hacker once knew? by harry_dolan · · Score: 1

    Waiting impatiently in line for a keypunch while someone sat there scratching his head - I don't miss those days!

  148. Re:Zero Page memory locations by Pseudonym · · Score: 1

    Later I got me a 6502 and kept looking at it and thinking how lame it was. No matter how I looked, whatever angle I considered, I couldn't shake the idea about how limited the 6502 was. To be fair, of course the design parameters were different, not to mention the age of each one.

    The net effect of the design tradeoffs mean that the Z80 and 6502 have almost the same power, achieved by different means. The code density, for example, turns out to be almost exactly the same. The 6502 has fewer instructions, but all opcodes are one byte. The Z80 has more registers but the 6502 has zero page addressing.

    Interestingly, the 6502 is still being used today and the Z80 is not (except for retro gear, obviously). The main reason is that the 6502 has an extremely low interrupt latency. If an interrupt occurs, the 6502 can be running interrupt handler code in at most 5 clock cycles. So you can find 500MHz soft cores in various ASICs if you know where to look.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  149. Re:Zero Page memory locations by Pseudonym · · Score: 1

    I had various Z80 and 6502 based machines (eg MZ80K, ZX Spectrum, BBC Micro).

    Your parents must have been loaded...

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  150. Re:Every hacker once knew? by CmdrTamale · · Score: 1

    2000 cards/box, with a diagonal stripe across the top of them.

    six boxes, six different coloured stripes.

    down the stairs.

    My little program was a six box job.

    The operators loved me

    well, probably not.

  151. Re: Zero Page memory locations by HornWumpus · · Score: 1

    Start fornicating, drinking and smoking frop as if your immortal soul depends on it, because it does.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  152. Re:Zero Page memory locations by HornWumpus · · Score: 1

    There were Z-80s in all the Adaptec SCSI controllers way after the Z-80 should have been dead and gone. Not sure when they finally died.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  153. Re:IBM (MS) Basic Manual by HornWumpus · · Score: 1

    I've never regretted my ASCII table tatoo. The EBCDIC one on the other hand.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  154. Re:Zero Page memory locations by Pseudonym · · Score: 1

    Probably the rise of PIC or Atmel.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  155. Captain Crunch whistle by gvanbelle · · Score: 1

    Something all hackers knew? The frequency of the most well-known tone of a blue box.

  156. Re: IBM (MS) Basic Manual by HornWumpus · · Score: 1

    Yuge hands. Just ask your mom.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  157. Re:Zero Page memory locations by DamonHD · · Score: 1

    Nope.

    We agonised for years about renting a PET with 4k (?) of memory, but it was beyond us and we never got one. Those machines were spread over many years.

    Rgds

    Damon

    --
    http://m.earth.org.uk/
  158. Re:Zero Page memory locations by SigmundFloyd · · Score: 1

    But their meaning was OS-dependent, wasn't it? IIRC they didn't have a standardized purpose.

    --
    Knowledge is power; knowledge shared is power lost.
  159. PC vs Mac Floppy and CD-ROM pq by PincushionMan · · Score: 1

    Nope, from what I gather the Mac drives were [zoned] CAV (constant angular velocity), and the PC drives were CLV (constant linear velocity).

    I remember some CD ROM burners back in the day with these properties as well (Plextor comes to mind). That was important because it could more accurately write the main data channel, plus some p & q channels that SecuROM or SafeDisc used as copy projection measures (look up CloneCD / ClonyXXL, Alcohol 120%, DiscJuggler, and 1:1 copy).

  160. 0th chmod bit (suid, sgid, sticky) by PincushionMan · · Score: 1

    Here now, I believe you've forgotten about the 0th octet?
    chmod 777
    is really
    chmod 0777

    The first three bits are:

    SUID bit (4xxx) - Set UID on file. Runs with permission level of owner, use on executable files, beware, however, for if they are owned as root, they run as root. If you see a S, it means the SUID bit is set, but you cannot use it - the file's not executable. In Linux/Unix, does nothing for directories.

    SGID bit (2xxx) - Set GID on file. Runs the executable with group ownership of the assigned group. Same with dirs.

    Sticky Bit (1xxx) - Set sticky on a directory (see /tmp), prevents other users from truncating your temp files. On my Linux servers, the /tmp directory permissions are always 1777.

  161. Re:Every hacker once knew? by Kazoo+the+Clown · · Score: 1

    Yeah, but keypunch operators.... sigh...

  162. modem things by mm4 · · Score: 1

    ATH0 hangs up.

  163. AT Commands by tigersha · · Score: 1

    I have a AdaFruit Bluefruit which is a small embedded board with a Bluetooth chipset on it. I use it to build a wireless Midi controller for a synthesizer.

    The Bluetooth, including Keyboard and Midi commands is programmed with AT commands. Takes me right back to the 80s.

    --
    The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  164. I've got 25 years to catch up to ESR by joelpurra · · Score: 1

    Happy to see ESR using crowdfunding, and I seriously think that more developers should consider refocusing to work on open source full-time. Let's say that a company might build DRM-ridden software to make money only on the most popular OS/platform, but a crowdfunded developer might be able to work on a non-DRM alternative that works on all systems. By this I mean that while commercial companies use, as well as build and directly sponsor, open source software, what gets sponsored might not be the best "for the greater good". Staying independent might avoid some of the inherent conflicts of interests in sponsored development. Now, making a decent living only/mostly programming open source software "for the greater good" offers quite the hurdle -- 9-5 work is the easiest choice for most, hopefully at least with some degree of open source contributions.

    Shameless plug: I figure that ESR has about 25 more years of open source contributions than I, but last night I joined Patreon to see if there's even the slightest chance to make the switch from primarily closed income to primarily open source income. Feedback appreciated! patreon.com/joelpurra

    --
    joelpurra.com
  165. Re:Zero Page memory locations by adityawicaksono · · Score: 1

    hello sedikit artikel untuk memilih harga gorden minimalis model terbaru,bisa kunjungi: http://www.gordenjogja.co.id/m...