By far, my favorite feature is the dramatically improved readability. Because I am 50 years old, I find it difficult to read small fonts - and find myself zooming in web pages frequently. Safari Reader helps me overcome these following web design difficulties:
Back in 2002 or 2003 I was offered a job with these guys [or possibly a similar firm] to port the software to Mac OS X. Once I was informed that the product I would be working on was to be used to spy on a company's employees, I chose to decline. When I started in my career almost 30 years ago, I vowed to myself that I would pursue it with the utmost integrity. This was way over *my* line.
Marvell's Moby tablet will be an always-on, high performance multimedia tablet capable of full Flash support and 1080p HD playback and supporting WiFi, Bluetooth, FM radio, GPS and both Android and Windows Mobile platforms for maximum flexibility.
It cures cancer
Back in the early 1980s, I was doing development on MS-DOS 2.11 - the first real working version of MS-DOS that resembled Xenix more than CP/M.
I was using a combination of Lattice C and assembly language to do my day job. But I was upset about the libc bloat that Lattice C would drag into the program. Over the Christmas break, I sat down and wrote a tiny version of libc, with the 60% of the calls I actually used. Most of them were either thin wrappers on top of MS-DOS Int21 calls, assembly language implementations (the string functions), or reduced functionality (printf didn't handle strange alignments, floats or doubles), and custom startup/exit code. I also structured the library so that the linker would only link in functions that were actually used. For simple executables, I saw the on-disk file size drop from 10KB-20KB down to 400-600 bytes. Another thing that reduced on-disk file size was to create
I was also writing the handful of unix commands that I couldn't do without (ls, cat, cut, paste, grep, fgrep, etc). Since I was implementing dozens of Unix commands, each statically linked to libc, it was very important to reduce the over-all size of each executable. Most of the smaller trivial commands were less than 1KB in size. I think the largest was 4KB. I also had an emacs clone* that was 36KB when compiled and linked against my tiny lib.
For the longest time, I carried around a bootable MS-DOS 2.11 floppy, with my dozens of Unix commands, an emacs-like editor, Lattice C compiler, tiny libc, and some core MS-DOS programs. It allowed my to have my entire development environment on a floppy that I could stick in anyone's machine and make it usable.
* We had a source license for Mince, orphaned by Mark of the Unicorn, a tiny emacs-clone that ran on CP/M, MS-DOS, and Unix. We had enhanced it significantly.
*Some* people? Try *most* people. Cost is a *huge fucking problem* in the US healthcare system.
Actually most people with employer-provided health insurance are insulated from the true cost of the insurance. Since the employer considers the insurance benefits to be part of the employee compensation, the companies actively avoid discussing the level of that compensation.
What if employers simply increased employee salaries by the cost of insurance premiums and forced the employees to write the check for the premium? Once the employees see just how much health insurance premiums cost and they wrestle with the 15%-40% annual increases; then the populace will finally demand reform.
Was it Disk Drive Warehouse? I think that was around there.
Side note: Popular Science used the article to introduce a service in which readers could get access to mainframe programs by filling out forms with input data and mailing them to PopSci, which would then run [the] program and send the results back in a S.A.S.E. the reader had supplied. It may have been the least real-time approach to computing in the history of the universe.
Edward waits impatiently for the letter carrier to arrive. "Where is he?", Edward musses, checking his watch.
Every day this week, Edward had rifled through the mail as soon as it had arrived, hoping to see that special envelope. And every day this week, the postman brought only bills and grocery store circulars.
But today - certainly today - would be the day he would receive the results of his climate modeling simulation. It just had to come today!
Edward sees the postman coming down the street. His mailbag seems a bit heavier today
Finally, the mailman reaches Edward's house and pulls out a bundle of letters. Edward anxiously grabs the lot from the hands of the postman. One of the envelopes is notably thick; Edward pulls it out and checks the return address. "YES!", he exclaims, seeing it was from Popular Science. He hands back the rest of the pile and dashes up the stairs with his precious packet.
Edward gives himself a paper cut opening the envelope, but is oblivious to the pain. His mind is focused on one thing - the test results: "Is global warming real?" Surely these results will show it beyond any reasonable doubt!
Examining the first page, Edward's heart sinks...
climate.c: In function 'main':
climate.c:75: error: syntax error before '}' token
If you started the process, you can generally attach a debugger to it. The difficulty is in attaching to another user's process.
It is the other user's process that gets me. Recall I mentioned that most of server processes run as their own unprivileged user: ie: "tomcat".
But you're right. NeXT's non-standard way of doing things was a pain-in-the-ass. I remember the great lengths I went through to connect to our corporate NIS+ (v3 or v4?) maps with NeXT's older v2 implementation.
P.S. I sold all of my black hardware when I moved 8 years ago. In hindsight, I wish I had kept my NeXTstation Turbo. It was sweet.
The funny thing is a lot of propietary software in Solaris and HP-UX needs to run within the root account.
I disagree completely. Any non-OS related production proprietary software that needs to run as root is:
In nearly 30 years of Unix software development, I can only think of a single piece of non-OS software that I wrote that need elevated permissions. I separated that code fragment from the system to run as a separate process, then audited the hell out of its dozen or so lines of code. Nearly all the other systems and server software I have developed actually runs with reduced privileges - often with fewer privileges than the "average user".
OTOH, I have also done significant amounts of OS development: kernels, system libraries, loaders, vm and paging system, device drivers, virtual machines, etc. Writing them without admin rights (at least on the target test machine - only a moron would test a device driver on his dev box) would be impossible.
In general, I have had complete administrative control of nearly all of my desktop development environments throughout my career. Installing most development tools usually requires admin privileges. Attaching a debugger to a running process usually does, as well. Accessing system logs and crash reports are also frequently required.
Ironically, in the 10 years or so that I used a NeXT workstation, the IT guys would say, "You're on your own with that thing. I'm not touching it."
It comes with wired AND wireless network support built in. It did ship with the lower capacity toner cartridge, but at 1500 pages, it should still last a couple of years at the expected use rate (home office + school kids). The high capacity (2500 page) replacement cartridges were $46 OEM or $27 for generics.
The ink-jet cartridges for the printer this one replaced cost ~$30 a pop and lasted only a couple of months before they 'dried out' (half full). Even at $46, a 2500 page toner cartridge should last 3 or 4 years.
In every non-trivial program there is at least one bug.