winestock | 8 years ago | on: Enter a pair of names to see if any intersections in the US match those names
winestock's comments
winestock | 8 years ago | on: Enter a pair of names to see if any intersections in the US match those names
I read a joke that went: In Ann Arbor, separation of Church and State is about three blocks.
winestock | 8 years ago | on: Bored of the Rings
The Terrible Secret of Tom Bombadil
Original Post: http://km-515.livejournal.com/1042.html
Hacker News discussion: https://news.ycombinator.com/item?id=9982237
winestock | 8 years ago | on: Job applicants over 40 filtered out by employers
winestock | 8 years ago | on: Differences between Tmux vs Screen (2015)
The Tenex line of operating systems from DEC had built-in session management in the 1970s. Unix still doesn't have it. All non-trivial terminal handling was kept in user-space. Therefore, programs had to make assumptions that are now hard-coded in their very design.
To this day, the Linux and BSD kernels assume that they're talking to a VT100 with a few frills. The commercial Unix kernels were worse; I used a SunOS tutorial in the mid-90s that started me off on ed (yes, the standard editor; the man page even called it that without qualification) because Sun started out with an older version of BSD that assumed teletypes.
This has had consequences. The major reason why microcomputers took off was because an Apple ][ running VisiCalc could do things that a terminal connected to a mini/mainframe computer could not do.
Here we are, living in the future, where wristwatches have true color displays, and household appliances run webservers, but the correct, macho, hipster-approved user interface would be shamed by an Amiga 1000.
/rant
winestock | 8 years ago | on: The Lisp Curse (2011)
Old school Lispers are the Jacobites of the Computer Age. Their warnings were ignored, so their nightmares came true; and the world has changed so much, as a result, that few can even imagine an alternative. They were right about nearly everything, and now they are irrelevant.
So pour out a drink for the king over the water and for Genera. Curse this present dark age of bureaucrats and Posix. And then MOVE ON. The Clojurists are the first sizable community of Lispers that has done that.
winestock | 8 years ago | on: The Lisp Curse (2011)
Again, it's one of those things that I'll do in my copious free time.
winestock | 8 years ago | on: The Lisp Curse (2011)
I'm surprised that it still gets so much attention. Every few months, someone volunteers to translate it into another language (see the bottom of the page).
I wrote that essay five years ago. Nowadays, just use Clojure or Racket and ignore what I've written.
And yes, I know, I really need to update the design of the site. I wrote it when I was still a rookie web developer. I'm starting a new job so I'll redesign my site in my copious free time.
winestock | 9 years ago | on: Wall St trashes AA stock because it raised workers' salaries to market levels
Who says Wall Street can't take the long view?
winestock | 9 years ago | on: The First-Ever Banner Ad on the Web
At times, I have wondered how much of the Internet would shut down if ads were forbidden. Sometimes, that thought sobers me. Other times, that thought gladdens me.
winestock | 9 years ago | on: A Mind Is Born by LFT *256Bytes* (C64)
winestock | 9 years ago | on: A two-button mechanical keyboard that types ASCII values, one bit at a time
Now it's time to nitpick. It doesn't seem that there's any way to generate key-codes.
Entering text is nice, of course, but that's not all that a keyboard does. How about cursor control (arrow keys, PageUp, etc.), function keys, or scroll lock?
One can make control-key combinations, but that limits one to what's available in ASCII. For instance, there's no way to distinguish Ctrl-j from the Return key.
That last point brings up something related. In ASCII, the Control key modifies the bit representation of the key pressed. That's why Emacs in terminal mode can't tell the difference between Ctrl-j, Ctrl-J, and Return. In modern user interfaces, the Control and Alt keys are specialized shift keys that let the OS and applications tell the difference.
Of course, one could do the same workarounds that terminal emulators perform, like using escape sequences and such. Then, while using this device, one would have to know the proper sequences for xterm, or vt420, or, or, or…
Still, nice hack.
EDIT: By the way. Some poor lost soul should be forced to use Emacs with this keyboard. Any suggestions on who should be condemned?
winestock | 9 years ago | on: Improving startup time in Atom with V8 snapshots
https://news.ycombinator.com/item?id=13076098
I quote it in full, here:
OK, if you promise to stay off my lawn, I'll explain the history behind undump. Back in the 70's, the big CS departments typically had DEC 36-bit mainframes (PDP-10, PDP-20) running the Tops10/Tops20/Tenex/Waits/Sail family of operating systems. These are what Knuth used to do all of TeX, McCarthy LISP, and Stallman and Steele EMACS. Not Unix; and Linus hadn't touched a computer yet.
Executable program files were not much more than memory images; to run a program, the OS pretty much just mapped the executable image into your address space and jumped to the start. But when the program stopped, your entire state was still there, sitting in your address space. If the program had stopped due to a crash of some sort, or if it had been in an infinite loop and you had hit control-C to interrupt it, the program was still sitting there, even though you were staring at the command prompt. And the OS had a basic debugging capability built-in, so you could simply start snooping around at the memory state of the halted program. You could continue a suspended program, or you could even restart it without the OS having to reload it from disk. It was kind of a work-space model.
Translating into Linux-ish, it's as if you always used control-Z instead of control-C, and the exit() system call also behaved like control-Z; and gdb was a builtin function of the shell that you could invoke no matter how your program happened to have been paused, and it worked on the current paused process rather than a core file (which didn't exist).
The OS also had a built-in command to allow you to SAVE the current memory image back into a new executable file. There wasn't much to this command, either, since executables weren't much more than a memory image to begin with. So, the equivalent of dump/undump was really just built into the OS, and wasn't considered any big deal or super-special feature. Of course, all language runtimes knew all about this, so they were always written to understand as a matter of course that they had to be able to deal with it properly. It pretty much came naturally if you were used to that environment, and wasn't a burden.
Thus, when TeX (and I presume the various Lisp and Emacs and etc. that were birthed on these machines) were designed, it was completely expected that they'd work this way. Cycles were expensive, as was IO; so in TeX's case, for example, it took many seconds to read in the basic macro package and standard set of font metric files and to preprocess the hyphenation patterns into their data structure. By doing a SAVE of the resulting preloaded executable once during installation, everyone then saved these many seconds each time they ran TeX. But when TeX was ported over to Unix (and then Linux), it came as a bit of a surprise that the model was different, and that there was no convenient, predefined way to get this functionality, and that the runtimes weren't typically set up to make it easy to do. The undump stuff was created to deal with it, but it was never pretty, since it was bolted on. And many of use from those days wonder why there's still no good solution in the *nix world when there are still plenty of programs that take too damn long to start up.
winestock | 9 years ago | on: Tech’s Wealthy Enclaves Hurt the Country and Tech Itself
That's right, for all the talk of disruption, innovation, and progressive thinking, the broad outlines of the economic structure of California IT is something that Hillaire Belloc or G.K. Chesterton would've recognized a hundred years ago.
The posted article and the comments in this thread make allusions to President Trump, so allow me to further scare you with this scenario.
Hillary Clinton won the popular vote by ~2.7 million votes in the previous national election, but she won the state of California by 4 million votes. So the entirety of Clinton's lead came from California. Imagine how the Trump administration must think of "the Left Coast." Do you doubt that men like Bannon, Pence, and Sessions have plans for California? Or are trying to get ideas for plans?
Put yourself in their shoes. "How can we divide and conquer California's most important power centers? Hmmm. The H-1B thing got us some votes. Yeah. What else can we do to set those nerds against each other? Hey, there's the fact that tech workers can barely afford rent even when they earn six figures. Let's see…"
Don't forget. Donald Trump is/was a real estate developer. His grasp of issues such as affordable housing must be non-trivial. It's his bread & butter, after all. He made his pile in New York City real estate; not an easy venue. Think of what he could do to the Bay Area with the talent and knowledge earned from that front (plus the incidental help of a few executive orders).
The housing situation in tech centers must be dealt with. If we nerds don't do it, then President Trump will do it for us.
EDIT: Upon re-reading, I see that my tone may seem a little snarky. I apologize. I've given this problem a little thought and I needed to vent.
winestock | 9 years ago | on: Show HN: A Vim distribution inspired by Spacemacs
Homepage: http://spacevim.org/
Hacker News discussion: https://news.ycombinator.com/item?id=13315845
winestock | 9 years ago | on: The UBI already exists for the 1%
First, income from rent (say, for real estate) isn't divorced from work. The landlord has to make some arrangements for the upkeep of the property. The renter, by virtue of being a renter, can't be responsible for everything. If nothing else, the landlord must make and maintain a business relationship with a property management firm.
Second, critics of universal basic income have not neglected to note the destructive effects of the lack of useful labor among the upper classes. The decadent aristocracy has been a trope in fiction, history, and priestly sermons for ages.
Anti-Enlightenment scholars and traditionalist Catholics have pointed out that the nobles in the Vendee worked the fields much like the peasants. The nobles had more land and better land, but not extravagantly more. The Vendee and Brittany launched the counter-revolt that nearly ended the French Revolution. It was the provinces whose nobility were busy buggering mistresses in Versailles and Paris that fell most easily to the Jacobins.
winestock | 9 years ago | on: Mainframes as a lifestyle choice
http://www.winestockwebdesign.com/Essays/Eternal_Mainframe.h...
Plug: I wrote the above.
winestock | 9 years ago | on: Spain Runs Out of Workers with Almost 5M Unemployed
“Education and work exist in two alternative worlds that don’t really connect,” Gomez said. “While in other nations, like the U.S., college education is designed to get you a job, that’s not the case in Spain.”
This may be a case of "the grass is always greener on the other side of the hill."
winestock | 9 years ago | on: Spain Runs Out of Workers with Almost 5M Unemployed
"Pimentel’s client asked him for list of candidates trained in “Agile” project management techniques for helping companies boost their productivity by using more I.T. systems. The client was offering as much as 200,000 euros ($220,000) a year -- almost 10 times the average salary in Spain."
So they're willing to pay ten times the going rate, but they're not willing to take the time to train anyone?
But wait; there's more!
"But such people are thin on the ground in Spain. It takes at least eight months for an experienced software developer to earn an Agile qualification and they also need the ability to deal with senior executives, limiting the pool of people who could potentially fill the roles."
Again, note that they're willing to pay ten times the going rate, so training them for eight months and then paying them the regular wage would pay for itself after a few months on the job; but they still won't train. More importantly, look at the part which I italicized. Dealing with senior executives takes special skill? I am but a lowly suburban nerd, and the ways of my betters intimidate me, so could someone enlighten me as to what that journalist is talking about? I have a sneaking suspicion that Clay Shirky knows.
http://www.shirky.com/weblog/2013/11/healthcare-gov-and-the-...
"Back in the mid-1990s, I did a lot of web work for traditional media. That often meant figuring out what the client was already doing on the web, and how it was going, so I’d find the techies in the company, and ask them what they were doing, and how it was going. Then I’d tell management what I’d learned. This always struck me as a waste of my time and their money; I was like an overpaid bike messenger, moving information from one part of the firm to another. I didn’t understand the job I was doing until one meeting at a magazine company.
"The thing that made this meeting unusual was that one of their programmers had been invited to attend, so management could outline their web strategy to him. After the executives thanked me for explaining what I’d learned from log files given me by their own employees just days before, the programmer leaned forward and said “You know, we have all that information downstairs, but nobody’s ever asked us for it.”
"I remember thinking “Oh, finally!” I figured the executives would be relieved this information was in-house, delighted that their own people were on it, maybe even mad at me for charging an exorbitant markup on local knowledge. Then I saw the look on their faces as they considered the programmer’s offer. The look wasn’t delight, or even relief, but contempt. The situation suddenly came clear: I was getting paid to save management from the distasteful act of listening to their own employees."
EDIT: formatting
winestock | 10 years ago | on: Xterm(1) now UTF-8 by default on OpenBSD
https://windows.appstorm.net/roundups/utilities-roundups/add...
https://www.crossing.us/intersections/lorien/elrond