HNHacker News
TopNewBestAskShowJobs

davelnewton

880 karma · joined July 22, 2010

* http://stackoverflow.com/users/438992/dave-newton

* http://buckybits.blogspot.com/

submissionscomments
davelnewton··on 5 World Ending (as We Know It) Problems for the Near Future
I think you spell "breaking" wrong. AI, btw, won't build roads or unclog my sink, ignoring that "ending capitalism" isn't intrinsically a problem at all. 2, 4, 5 are kind of no-brainers. 3 doesn't mean financial/economic activity will halt (and seems like QC could solve the problem as well as create it).
davelnewton··on (2016) Technology destroys people and places. I’m rejecting it
I don't think it's capitalism per se that's at issue, rather its execution: unethical capitalism is bad. Making money is not.
davelnewton··on Ask HN: Software Engineers, would you ever try recruiting?
Yes, but only on the "back end", e.g., reviewing and matching. Phone calls, no. Review take-home programming exercises, yes.
davelnewton··on (2016) Technology destroys people and places. I’m rejecting it
> Technology destroys people.

I'd disagree. Technology is a tool like any other; it may destroy you, but that's anecdotal. It is not a requirement that it destroy people or take them away from what they find important.

davelnewton··on Ask HN: What do you think about saving crypto wallet keys in a password manager?
It's not clear what you're asking or why. I'd think about it the same way I'd think about storing passwords or anything else.
davelnewton··on Do Dating Apps Really Want You to Find Love?
... No, they want you to find dates, that's why they're called dating apps.
davelnewton··on Ask HN: What do you do when you suddenly feel like not working anymore?
I'd argue it's more complex than most others--it can be a "stand-alone" emotion, or an amalgamation of several others.
davelnewton··on Ask HN: What do you do when you suddenly feel like not working anymore?
ASAP doesn't mean "immediately", it means "as soon as possible". What's "possible" depends on what's being done and expectations. Managing expectations is key.
davelnewton··on Ask HN: What do you do when you suddenly feel like not working anymore?
I'd amend this--you cannot always avoid what you hate. You can try, but life often gets in the way (as do the dirty dishes).
davelnewton··on Ask HN: What do you do when you suddenly feel like not working anymore?
Chop wood, carry water.

In other words, keep on keeping on. "A couple of hours" of focused work is actually fairly productive, more productive than most people get. It's like writing: do a little bit every day, pretty much no matter what, and it'll get done by accident.

davelnewton··on Gravity – An embeddable programming language
Yup! Now view that across multiple languages, viewers, and tab sizes.
davelnewton··on Constants in dynamic languages
Define "real" constants (and define how the ones you list are not constant). Without understanding your definition(s) it's harder to have a meaningful reply.
davelnewton··on Gravity – An embeddable programming language
I'm not sure if you're being deliberately obtuse, or just never look at files in only one way. I don't have that luxury.

Say I have a project that has Java and Rhino (JavaScript) files. My IDE/editor is configured for Java with TAB==4, JavaScript TAB==2. Everything looks great in my editor, because it knows things.

Now I'm using `less` or `cat` in my shell. Or ssh-ing to a remote box because of an emergency production issue. Or whatever. Now when I look at the file things no longer line up as originally intended, because when I view them outside of the (relatively) smarter IDE the TAB characters are at the mercy of whatever I am using to view the file.

You cannot simply rely on local tab width settings if files use a mix of tabs and spaces for indentation and alignment: if you change the tab width then alignment breaks. If you never align anything, great, tabs work great for indentation (except for when you can't trivially change it, then they suck). But indentation isn't the only thing tabs are used for.

There's the rub: TAB characters will always be at the mercy of how I'm viewing the file, which I do not always have control over, and certainly not (trivially) based on the type of the file.

davelnewton··on Ask HN: Ways to improve testing skills for a developer?
What's an "advanced testing skill"?

I believe good testing skills generally boil down to good coding skills: good code is (almost) always easier to test.

Be specific: what testing skills do you think you're lacking?

davelnewton··on Ask HN: How do you get motivated?(the hard way)
Tangentially related questions: How do you know you're not "fully realizing your potential"? Why are you not learning new skills (even dead-end jobs have learning opportunities)? What makes it a "dead-end job"? Can you afford to quit your job to "prep and search"? Why can't you do that and do you job that pays the bills?
davelnewton··on How Much Does Education Really Boost Intelligence?
Do people claim that education boosts intelligence? It can improve problem-solving skills (it's not a given, e.g., going to school doesn't mean you'll learn anything) which could lead to better performance on IQ tests, but that seems like a separate discussion.
davelnewton··on Gravity – An embeddable programming language
The output is consistent if your tab settings are always the same when you look at your code, and you use the same tab size across all languages.

I view code in multiple ways, have different indentations for different languages (not many different now), and have clients that enforce difference indentation settings. It just doesn't work.

davelnewton··on Gravity – An embeddable programming language
Orthogonal. Once you have tabs, any viewing of that file will rely on the tab size set by whatever viewer you're using: mixing tabs and spaces basically never works. At least if it's just tabs everything will be seen wrong consistently.

The only reliable mechanism is spaces-only.

:p

davelnewton··on Gravity – An embeddable programming language
Which isn't the VM, right?
davelnewton··on Why don't Google/Facebook/apple setup satellite campuses around San Jose?
How would buying real estate in expensive areas keep their costs low?

It might increase QoL for some employees in some ways, but that wouldn't necessarily improve the quality of the company.

davelnewton··on Gravity – An embeddable programming language
I'm not sure how the parser and lexer/etc. line count matters for the VM line count. shrug

Definitely something I'll be looking at for my embedded work; it may fill a gap in my toolchain. And boo-hiss tabs.

davelnewton··on Should a Beginner Android Developer Write App in Java or Kotlin?
Given a choice between the two I would use Kotlin, because it's a better language.

When you throw Flutter into the mix the discussion turns more to ecosystem than language: I personally thing Flutter is a great idea and may end up winning the cross-platform war, although I'm still learning React Native because I already know React--and the apps I'm writing don't need much or any native support not already provided by existing modules.

In the long run something like Flutter will almost certainly win because performance matters; it's just not clear to me if Flutter will be the one.

davelnewton··on Vectrexy: A Vectrex Emulator Written in Modern C++
Ah, brings back memories. Very nice.
davelnewton··on Ask HN: How can I work on simpler things, closer to the machine?
Just curious what makes them any more "intellectually challenging" than any other processor/processor family. I can see that flipping to a DSP might be a little different, maybe, but the MPS series is just another MCU. Thoughts?
davelnewton··on Ask HN: Should you accept that as a developer you have small impact in company?
There is a disconnect between the claim that it's a company with "open culture" and answers like "it's none of your business".

I dispute your premise from the outset.

davelnewton··on Ask HN: How can I work on simpler things, closer to the machine?
Languages: Pretty much anything, but still mostly C/C++, moving towards JS/Python for some. Once you're in JS/Python territory it's tough to call them "small" since you're looking at 0.5-1M RAM, 4M flash, etc. but relatively speaking, small.

* FreeRTOS is a good place to start, but there are many, both OS and commercial. Most are similar in scope and application. Larger systems may also use Linux or Android, but that's further away from what you're looking for.

* Atmel, Arm, PIC, ESP8266/ESP32 are probably the strongest current players. Procs like the Cortex M series are popular on the Arm side, Atmels are what the non-Arm-based Arduinos run, and the ESPs exploded on to the scene as a dirt-cheap way to get WiFi.

* shrug Arduinos, ESPs, and RPis. There are a million other boards like the Tiny series. Adafruit has the Feather series which I like quite a bit, and the Circuit Express which is an interesting proposition, but has a Python layer, which you may or may not want. Note that almost all of these boards can be developed for in different ways: the Arduino "IDE", command-line Arduino or bare-metal, JavaScript, etc.

* That you'd just have to search for--the embedded landscape is huge because almost everything has a processor in it now at some level. If it's a company that makes a physical product that does anything other than sit there, there's a processor in it. (More or less.)

davelnewton··on Ask HN: How can I work on simpler things, closer to the machine?
Depends entirely on the domain, hardware, and environment. The typical "embedded systems" of today are orders of magnitude more complex than stuff I worked on twenty and thirty years ago. In order to get back to those days you need to focus on very, very small systems, and even then, you need to define terms carefully, e.g., Apple Watches are embedded systems, but they're non-trivial.
davelnewton··on Ask HN: How can I work on simpler things, closer to the machine?
Small embedded systems.

I have to admit I'm not quite sure why you don't already know that, considering our history is similar, which makes me suspect the question was just poorly-expressed.

Any software you write on any system that's already running a mainstream OS will have multiple layers of abstraction by default. Add anything web-related to that, particularly on the client, and you have another dense layer of abstractions, because browsers are just VMs.

The only way to escape that is to work on small (here, by small, I mean bare-metal or small RTOS systems) in a non-VM language. (I add the last because many small systems are now running JS or Python, e.g., NodeMCU/CircuitPython/etc. and as soon as you get in to that, while you're still quite close to the machine, there's a fairly opaque layer unless you decide to dive in.)

It is the nature of systems to increase in complexity. In many ways this makes our lives easier, at the expense of being able to understand each layer individually. It's only when we cross layer boundaries, by design or by accident, that we need to understand more deeply.

davelnewton··on Show HN: Yes another game of life (blazingly fast and with draw tool)
FWIW, I get about 40fps unless it's a pretty small window, then it's around 60.
davelnewton··on Ask HN: What is missing from comp sci grads, why can't they code?
It's simple:

* No mentoring from more experienced developers * Refactoring (techniques and reason) isn't a course * No real-world, e.g., practical, exercises (depends on school)

CS classes teach the basics, and theory. These are both important. They tend to fall over on teaching practical applications of both.

Most development takes place far outside the realm of "theory". I haven't implemented my own data structures since a decade out of college (in those days I still did because I did a lot of embedded work, and there wasn't much of an internet). Only rarely do I need to consider time complexity (although I do).

This is just my experience; I did embedded/firmware for a decade, then web development. For the first half of that I used math more than CS. For the past twenty years nothing I've done even existed when I was in college.

The solution? Continue to teach the basics and theory: IMO you must have a strong background. But mix it in with real-world applications, with code reviews, with revisions, etc.

The best example of this we had back in my day was the final senior project, but even that had no code review or critique.

← PreviousPage 3 of 31Next →