HNHacker News
TopNewBestAskShowJobs

RNeff

130 karma · joined September 28, 2012

submissionscomments
RNeff··on Leave Montreal and My Company to Join Facebook as Prod Eng in Menlo Park?
TLDR: Stay where you are.

Cost of Living is extremely high. Look at walkscore.com to see apartment prices. Traffic sucks. LinkedIn has a feature to compute commute times. Select a Facebook job, at the bottoms is the feature. You enter the address of your dwelling, it tells you the compute time. Sounds like you are not in a relationship. Finding a Significant Other is very, very difficult.

The weather is really great. There are redwood forests, beaches and winter snow skiing within driving distance. Great stuff at Farmers' Markets.

Facebook is no longer cool. Apparently their CS graduate acceptance rate was much lower this past Spring.

RNeff··on Ask HN: What American tech policy needs to change?
DRM (Digital Restriction Management) is evil. Cory Doctorow has written lots about it. A company can steal back all of the e-media you have purchased.

No software patents. No business process patents.

Copyright should be limited to 25 years. Only make money from new stuff, not really old stuff.

RNeff··on Where Can I Find a History of GUIs from a Programmer's Perspective
Start with the book: Designing Interactions, compiled and edited by Bill Moggridge, 2007. ACM has a special interest group, SIGCHI, on Computer Human Interaction. They have online resources, local chapters, an annual conference https://www.acm.org/special-interest-groups/sigs/sigchi Also an annual conference: https://sigchi.org/conferences/upcoming-conferences/ If you have access to ACM's Digital Library, all of the Proceedings are there.

Do searches for documentation for different systems. There is a NextStep manual on Archive.org, for example. There are Xerox PARC Altos manuals at bitsavers.org. There are X Windows docs at X.org.

RNeff··on What is the greatest problem that FOSS has solved?
You can legally modify the program. You have access to the source code and documentation, so if you have experience or hire someone or ask a contributor, you can fix a bug or an annoying feature. An experienced programmer can modify or optimize or strip out the bloat of a program. The reason all of the clouds run on some variation of Linus is more the customization potential than the zero cost.

There are free, modifiable versions of all the expensive Adobe software, all of the expensive Office software, etc.

RNeff··on Ask HN: How to find what I would like to do if I like everything
The language choice is based on what project you want to accomplish and the platform you chose. An Android app (there are a billion smartphones) you would pick one of the IDEs and use Java/Kotlin. A project on the Raspberry Pi would be C/C++ or Python or whatever. A web project would be javascript /CSS /HTML /React talking to (huge list of things). Games would be on one of the 3D engines and a supported language. Various flavors of AI use different languages and libraries.

Pick a project you want to build. That would narrow your choices. Then search Stack Overflow for opinions /recommendations.

The APIs on the platform of choice restrain the languages used.

RNeff··on Ask HN: I am looking for academic studies about computer program readability?
FORTRAN was short for FORmula TRANslator. Its design goal was programmers would write normal math statements. This was copied by many other languages. Then languages started using the math symbols for other things. C++ allows programmers to define the math symbols to other types. Java and others use '+' for string concatenate.

The problem occurs when: 1. the function has more than two arguments; 2. the function is semantically different from the meaning implicit in a math symbol.

One solution is use the same syntax for all functions. In Lisp, every thing is a list, so ( function ( parameters )). In Smalltalk, every thing is an object, so send a message to an object with parameters.

Read the Lisp manual, and the SmallTalk-80 book about the language design theory.

The big boost in program readability is following a style guide with the rules for naming, indentation, commenting, and other important features, plus automated or manual style reviews.

The Hungarian notation for variables was an attempt to document the type of a variable in a language, 'C', which had loose typing rules.

RNeff··on Ask HN: How do you grow your startup after launching?
You setup your startup in a state that does not allow non-compete agreements.
RNeff··on Ask HN: What was your first programming book?
A Guide to FORTRAN Programming by Daniel McCracken
RNeff··on Is It Ever Too Late to Pursue a Dream?
It is never too late to have a happy childhood.
RNeff··on Americans Still Fear Self-Driving Cars
Current software is unreliable and crashes a lot. Operating system goes 'blue screen of death', ATMs go down, store cash registers go down, airline computer systems go down. Facebook was offline yesterday. Malware, viruses,hackers everywhere. Software quality sucks. Now up the risk. Faulty software will be controlling a multiple ton autonomous weapon. Will it kill the passenger, the pedestrian, or both?

Oh. Don't forget snow.

RNeff··on Ask HN: How Did You Setup Your Windows Machine to Do Linux Related Development?
I was developing Java code to run on windows, but disliked the different IDEs. I learned Unix / vi / bash in the late 1980's; vi is in my fingertips. I use cygwin https://www.cygwin.com/ which gives me the unix utilities running on windows. This is probably not what you were looking for.
RNeff··on Ask HN: Is There a Technical Decision That Snowballed and Crippled Your Startup?
In one multi company contract situation, we spent more than six months arguing about which object-oriented database to use. Always arguments about C versus C++ versus Java.

Many technical decisions are based on strong opinions, and not any facts like benchmarks.

There are decisions that went bad after the fact. Like a database vendor that went out of business, or operating system updates that killed third party libraries, or changes in pricing or licensing, or bugs the vendor would not fix.

RNeff··on Opportunity, Lost – NY HQ2 Loss from a NY Software Engineer's Perspective
The Amazon HQ2 search was a huge con game. They did not award NYC a second HQ of 50,000 jobs, the prize, but only a large satellite of 25,000 jobs. This is called bait and switch. An unanswered question is "where would 25,000 new families live?"

A large tech company will suck the life out of the startup environment due to better pay, benefits, technical challenges, and prestige. New York state allows non-compete agreements, so it is hard to change tech companies.

RNeff··on Ask HN: Have Generics been accepted as “considered useful” in modern languages?
Going back to the dark ages of assembly language, they implemented text macros to ease the programming burden. This worked at a text character level, with passed parameter strings merged into defined text strings. This worked well most of the time. Debugging them was a challenge. Text macros were part of C and C++ and other languages. You could write very clever things, like faking isomorphism in pure C.

Algorithm textbooks, like Knuth's books, usually use pseudo-code for their examples, and can be considered 'generics'. I don't think Knuth's books are controversial.There are a number of attempts to re implement textbook algorithms into standard macro or generic packages.

Generics are an attempt to add semantics and checking to the macro text substitution process. Expanding the generic body in the context of the full compiler finds lots of errors.

Most of my generic work was with Ada(83). The main problem we found was there needed to be a way to define constraints on the type(s) that were passed in as parameters. Types may require an equality, less than, increment, or null for the algorithm to work correctly.

Another problem with both macro and generic approaches is the expansion will create a lot of code, not all of which will be used. A generic might create 50 to 100 methods, but only a handful will be used by the program. We talked about some way to specify which methods the program would use to restrict the code generated. (Obviously this feature would require computing the transitive closure of internal method calls)

The end goal is that all of the algorithms taught in CS classes would be directly available in my favorite programming language and environment. This does not seem to be controversial.

RNeff··on Ask HN: How to find a good business idea?
Ask yourself questions about the advances in technology. What would you do with a terabyte of flash memory in your phone? NVIDIA makes some incredible chips that currently cost about a thousand dollars; what would you use them for if they cost a hundred dollars or ten dollars? What would you do with a teraflop in your phone? Is there something you can do with AR/VR other than shooting and killing things? How can you implement remote work to make it practical and popular; is commuting to an office stupid? Talk to your parents and grandparents about their problems; can you solve them? What would you build for an Internet that is intermittent, not continuous? Can you build a gig economy that treats the workers fairly, not exploiting them?

Ask around for problems, figure out how to use technology.

RNeff··on Andreessen Horowitz Leads $68m Series A in Sandbox VR
Wow, three different ways to blast and kill things. How silly. San Mateo is not a San Francisco location. Wow, six people stand in a circle, what fun. How much does it cost?

The Muybridge photographic experiments were at Leland Stanford's Stock Farm, now Stanford University. There is a metal plate celebrating the work at the barn.

RNeff··on Ask HN: Are you limited in what language you can write in at FAANG?
In Fred Brook's book, The Mythical Man Month, there is a chapter on "Adding People to a Late Project Makes it Later". The reason given is the new people have to be brought up to speed (trained) on the project by people already working on a project. This is magnified if the project uses a different programming language, libraries, OS, database than other projects. Multiple programming languages: just say no.
RNeff··on Ask HN: Searching for a corporation with particular investors
Microsoft ventures has renamed itself as m12. Their website is m12.vc Their portfolio companies are at: https://m12.vc/companies/

For Venture Capital information, look at crunchbase.com

RNeff··on Ask HN: How are accelerators of any value?
YC runs a free, online Startup School each year. All of the videos are available at https://www.startupschool.org/ Watch them, and see if you learn anything.

The actual onsite program has an acceptance rate in single digit percentage. The last invitation-only Demo Day held at the Computer History Museum was completely full. See https://techcrunch.com/2018/08/20/here-are-the-63-startups-t... and https://techcrunch.com/2018/08/21/all-59-startups-that-launc...

So yes to all of your questions: great education; great connections to alumni; great connections to VCs and mentors; and YC staff have tons of experience.

RNeff··on Ask HN: How can I learn how to write my own DB system?
There are a number of textbooks on Database Implementation.I used one from 1999. You should probably read "Seven Databases in Seven Weeks" to learn about the different kinds of DBs. Basically, a DB is just some very large data structures with optimized access algorithms.

There are a number of open source DBs, reading the code will be a real challenge. You have to know what each module is implementing and the subtle features. You have to be a serious language expert in whatever programming language they used.

RNeff··on Ask HN: How to know what you don't know?
Focusing on a target delivery date instead of software quality. "We ship sh*t on schedule!". Watch out when managers' bonuses are based on hitting a ship date and not based on first year sales.
RNeff··on Ask HN: Why aren't there more symbols on keyboards?
There are keyboards designed for foreign languages including Russian, Arabic, Japanese, Hebrew, etc. that have keys for the required characters. There are also custom key tops you can buy, stickers for the top and front of keys, flexible plastic overlays, and most OSs have key remapping software.

Ages ago, I worked at a very large PC company, and we had a shelf of more than twenty different keyboards we tested with.

RNeff··on Ask HN: What made your least favorite/most hated manager/supervisor/CEO so bad?
They are never, ever wrong. Never.

They shoot the messenger. Any bad news is the fault of the person reporting the news. Result is no one tells him of any problems. Manager: "Will the software ship on time?", Programmer: "Yes, of course". Any other answer will result in yelling, screaming, and abuse.

Managers with huge bonuses tied to software ship dates, not software quality.

RNeff··on Ask HN: What features would you add in a computer language?
Assertions, pre and post conditions,invariants, strong typing, lots of self checking features, design by contract. Features to make it easier to write correct programs.
RNeff··on Ask HN: What would be like in Silicon Valley as a married artist with no kids?
There are two in Palo Alto. The Palo Alto Art Center is on Embarcadero at Newell. It has a pottery studio, a gallery and other studios. Cubberley, on Middlefield is an ex-High School with studio space for rent. I would not move to Silicon Valley unless the job offer is over $ 300K. Check the rental prices and the housing prices. The traffic sucks, commuting is long and painful.
RNeff··on Ask HN: How to self-learn Python?
Try: https://www.edx.org/xseries/gtx-introduction-to-computing-in... The courses are free, the money is for certificates of completion. There are a bunch of videos on YouTube.
RNeff··on Ask HN: Why do many websites use a country code as the top-level domain?
Many public institutions use the .us TLD. The Sonoma Public Library in the northern county of Sonoma in California is sonoma.lib.ca.us
RNeff··on Ask HN: How can anyone afford to start a business in SF?
Silicon Valley and SF are where the talent lives, where the VC's live, where the big ideas are implemented. You need some founders, remember Steve (Jobs) and Steve (Woz). Watch https://www.startupschool.org/, it is free. There are other startup accelerators other than Y-C.
RNeff··on Ask HN: Does anyone have something negative to say about RISC-V?
Integer divide by zero does NOT raise an exception.

From the Spec: We considered raising exceptions on integer divide by zero, with these exceptions causing a trap in most execution environments. However, this would be the only arithmetic trap in the standard ISA (floating-point exceptions set flags and write default values, but do not cause traps) and would require language implementors to interact with the execution environment’s trap handlers for this case. Further, where language standards mandate that a divide-by-zero exception must cause an immediate control flow change, only a single branch instruction needs to be added to each divide operation, and this branch instruction can be inserted after the divide and should normally be very predictably not taken, adding little runtime overhead.

RNeff··on Ask HN: If you wanted to learn assembly how would you?
Assembly language is mostly mnemonics for the individual instructions available in the hardware of a microprocessor. So you need to pick a microprocessor family, study the hardware (registers, different memories), and what each instruction does. The popular microprocessor architectures are: ARM, X86 (Intel, AMD), and the new open source RISC-V. Start with "Computer Architecture" by Hennessy and Patterson. Modern architectures overlap many instructions, this is part of the cause for Specter and Meltdown. Add a number to a register, the result won't be there immediately. A branch tests true, the branch will not complete for a couple of cycles.
← PreviousPage 3 of 5Next →