If Samuel L. Jackson were a Programmer

“The path of the righteous programmer is beset on all sides by the inequities of the clueless and the tyranny of evil project managers. Blessed is he, who in the name of achievement and solid technology, shepherds the users through the valley of ineptitude, for he is truly his customer’s keeper and the finder of lost solutions. And I will strike down upon thee with great vengeance and furious anger those who would attempt to deploy without testing. And you will know my name is zedshaw when I lay my software upon thee.” 


The Programmer’s Aptitude Test

Don’t scroll down until you’re done.)


1. You push your cart through the supermarket 

a. In a pre-defined manner 

b. Randomly 


2. When watching football on TV, you focus on 

a. the quarterback 

b. the defensive linemen 


3. You drive to work 

a. the same route every day 

b. with a different route every once in a while 


4. Which card game do you prefer? 

a. bridge 

b. poker 


5. To plan for tomorrow's weather 

a. You check the TV or internet. 

b. You go outside, looking for signals. 


6. Who do you prefer? 

a. Andrew Carnegie 

b. Marie Curie 


7. You prefer 

a. your keyboard 

b. your mouse 


8. Which subject do you prefer? 

a. history 

b. literature 


9. Which would you rather do? 

a. take a walk in the woods 

b. a crossword puzzle 


10. Which is more important to you? 

a. time 

b. space 


Answer: If you tried to figure out (game) the test as you took it, you have a programmer’s aptitude. If not, you don’t, and probably don’t even understand this answer. 

What was your most creative resume?

If it worked for Leonardo da Vinci, maybe it could work for me. The next time I’m looking for a job, I’ll try this: 

“Most Illustrious Proprietor, Having now sufficiently considered the specimens of all those who proclaim themselves skilled developers of applications of business, and that the invention and operation of the said programs are nothing different from those in common use: I shall endeavor, without prejudice to any one else, to explain myself to your Company, showing your Management my secret, and then offering them to your best pleasure and approbation to work with effect at opportune moments on all those things which, in part, shall be briefly noted below. 

1. I have a sort of extremely light and strong functions and modules, adapted to be most easily ftp’d, and with them you may pursue, and at any time combine them with others, secure and indestructible by standard mean time to failure of hardware and denial of service, easy and convenient to compile and catalog. Also methods of unzipping and storing the data of the customers. 

2. I know how, when a website is besieged, to shard data onto the cloud, and make endless variety of mirrors, and fault tolerant disks and RAIDs, and other machines pertaining to such concerns. 

3. If, by reason of the volume of the data, or the structure of the b-trees and its indexes, it is impossible, when conducting a search, to avail oneself of sub-second response time, I have methods for benchmarking every process or other function, even if it were interpreted, etc. 

4. Again, I have kinds of functions; most convenient and easy to ftp; and with these I can spawn lots of data almost resembling a torrent; and with the download of these cause great terror to the competitor, to his great detriment and confusion. 

5. And if the processing should be on the desktop I have apps of many machines most efficient for data entry and reporting; and utilities which will satisfy the needs of the most demanding customers and users and consumers. 

6. I have means by secret and tortuous scripts and modules, made without leaving tracks, to generate source code, even if it were needed to run on a client or a server. 

7. I will make secure firewalls, safe and unattackable, which, entering among the hackers with their utilities, there is no body of crackers so great but they would break them. And behind these, software could run quite unhurt and without any hindrance. 

8. In case of need I will make big properties, methods, and collections and useful forms, out of the common type. 

9. Where the operation of compiling might fail, I would contrive scripts, functions, routines, and other parameter driven processes of marvelous efficacy and not in common use. And in short, according to the variety of cases, I can contrive various and endless means of data entry, reporting, and storage. 

10. In times of low revenue I believe I can give perfect satisfaction and to the equal of any other in maintenance and the refactoring of code public and private; and in guiding data from one warehouse to another. 

11. I can carry out code in Javascript, PHP, or C, and also I can do in network administration whatever may be done, as well as any other, be he who he may. Again, the intranet app may be taken in hand, which is to be to the immortal glory and eternal honor of all your customers of happy memory, and of the illustrious house of Google. 

And if any of the above-named things seem to anyone to be impossible or not feasible, I am most ready to make the experiment in your data center, or in whatever place may please your Businessperson - to whom I comment myself with the utmost humility, etc.” 

Hacker News Front Page 12/31/2019

Hacker News 12/31/2019 new | comments | leaders | jobs | submit login


1. Tell HN: Congratulations Patio11 - first to reach 1,000,000 karma 

4 points by iamelgringo 1 hour ago | discuss 


2. Ask HN: Any Predictions for the Year 2029? 

11 points by DanielBMarkham 37 minutes ago | 8 comments 


3. The Apple Tablet to Launch 1st Quarter 2020 (cnet.com) 

210 points by vaksel 20 hours ago | 122 comments 


4. President-Elect Graham to Appoint Sam Altman to Cabinet (msnbc.com) 

14 points by muriithi 4 hours ago | 2 comments 


5. Trevor Blackwell's Robot Collects Rocks on Mars (science.com) 

143 points by ojbyrne 18 hours ago | 81 comments 


6. Tell HN: Hacker News is getting too much like reddit 

17 points by jamesjones 6 hours ago | 3 comments 


7. Last Land Line Disconnected at Midnight (cnn.com) 

6 points by chickamade 3 hours ago | discuss 


8. Mark Zuckerman buys Portugal (worldnews.com) 

51 points by larryz 14 hours ago | 16 comments 


9. How Half Our Staff Telecommutes from Space (joelonsoftware.com) 

45 points by jspolsky 13 hours ago | 2 comments 


10. No Deadlines Needed After Singularity is Reached (wired.com) 

44 points by bxgame 14 hours ago | 28 comments 


11. Ask pg: Why do YC teams only get $1,000,000? 

19 points by abcklm 9 hours ago | 5 comments 


12. KidneyExchange.com has 10,000th successful transplant (yahoo.com) 

23 points by phsr 10 hours ago | 7 comments 


13. Walmart Acquires Microsoft (wallstreetjournal.com) 

76 points by francis24 20 hours ago | 17 comments 


14. Baby Communicates from Womb via usb23.7 (scientificamerican.com) 

13 points by johnson 8 hours ago | 7 comments 


15. Mark Bao Starts 1,000th Start-Up (startupnews.com) 

4 points by MarySmith 3 hours ago | discuss 


16. unalone accepts Pulitzer for blog (cnn.com) 

20 points by bootload 10 hours ago | 11 comments 


17. Ask HN: Review my app: NoMoreAds.com (nomoreads.com) 

17 points by fred 10 hours ago | discuss 


18. Poll: Favorite Language, Ruby 92.7 or C++++++++ 

37 points by uafes 17 hours ago | 5 comments 


19. Feds Force Google to Divest its Apps Business (news.com) 

38 points by pete 17 hours ago | 5 comments 


20. Burrito Tunnel Between Calif & NYC Finally Completed (onion.com) 

50 points by jose 20 hours ago | 20 comments 


21. In 2020 Belize will become the world's second-largest economy (economist.com) 

30 points by pg 16 hours ago | 23 comments 


22. Ask HN: What was Microsoft Office? 

63 points by yahfsh 23 hours ago | 6 comments 


23. Wikipedia Available on Gumwrapper (abc.com) 

3 points by lapenne 3 hours ago | discuss 


24. Boeing Dreamliner Delayed Until 2022 (airlinenews.com) 

4 points by mitchel 5 hours ago | discuss 


25. Ted Williams becomes 1st to win MVP with 2 different bodies (mlb.com) 

5 points by johnson 6 hours ago | 2 comments 


26. Ask HN: Review my app (virtualsex.com) 

125 points by ghpoa 1 day ago | 13 comments 


27. Science: Cigarettes Were Healthy After All (science.com) 

43 points by woodyallen 20 hours ago | 14 comments 


28. Broadband Finally Reaches Flint, Michigan (cbs.com) 

133 points by johnguest 1 day ago | 20 comments 


29. GO TO Added to Python, 27 Programmers Jump Out Windows (python.org) 

149 points by swert 1 day ago | 20 comments 


30. Wipe The Slate Clean For 2020, Commit Web 9.0 Suicide (techcrunch.com) 

2 points by nreece 2 hours ago | discuss 


More


 Lists | RSS | Bookmarklet | Guidelines | FAQ | News News 


Feature Requests | Y Combinator | Apply | Library 

Little Known Development Methods

Garbage Perpetuation Development (GPD) - You can’t believe how bad the existing code base is, but you’re afraid to open a can of worms, so everything you add to it is written in the same style. For the rest of your life, you can say, “It was like that when I got here.” 

Mansion in the Quicksand Development (MQD) - The opposite of Garbage Perpetuation Development, you are so shocked by the poor quality of the existing code that you vow that you’d rather swallow razor blades that code the same way. So you write a tight beautiful refactored masterpiece that will crash as soon as the underlying database loses its integrity (later tonight). 

Defer to the Framework Development (DFD) - You’re not sure how to tackle quite a few critical design/architecture issues, so you convince your boss to adopt the framework du jour and decide to “let it handle it”. As soon as someone needs something that the framework doesn’t handle, you blame management for making such a myoptic technology decision and say that it can’t be done. You keep your job and get a new boss every two years. 

Not Invented Here Development (NIHD) - The opposite of Defer to the Framework Development, as soon as you discover something the the current framework can’t handle, you abandon it and write all you own routines. Everything now works exactly as you want it, but with all the additional code to maintain, your backlog has just grown from 6 months to 2 years. 

Whoever Screams Loudest Development (WSLD) - Just as the name implies, you work for the customer who screams the loudest. If anyone screams louder, you drop everything and work on their project. 

F-Bomb Development (FBD) - Whenever everyone is screaming so loud you can’t hear anything, you work on the project of the customer who drops the most F Bombs. 

Start Over Development (SOD) - A critical requirement cannot be supported by the current architecture, so you decide to rewrite it. You spend 3 months designing the new architecture and then 6 months writing the new code. You never finish because you’re out of business. Now you know what “critical” means. 

Workaround Development (WAD) - The opposite of Start Over Development, you can make the current system do anything. You are so clever with your extra algorithms, functions, and data bases. Even with all your great variable naming and comments, six months later, you have no idea how anything works. 

Code Generation Development (CGD) - You’re so tired of writing the same code over and over, that you write a code generator to do it for you. What used to take a week only takes a few hours with the new tool. But you’re no further ahead because 80% of your time is needed to enhance and maintain the code generator. 

Infinite Prototyping Development (IPD) - Your customers and users are unable to describe or document their requirements. So you spend lots of time with them understanding their business and when you’re ready, you throw together a prototype. They love it, but it needs just a few changes. You keep making changes, but it always needs more. It stays a prototype forever. When the app crashes because of security or scaling issues, you’re off the hook because, “It’s only a prototype.” 

Infinite Analysis Development (IAD) - You never have to do anything because you never have specs. Woo hoo! 

The Thread Not Traversed

Kinda reminds me of the time Robert Frost was a technical writer for a day :-)


 The Thread Not Traversed


TWO threads diverged in a yellow stack, 

And sorry I could not traverse so 

And be one parser, long I stood 

And looped through one as long as I could 

To where it spawned in the overflow;


Then invoked the other, as just as fair, 

And having perhaps the faster stats, 

Because it was hashed and wanted wear; 

Though as for that the data there 

Had run them into third normal form,


And both that session equally lay 

In objects no instance had trodden class. 

Oh, I kept the version for another day! 

Yet knowing how code leads on to code, 

I doubted if I should ever unit test. 


I shall be documenting this with a sigh 

Somewhere many transactions hence: 

Two threads diverged in a stack, and I— 

I took the one less traversed by, 

And that has caused the site to fly. 


Programmers are Practical

A salesman, a project manager, and a programmer are kidnapped by terrorists on the way to a customer demo. The company refuses to pay ransom so they are to be executed. The kidnappers grant each a last request. The salesman said, “I have been working very hard on a Power Point presentation of our new release and I haven’t had a chance to present it yet. It’s only 143 slides and 2 hours long, and I’d like to present it before I’m killed.” 

The project manager said, “I have developed a new methodology for implementing our new release. I’d like to present 25 flip chart pages to describe it. I will only take one hour.” The programmer said, “Kill me first.”

A Time to Work and a Time to Play

edw519’s thoughts about workaholism (with apologies to the original author(s)):

 

To every thing there is a reason, and a time to every purpose under your project 

A time to study and a time to write 

A time to code and a time to pluck up that which is coded 

A time to kill ideas and a time to heal that patch 

A time to break down algorithms and a time to build up frameworks 

A time to weep about bugs and a time to laugh about clean compiles 

A time to mourn that dead end and a time to dance when it works 

A time to cast away duplicates and a time to gather common functions together 

A time to embrace someone else’s code and a time to refrain from embracing it 

A time to seek advice and a time to lose illogical prejudices 

A time to keep and a time to refactor 

A time to clean up variable names and a time to rewrite 

A time to accept and a time to keep testing 

A time to love your idea and a time to give it up 

A time for plowing onward and a time to rest.

What if I miss a day of Hacker News?

I got invited to an interview, what’ll I do? 

I got rejected, what’ll I do? 

PHP sucks. 

C# sucks. 

Microsoft sucks. 

Ruby rules! 

Best. Interface. Ever. 

Scientists in Sweden produce Britney Spears in a petri dish. 

pg is great. 

Where can I get the best corporate lawyer in the world for free? 

Anyone want to buy some legal drugs? 

Ask HN: When I sit too long in this chair, my back hurts. What should I do? HN: Switch chairs.

YC should start a franchise in Europe. 

YC should start a franchise in Latin America. 

YC should start a franchise in Asia. 

YC should start a franchise in Brooklyn. 

Ask HN: I don’t know how to code? How can I build a web app that makes a million dollars by Tuesday? 

Ask HN: I need motivation. Any hints? 


There. You just read all of today’s HN news. Now close your browser and get to work.