Claim to fame..
I used to exchange messages with Danny Thorpe on the Borland newgroups! The guy never knew it, but he was a "virtual" mentor to me, I was only a teenager and it was his input that pushed me into programming... wow memory lane.
The best way to acquire a programming skill - by "skill" I mean a working understanding of a framework, a language or, shudder, very very bad word coming up, engaging shatter-proof scare quotes, a "paradigm" - is by modifying a colleague's well-written code and making it do something different that you actually need it to do. …
heh. good one.
In my foggy memory banks, I seem to recall that original early Pascals were pretty much useless for anything but theoretical Comp Sci kind of stuff (and an argument could be made that even THAT use was stretching things). Borland's hackjob in the Turbo series was, in my ever so humble opinion, the best way to program in MS-DOS. Compiler, editor, linker, and extensive context-sensitive help were all there, just a key-stroke away. You could "touch" anything in the hardware you wanted, throw in Assembly language if you really wanted to super-optimize something (or look macho), and all sorts of neat things (array of functions? check...). I never got into the TurboVision libraries too deeply, since I liked re-inventing the wheel at every opportunity, but what I remember of them was they were pretty solid with a bit of a learning curve. (Probably not as much as most of the Java frameworks nowadays, though.) And all for like $79, with an "educational" version often available for $49.
Yeah, I had a lot of fun with TP 6. I was taught "straight" Pascal in college, but TP let me fully explore the inner workings of the PC. Good times, good times...
Is to program something non-trivial suited to that language / api / package. i.e. don't write some crappy hello world equivalent. Go all-in and write something which you estimate will take several weeks to write at the least and touches on 2 or 3 major features of the thing. Better yet, open source your efforts, put it up on github or somewhere and make sure to stick it on the CV.
Absolutely! We all get sent on courses or given new toys to play with but how often do get to use the technology? I personally find it very hard to simply learn something for the sake of it, in one ear and our the other if I'm honest. However, if you give me a project involving some particular set of technologies then I find the experience of getting "down and dirty" with it helps cement that knowledge in the old noggin for far longer and I tend find a lot more uses the same tech can be put to going forward.
Our PHBs used to decide something was a new trend and they needed to train the staff. People would get sent on a course where they went into "fully soaked sponge" mode after the first day. When they came back they resumed their normal work. Whatever they had learned wasn't needed for at least several months - at which point they realised they hadn't really understood, or had forgotten, the course material.
We pointed out that the ideal way was for people firstly to play with a new trend - using it for nothing important. They might produce some working toys but with various dead-ends and obvious problems.
Then they get sent on the course where they quickly grasp where they had had misconceptions. They would also still be awake when the lecturer reached the really interesting bits. Depending on the lecturer's skill these students' questions were either a pain in the proverbial - or a rewarding interaction.
Finally on arriving back from the course the new knowledge was immediately put into use. It would still take a while to get really competent - but it was a more a advantageous starting point.
I mean that works if you have lucid API documentation. If it doesn't, you're basically spending weeks spelunking the source code and/or throwing calls against the way to see what works. And hopefully writing the API docs yourself, since no one else bothered to.
I can confirm the Russian payment system still exists in some places. I bought and paid for a small joint of meat and a salami for a meal at my mother in law's house, I think the payment took longer than it did to eat the meat and salami. This was in Djukovsky a few years ago in the local super market, the system means you have to pay before you get anywhere near your purchase.
I last saw this system at the Stanford University Bookstore on University Avenue (@ High Street), Palo Alto in 1992. I never heard it called "Russian". Strangely, I was purchasing Ed Krol's "The Whole Internet User's Guide & Catalog" for a Polish friend in London[0] ... I warned him that it was a waste of time and money, because the Internet was self-documenting.
[0] Why? Because it took about five working days for me to purchase it & get it to him in London. If he had gone through normal channels, it would have taken 5 weeks or more. This was normal for newly published computer & networking books back in the day ... Most were easily available in Silly Con Valley, but the rest of the world? Not so much.
Thanks for writing a well-thought out and entertaining article.
About pdfs - unfortunately when you're at the head of the pack in your ${large_company} you spend a lot of time reading things available in horribly-formatted websites, or pdf. The iPad Pro 12.9" comes close to sqrt(8.5^2x11^2), so reading without scrolling is easy.
(I've tried to learn Python from the Google videos, unfortunately OBE (overcome by events)).
This post has been deleted by its author
The short and long sides of a sheet of paper are in the ratio 1:sqrt(2), which also happens to be equal by definition to sqrt(2):2. (The ratio must be constant for all paper sizes, otherwise, you might have problems reducing or enlarging since things will only ever fit perfectly in.one axis) At this particular ratio, you can make the next sized sheet up by sticking two sheets together, or the next size down by cutting one sheet in half, and there is no wastage.
297 / 420 = approximately 210 / 297 = approximately 148 / 210.
...Sadly, that neat rule true only for the DIN A, B and C series of paper sizes. If you have to deal with the American paper sizes, you've just got to memorize the ratios, because they're all effectively random numbers: Letter is 1.29:1; Legal is just as wide, but taller, so 1.65:1. "Tabloid" is actually just 2 x Letter side by side, but because Letter was a non power-of-two ratio, the ratio of a double-sheet of it is a not-very-obvious 1.54:1... (American business resists metrification because it would cause "confusion"...)
The other neat A-series trick is how easy it is to calculate document weights: A0 has a surface area of exactly one square metre, so sixteen sheets of A4 paper (2^-4, or 1/16th of the area) has a weight that's exactly the gsm thickness of the paper stock. (80g for standard 80gsm copier paper) Try working the equivalent out starting from "pounds per uncut ream"...
Regarding screens, Microsoft's Surface line has the best screen aspect for reading A-series documents: its 3:2 display ratio (i.e., 1.5:1), is as near as dagnabbit the A-series 1.414 : 1 plus a tiny bit for a menu bar.
Hopefully, other manufacturers will follow suit: 16:9 is only good for movies.
"Regarding screens, Microsoft's Surface line has the best screen aspect for reading A-series documents: its 3:2 display ratio (i.e., 1.5:1), is as near as dagnabbit the A-series 1.414 : 1 plus a tiny bit for a menu bar.
Hopefully, other manufacturers will follow suit: 16:9 is only good for movies."
That's the trouble with toys where it's assumed you'll only have one thing displayed, it will be A-seriesish in proportion & it will be at full screen. Have you considered that other people have use cases involving multiple documents open at once, perhaps a reference document and a text editor? Or involving images which are much wider than the sort of text you use? In those situations 16:9 is minimal.
16:9 panels were chosen for laptops because they were cheaper: the same 13" part could be used in a portable TV.
There's no evidence that they're better for reading text, whether side-by-side or one-up. The problem is that they lack height, and text is invariably written as tall pages of narrow columns. Look at how many websites (Reg included) pad out their layout left and right with the content in a narrow vertical column. There is a scientifically proven reason for this: it's to reduce the amount of horizontal tracking your eye needs to do between one line of text and another (similarly to how newspapers lay out text in narrow columns rather than long lines), so that you can read faster.
Wide displays don't offer any benefit for reading - even if you have two documents side-by-side, you will get to see more of them on a 3:2 or (better) a 4:3 display than you do with any of the widescreen displays. And that's before we look at how every GUI design peels precious vertical space away with toolbars/docks/menubars and window headers...
If there were laptops with 4:3 displays, I'd rave about them, but nobody makes them anymore. Surfaces seem to be the only range that has tried to move away from 16:9 and back towards the more work-friendly 4:3 ratio -- if there are others, I'd be delighted to hear about them.
My laptop from Jan 2000 to April 2002 was 1400 x 1050. Not tall enough for a PDF. My next model had 1600 x 1200 @ 15", excellent. Current model since Nov 2016 is a decent laptop, but a less useful 1920 x 1080 at slightly higher DPI. Not as non-glare either, though not shiny.
It seems the widespread use of WS TV has crippled Desktops and Laptops. Yes there are so called "retina screens", but less than 16.5" WS is too small to have the advantage, and more than 18" is far too wide for desktop use at normal reading glasses distance. Are 21" WS monitors / All-in-ones that are only WS HD for people that need reading glasses and won't wear them?
I find it easiest to be in front of something like a 32" WS monitor with multiple reading windows open and a bit of extra screen space for the odd search, calculation, or notes. One can easily get reading glasses adjusted for the slightly more distant large screen.
Any larger than about 17" landscape and the sides of 16:9 landscape are useless for users of reading glasses. The 5:4 (11.25:9), 4:3 (12:9) and DIN format (about 5.66 :4 or 12.7:9) are better. Now there is a trend to 3:1 (27:9), which is only any use for cinema widescreen. The 16:9 (WS) seems to work less well in portrait mode. At least in landscape you can put tool windows or notes to the side.
Only for metric sizes. If you use imperial paper measurements (foolscap, quarto, elephant, double elephant (a personal favourite), etc - which, given Foyles reputation for cutting edge technology is rather more likely to be the style of paper in use there) there's no such guarantee.
(I've tried to learn Python from the Google videos, unfortunately OBE (overcome by events)).
The only thing I've learned from Google videos is that trying to learn from them is a waste of time!
Two minutes spent on one or two paragraphs of text and a diagram beats 12 minutes or more of video any day!
"Foyles' quixotic system of trading"
Paying was only half of it. The other half was the way books were displayed. The common habit of grouping books by subject wasn't for Foyles. They shelved their books by publisher.
If, by chance, all the good books on CodeMangle-- were published by, say Wiley, this was fine. If every publisher had a book out on it you'd wander all over the shop trying to compare them. And if nobody had one out you'd wander all over the shop simply to discover that.
At one time the bus-stop outside bore an advert reading "Foyled again? Try Dillons."
... when the translator had (and still have sometimes, I guess), very little knowledge of the technical matter he or she's translating, or, sometimes, the translator was a techie not exactly perfectly versed in the proper use of his own language, they could deliver "spectacular" translations, which let you scratch your head desperately trying to understand what they were really trying to say (and there was no Internet to check).
When I started to learn Turbo Pascal (coming from Commodore and GW BASIC), for some time I didn't use pointers because the book I had translated their explanation in a so convoluted and erroneous way I couldn't understand them. The translation of the Intel 80286 manual was another source of gems, sometimes harder to understand than the assembly examples.
Anyway, time to sell my Thorpe and Konopka books, it looks.... before BorInCodeEmbIdera finishes to kill off Delphi - their new Linux compiler didn't set the development world aflame, it looks..., and older versions no longer run on newer OS.
One of my favorite mumblesomethings from a difficult professor was about DEC and their manual for BASIC:
"From looking at it you'd think they took printouts of code and ran them on their machine, but no, it must have cost someone a fortune to buy a typewriter ball that looks like it was a printout from their machine.
Sadly, there's on average 1 mistake per page."
But, he never told us where the mistakes were. That was left as an exercise to the reader.
Was laboriously typing BASIC line by line from from a book of games written for the Oric 1 (before we upgraded to the much more lovely Oric 48K). Typing and then debugging would take hours if not days, and the results were, well, often a bit shit.
Looking back, I, erm, don't think it did mE aNy LoNG tErM hARm....
60 Programs for the Oric 1 http://www.defence-force.org/computing/oric/library/lib_coding_basic/
This book defined my career: https://www.amazon.com/UNIX-Network-Programming-Richard-Stevens/dp/0139498761, I enjoyed every page and used all my free time typing in the examples in slackware linux, It was my first journey into unix/linux and my first hacks. Loved how it worked in HPUX(1990), linux(1993) and later on Sun4 and Irix. When I landed my first job at SGI (1997) it was instrumental in my daily job tuning and analyzing Irix systems against all the other unixes.
I've never really been a bookworm, other than reading a lot of horror fiction. Picking up a tech book and trying desperately to learn from it by rote, you might as well ask me to eat the damn book as that'll probably have a far better chance to ensuring the knowledge stays in my brainbox!
Sadly not every techie is good at video presentation though, very few can do it for an international audience. There are some great techies, people like Pinal Dave on Pluralsight, but he sounds like he's just done a load of Speed and coffee before recording, he speaks so rapidly and in a staccato phrasing that sadly means you spend more time listening to his amazing speech patterns than actually paying attention to the material, ha ha!
I find watching 30-40 mins of vids every day on the commute helps me to get a good idea about a particular tech, whereas sadly and much to my own personal shame reading tech books for more than 10-15 mins just sends me to the land of nod.
Miss Verity, what a superb article. I remember expeditions to Foyles also, to obtain many Oreilly books, and more obscure books too.
I completely agree with your point on having well thunbed Oreilly books on display. It is the system admin or developers equivalent to mating plumage - it says "Oi! I can prgram in XYZ and don;t you doubt it - I've read this book here".
I admit to arriving at each new job with a box of Oreilly books which I carefully line up on my desk.
In the absence of military style badges of rank or epaullettes on our polo shirts, or medals for bravery under helldesk fire, that's probably the only way we can signal to others in our profession what we (at least claim) our proficiency levels are.
But say... a rather smart military style uniform with engineering medals and rank badges would be a good idea... I'm sure cheif Engineer Scott got his fair share on the Enterprise...
Who is this imposter, it reads like an imitation?
Also an LCD is rubbish to read on. Larger eInk Options:
Note the cheap 6" Kindle might be only 167 DPI, the latest PaperWhite is close to 300DPI?
1) 6.8" Kobo
2) Kobo One 7.8"
3) Second hand Kindle DXG 9.7
4) If you are rich ... (second hand) Sony Digital Paper DPTS1, about $700 just before it was ended at the end of 2016.
PDFs are ghastly to read, unless your screen is 1200 pixels high or more. No re-flow,
I used to be an eInk bore but seem to have migrated, by pure osmosis, to reading solely on a LCD tablet. For pure text (e.g. novels) FBReader in night mode - white text on black background - is ideal and bothers my wonky eyes not at all. I can read for hours without discomfort. I rarely pick up my eInk things these days, and my paper books even less.
You can tell which of my pBooks were really useful. They are the ones with lots of Post-it notes sticking out of the edges - each annotated with a short reference.
You can't use your fingers as concurrent place-holders on eBooks while correlating between several sections..
However many pBooks have a minimal index - and at least you can search in an eBook. A combination of media sources including YouTube videos is best.
What's a "Pointer-to-Book"?
First, I know nobody who uses the word "book" to refer only to an electronic document, so the "pbook" nonsense is totally redundant. There are, at this point in history, "books" (paper) and "e-books" (electronically stored and displayed). When paper books do become the tiny minorty (and it's not going to be for decades), we'll coin a term for them; and my money is on that term being the straightforward "paper books", just as "film camera" versus "camera" has replaced "camera" versus "digital camera" since digital photography became the universal technology.
Second, when coining English words, it's generally a good idea to use the consonant patterns of the language. "vlog" was bad enough (no other English word , but "pbook" can only be sounded by a native English speaker as "pook" ...or "book", and I don't know a language where "pb" would be sounded separately. (Say "drop bear" and listen carefully to the sounds you're making. The consonant at end of "drop" will be shared with the start of "bear". Now concentrate on sounding both separately. Awkward, isn't it?)
So, someone decided to coin a new word that's spelled only slightly differently to an existing word that's already universally understood to describe the exact same thing (and with that meaning is one of the thousand most common words in English), but the new word also has the added stupidity that it can only be pronounced in a way that makes it sounds exactly the same as the existing word it's supposed to replace. Bravo!
(and the biggest problem with e-books is that you can't hold multiple pages open with your fingers as you cross-reference an index, the place you were reading, and the description of the term that the place you're reading has just referenced)
"First, I know nobody who uses the word "book" to refer only to an electronic document, [...]"
It can be argued that "book" primarily refers to the information - not the medium. A scroll of parchment or vellum contains information that can be a "book". The Shorter Oxford Dictionary has "a writing" as its first entry for the meaning - and then goes on to fill a column with variant meanings.
As to pronunciation - English is notorious for breaking any apparent rules of phonetics for particular groups of contiguous letters. Over time some letters have become silent in certain combinations - but were previously pronounced . There is now a silent "k" in "knife" - but we would still pronounce it in the proper name "Knut".
The word eBook probably started life as e-book. The word "email" is now accepted as replacing "e-mail" - even though "emailed" has a prior meaning for enamelled or embossed decoration.
Therefore p-book or pBook can become valid differentiators for the medium of a paged book with paper leaves.
In the 1950s and probably the 1960s many UK large shops had a central payment point. The customer didn't have to change queues though.
In the Co-op (Co-operative Society) grocery store each counter had an overhead wire on which little boxes whizzed back and forth across the shop to a distant eyrie where the money was handled. Your money and bill was put into one of the boxes - and the assistant pulled a handle to make it move. Then your change and receipt returned the same way. If your family had shares in the Co-op then you had a personal "divvy" (dividend) number which was ingrained in your mind - a bit like a loyalty card discount nowadays.
In some large department stores they used the vacuum tube (not thermionic) system. Your money and bill was put into a short metal tube container - which was inserted in a hole in the wall. A hiss and it disappeared through a labyrinth of tubes to the accounting department somewhere in the building. Then a clang when it returned with the change and receipt.
Can't remember if the assistant was single-threading with one customer during such an exchange.
I have, in the basement, a bookcase full of O'Reilly titles, with the aminals on de cover. I am waiting for them to become valuable collectables to Millennial geeks. They strike me as suckers, who will buy anything.
The Manning MEEP I am waiting for is Learn Haskell. It has been retitled before completion, but I am still hoping it will reveal the Secret Meaning of Monad. I was working thru the prelim PDF, but I had to back up to chapter 4 when I forgot what currying was.
Actually, books are good. I taught myself "C" from the White Book, as did all the true C programmers. It was a very rare book that was written as a reference, but somehow also served as a teaching tool.
True C did not get complex. It lives in a simple world of PDP's and 3B's, Ascii mini's. This world was a much simpler place. It was temporarily reborn with the 8-bit IBM PC.
Then MicroSoft produced their alleged "C" compiler. I know, for a fact, that anything written with this abomination will fail next year, when the C epoch overflows to leftmost bit. The product of this abomination will think that time has become negative, with unpredictable results.
I know, that is not the compiler's fault, but the library that MS copied from somewhere or the other.
I plan on being dead in 2038 when the C epoch overflows completely. If anybody defrosts me to fix old code, I will claim brain damage.
By Blackwells, of course, I mean the one on Broad Street in Oxford. When I moved to Oxford in 1995, they had a computing-books section that was subject-organised, with a strong slant toward books with a scholarly bent. It was a treasure trove, really, and immensely more convenient than going to Foyles. And you could buy books by taking to a till and paying the amount they asked and then leaving with the book. (Ordering books that weren't available on the shelves required you to be an adventurous soul, and was generally better done down the road at Waterstones/Dillons.)
Sadly, as the years progressed, the selection became progressively more mainstream and less scholarly in nature, probably due to competitive pressure from Waterstones/Dillons and (later) from Borders as well.
"Insist on proper EPUB files. You will thank me for this"
....once you've found an e-book reader that works properly. Unfortunately there are a lot of bad ones out there.
Even just differentiating code from narrative by styling becomes a major logistical exercise - nevermind attempting some of the more complex typographical feats of daring-do which are run of the mill in technical books such as footnotes, callouts etc.
http://lampe2e.blogspot.co.uk/2015/01/file-formats-in-wild-wild-west-review.html
I remember when a book told you about ROM and OS calls, not APIs! Wasn't there a second-hand bookshop near the top of Charing Cross Road (near a similar second-hand CD place) that had a load of computing books? I got a few very informative volumes about the Atari ST from there.
On another note I recall p*ssing off the entire English department of my school without realising it. I'd won a prize of a book token and the deal was we chose a book, bought it, then returned it to the school to be dished out at an awards evening in front of assembled parents. But afterwards, I was subject to derision and abuse from my barking mad, Victorian-attitude English teacher, and I had no idea why.
It was only much later that I realised the deluded staff honestly thought they were instilling a love of literature in their students, and my choice of 'The Complete Spectrum ROM Disassembly' as a literature prize rather tactlessly highlighted their failings. It was apparently referred to as 'not even a proper book'; Doctors Ian Logan and Frank O'Hara apparently not on the department's list of acceptably tedious and departed authors.
'The best way to acquire a programming skill - by "skill" I mean a working understanding of a framework, a language or ... a "paradigm"'
These are coding skills, not programming skills. They merely represent the technicianship aspects of programming. Relying on technicianship alone is equivalent to having your new commercial premises designed by bricklayers rather than architects and civil engineers.
What we currently suffer from (in respect of functionality, performance and security) is software bricklayers being in full command. What we need to cultivate is programming as an engineering discipline which is conceptual and based on established fundamental principles, of which coding is a necessary but potentially small part. If that were achieved, we might be supplied with software that did not need a torrent of bug fixes, would be less OS and upgrade dependent and did not take seconds to launch dialogs.