HNHacker News
TopNewBestAskShowJobs

andrewprock

543 karma · joined November 13, 2014

Cleaning up, migrating, and rebuilding a legacy systems for over 10 years.

Integrating with AI and machine learning for over 20 years.

Need help with either of those sticky problems, send me an email.

email: andrewcprock [at] gmail.com

submissionscomments
andrewprock··on The negative impact of mobile-first web design on desktop
Without going into details about Vector22, it's certainly better today than it was at launch. It still has a very poor floating ToC UX.
andrewprock··on The negative impact of mobile-first web design on desktop
You're more than correct.

In practice, working in small and medium organizations, I have met very few UX designers. Instead I have met plenty of graphical designers that know almost nothing about UX design. I've been at places where I - as a backend developer - know more about practical UX design than anyone on the design team.

I think the reason why we have "bad mobile first design with awful desktop UX" is because very few of the people designing these experiences are UX designers.

I was surprised the article didn't highlight the horror show that is Vector22 at Wikipedia, a design so colossally bad that after three years of suck costs the only path to saving face was to make it the default theme for all users: "Mission Accomplished!"

https://en.wikipedia.org/wiki/Wikipedia:Vector_2022

andrewprock··on The cost of cloud, a trillion dollar paradox (2021)
Any discussion of cloud vs. data center vs. on premises that does not discuss employee costs, documentation, and training is not complete.

One of the main reasons for using cloud infrastructure is that many people know how to use it, internal documentation requirements are dramatically lessened, and you don't need to higher infrastructure IT employees to maintain and monitor it.

If cloud only costs double internal IT, it's almost certainly cheaper until you reach a billion dollar valuation - or more depending on what your infra needs are.

andrewprock··on Advice to a novice programmer
This advice is really good, even excellent. The first bullet is very important, and often ignored: "you can't do good work with bad tools". I might prefer to say "use low friction workflows", but it's largely a semantic quibble. The insight here is that what makes a good set of tools for a novice programmers is different from what an expert programmer needs. Specifically, while VSCode is a great editor, it's maze of plugins and configs makes it quite challenging for a novice programmer. Something trivial like Notepad++ or nano is actually more appropriate for a novice. The new crop of web IDEs are also quite good for the novice and should be seriously considered for intro classes. No novice should be forced to manage ssh keys for their first assignment.

A novice student should be able to generate a working "hello, world" program in 10-20 minutes. This typically means leaving a lot of the software engineering aspect out of the workflow. That's all ok for a novice programmer. It is important for them to engage directly with the workflows.

For example, consider this SWIG tutorial: https://www.swig.org/tutorial.html

Assuming you have a basic editor that you can use (nano) and an environment with all the dependencies installed, you can get a working python plugin built by reading 4-6 sentences, copying data into 2 files, and invoking 3 shell commands. This despite the fact that SWIG is a very deep and complex tool.

The debugging information is really important. I've seen classes where they do not discuss this at all with novice students. Kids need tools to troubleshoot their problems, desk checking code is difficult and only gets more difficult as the length of the programs grow.

The advice on avoiding long expressions is likewise golden. Long expressions are difficult to read, shorter ones are easier to read (this actually applies to variable names well - contrary to the advice in the article).

Finally, the advice on adhering to the DRY principle is not really applicable to novice programmers. Refactoring is hard. Writing library quality code is time consuming. Novice programmers should not be shamed for copy pasting 2-5 lines of code throughout their program. The topic of code organization, libraries, and SOLID principles are things to dig into after a novice has written a couple dozen programs.

andrewprock··on AMD Introduces New AMD Ryzen Threadripper 7000/Pro 7000 WX
What do you think the appropriate way of looking at pricing is? Once you get beyond 8 cores, your ability to saturate the CPU comes down to very specific parallelized workflows that can benefit close to linearly from extra cores. If you have that kind of workflow (render farms, encoding, etc) then the marginal cost of a CPU feels relevant.

I'm sure there are other workflows, especially in the cloud where you are rending out fractions of a CPU. But for individual professionals, what else besides marginal core cost would you consider?

andrewprock··on No Revenge for Nerds? Evaluating the Careers of Ivy League Athletes
At a highly competitive institution like Harvard, I would expect the nerd distribution between athletes and non-athletes to be much less "stereotypical" than in the broader society.
andrewprock··on No Revenge for Nerds? Evaluating the Careers of Ivy League Athletes
The paper is not about nerds vs. jocks. It's about athletes vs. non-athletes. There are many athletes that are nerds, and many non-athletes that are not nerds.

However, I do give NBER full credit for scoring high on the clickbait metric. If you download the actual paper, the word "nerd" only appears in the title of the pdf.

(curiously, and as evidence that nerds don't really go to Harvard, they list Aerospace Engineering as an offered major, but with a participation rate of 0.00% across male/female, athlete/non.)

andrewprock··on Thread-per-core
The cost of 10g is much higher than a single computer. The entire networking stack must be upgraded to 10g. At the very least the Internet device, and possibly the Internet connection as well. It will be cheaper in the cloud than on site.
andrewprock··on Pixel 8 Pro
I had one Pixel 2 that lasted five years. I had another that lasted only six months before the screen just stopped working at all. We'll see how long my current Pixel 5a lasts.
andrewprock··on RealFill: Image completion using diffusion models
I suspect this will do a pretty good job at defeating watermarks.
andrewprock··on Is Math Real?
That's a billion dollar question. If you have the right answer, there is a good chance you'd win a Nobel Prize.
andrewprock··on Is Math Real?
The most straightforward evidence that mathematics is descriptive and not prescriptive is Einstein's General Relativity which illuminated that Newtonian mechanics was not prescriptive. Similarly General Relativity does not prescribe what happens at quantum scales.
andrewprock··on Is Math Real?
This is a curious statement. Mathematics is a description, not a prescription. When Newton says that the path of a projectile is parabolic, he does not mean that it is in the shape of a parabola. He means that a parabola is a very good way to approximate the shape of the motion.

The map is not the territory.

andrewprock··on “What If Linus Torvalds Gets Hit by a Bus?” – An Empirical Study (2000)
Layoffs are often quick and unexpected, and the impacted employees are essentially "dead to the company".
andrewprock··on I downgraded to an iPhone 11 Pro Max – and there’s not much I’m missing
This year I upgraded my Pixel 2 to a Pixel 5a. Had the Pixel 2 for five years. The upgrade to platform that was four years ahead was great, and only cost $150.

Patience.

andrewprock··on “What If Linus Torvalds Gets Hit by a Bus?” – An Empirical Study (2000)
Yes, this is actually quite common. As often as tech companies fail due to poor marketing or poor business, they also fail due to technical debt induced by laying off core developers.
andrewprock··on Notes on existential risk from artificial superintelligence
Looks like he works for a think tank of some sort, founded by the guy behind Mt Gox.

https://astera.org/about/

andrewprock··on Notes on existential risk from artificial superintelligence
I was really hoping to see a discussion of the comparative risk of alien attack included in the article.
andrewprock··on Will Cyber Security Be Replaced by AI?
AI, as it exists today, is very good at interpolating lots of data. It is far less able to do a good job of extrapolating far outside the boundary of existing data. Given the cat-and-mouse nature of security, where the parties regularly move outside the bounds of past behaviors, it is very very unlikely that AI will be useful in security at the boundary.

It will be very good at making sure known exploits are not available, but known unknowns and unknown unknowns will remain security blind spots.

andrewprock··on Linear code is more readable
This sounds like a nightmare. One that I've lived through.
andrewprock··on How large is that number in the Law of Large Numbers?
It's been around for a long time (centuries?). In most textbooks, you'll get different semantics for italic and bold faces. Modern textbooks with color printing often use color in semantic ways.
andrewprock··on Artificial Consciousness Remains Impossible (Part 2)
This is the correct answer. But left unsaid is the fact that we don't have any objective definition of consciousness yet. I posit that until we do, artificial consciousness if by definition impossible.
andrewprock··on Not a single emperor penguin chick survived spring in parts of Antarctica
Peer review raises the bar, but that bar is quite low, and not high enough to ensure anything like scientific truth.
andrewprock··on Ask HN: Freelancer? Seeking freelancer? (September 2023)
SEEKING WORK | San Mateo, CA | REMOTE

I am a staff level engineer focusing on machine learning applications and machine learning operations (MLOps), in support of business systems like search and security. I have a proven track record of architecting, developing and deploying production machine learning systems over a period of ten years in the domains of classification/categorization of text based documents, behavioral data, and images. I am particularly focused on the iterative ML lifecycle: modelling, automation, evaluation/illumination, and experimentation/iteration.

I have deep background in Python, C/C++, and Java, with experience is various ML frameworks (numpy, scipy, pytorch, opencv) and cloud hosted solutions (OpenAI, SageMaker, Google Vision).

https://www.linkedin.com/in/aprock/

andrewprock··on Artificial Intelligence and Copyright: Request for comments
Your prompt (the input) should be copyrightable. The output should not.
andrewprock··on Mathematical proof is a social compact
A couple of observations.

It's odd that the article doesn't spell out Zermelo–Fraenkel, and instead uses the shorthand ZFC axioms. At a fundamental level, axioms are simultaneously solid and slippery. The entire purpose of a set of axioms is to serve as a backstop. Without axioms there are no proofs, and instead you wind up riding infinite regress; turtles all the way down. In short, proofs without axioms are impossible.

But once you have a set of axioms, proofs are precisely that, proofs. The notion that mathematics is a social compact is aggrandizing the role of the axiom, and minimizing the rest of mathematics. It is certainly the case that axioms are in fact a "social compact" in the sense that if we cannot agree that a set of given axioms are true without proof, then we can prove nothing. But the goal of axioms is to make that compact as narrow and clear as possible.

The brief discussion of Godel's incompleteness theorem elides the fundamental nuance that incompleteness has only been demonstrated in the context of self reference. There is a longer and better discussion of how this relates to logic, science, and consciousness in Hofstadter's seminal work "Godel, Escher, Bach"

andrewprock··on Long Live the 'GPU Poor' – Open-Source AI Grants
Agree. It's not at all obvious the world is in need of saving.

That said, software of all kinds (including machine learning) does make the world more interesting and exciting, so happy to see more investment.

andrewprock··on Ask HN: Why did Python win?
The other strong contender at the time was Tcl, especially when combined with the graphical library as tcl/tk. Python implemented tk as well given it's popularity.

Tcl's extensibility led to expect, which was very useful for automating scripting over telnet.

https://en.wikipedia.org/wiki/Expect

andrewprock··on Ask HN: Why did Python win?
This has been touched on in other comments, but I think it bears highlighting.

The ability of python to integrate with C/C++ code went a long way to making it a long term viable platform. If you needed scripting you could code in regular python. If you needed advanced control of hardware in your scripts, you could write a python extension in C/C++ to gain access to that hardware. If you needed high performance, or high parallelism, you could likewise create an extension to solve those problems.

In this way Python was the best of both worlds. Elegant scripting which could be combined with blazing performance and low level hardware interfaces. This aspect of the language allowed it to have a wide footprint (as opposed to just the browser) and to leverage legacy libraries effectively - e.g. BLAS.

I personally did crazy stuff like: "embed a python interpreter in a C program, to use python scripting within the program" back in like 1999.

andrewprock··on How was the size of Earth first measured? (2015)
Do you have any sources which discuss this? From what I can tell the Babylonians were really good at mapping the night sky and tracking the positions of the planets and when they reached various waypoints. I hadn't heard of them trying to estimate the relative sizes of the various celestial objects.
← PreviousPage 2 of 20Next →