HNHacker News
TopNewBestAskShowJobs

snowfarthing

34 karma · joined February 12, 2010

I'm a mathematician currently looking for work where I can solve a variety of problems, preferably using Common Lisp and involving mathematics.
submissionscomments
snowfarthing··on Why software only moves forward
In my career as a web developer I have worked on accounting systems three or four times now. At one point, it occurred to me that the quirky feature of Common Lisp's FORMAT that prints numbers as English names was very likely put there to make it easier to print checks for payroll!

I have often reflected on how it would have helped me if I had been required, or even merely strongly encouraged, to take an "Introduction to Accounting for Programmers" class, that would discuss payment processing, invoices, accounts receivable, even how to store dates and times (UTC for the win, darn it!) -- if more developers understood these things from the outset, I strongly suspect a lot of systems would be more robust than they are now!

snowfarthing··on Why software only moves forward
I'm not entirely sure why people who "sling code" would object to their code being completely rewritten -- particularly when the startup mindset is "we'll get something working right now, and once we figure out what we're doing, we can rewrite everything into something stable."

And those who don't want to participate in the "stabilization" effort typically move on to find the next shiny and exciting thing to work on.

snowfarthing··on How I write code using Cursor
I am currently convinced that the only thing useful about AI so far is that it's reviving nuclear power plants -- granted, they are to power AI engines -- but I hope that they'll be kept running after this AI fad passes!
snowfarthing··on How I write code using Cursor
It's easy to forget one major problem with this: we all have been mediocre devs at some point in our lives -- and there will always be times when we're mediocre, even with all our experience, because we can't be experienced in everything.

If these tools replace mediocre devs, leaving only the great devs to produce the code, what are we going to do when the great devs of today age out, and there's no one to replace them with, because all those mediocre devs went on to do something else, instead of hone their craft until they became great devs?

Or maybe we'll luck out, and by the time that happens, our AIs will be good enough that they can program everything, and do it even better than the best of us.

If you can call that "lucking out" -- some of us might disagree.

snowfarthing··on How-AI-has-impact-future-healthcare
Just a couple of days ago, after having heard that there's a new Mersenne prime, I had a question pop into my mind: what if it's a twin prime? Is that even possible?

I could try to calculate that on my own, but since it's such a large number, the potential twins are going to take forever to calculate, so I figure I could start with a quick Google search.

And the "AI Overview" feature said it was impossible, because a Mersenne Prime is of the form "2^p - 1" (where p is prime) and thus adding 2 to it will result in "2^p", which is necessarily even.

And then a couple of search results later, there was a post listing Mersenne primes with twins. There are four known, and it's doubtful that there will be more (which is what I expect!) -- but I am astounded by how wrong the AI Overview was on this!

And this was for a mathematical question, where it can be relatively easy to see what went wrong. I would hate to see this kind of mistake show up in health care diagnostics!

Well, I'm willing to make one exception: if the doctor makes the diagnosis first, and then checks it with an AI model, to see if the model catches anything they missed, I'm ok with that. That's probably the "proper" way to use AI in general. If we use AI to replace human competence and knowledge, that is a path that will lead to disaster!

And that's true even if, or worse, especially if AI never actually gets the sentience needed to enslave and/or destroy humanity.

snowfarthing··on Microsoft veteran ditches Team Tabs, blaming storage trauma of yesteryear
Why not both?

Tabs can do something that spaces cannot do: they can provide unambiguous indentation information. To this end, it's braindead easy: for every tab, you have a new indentation level.

But spaces can do something that tabs cannot do: they can provide formatting info that remains constant regardless of tab size. Thus, once your indentation is correct, you can use spaces to make sure that one-per-line arguments for that one function are all lined up correctly, or for those comments at the end of a line, that are best lined up together, or if you want to make sure that keys and values are lined up in a hash table -- all these cases are handled nicely by spaces, but are horrendous if you change the tab size.

I have used this for Python, PHP, JavaScript, and HTML, and this is something that works <i>very well</i> with <i>all</i> of these languages. The one place where the formatting won't work out too well would be for variable-font editors -- but perhaps that can be handled by either choosing a fixed font to spite the editor, or to make sure the editor matches the sizes of spaces to the sizes of the characters above the previous line.

Or, alternatively, the editor could interpret mid-line tabs as formatting, too, and just align them up according to the longest line, but that would require editor shenanigans that I think are currently not provided for!

snowfarthing··on Inappropriate comments at pycon 2013 called out
I find this idea that, just because you are in a public place, you cannot act privately, rather hilarious. Granted, it would be stupid to say something secret you wouldn't want broadcast to the world, in the middle of a crowd, while someone is speaking...but is it really unreasonable to expect to be left alone when all you want to do, is to turn your head to your coworker, and say some sort of wisecrack?

I have been to many conferences, and have, many times, told something to someone that I thought might have been funny. While I don't think I have ever said something that I would think was harmful I nonetheless have said things that I would be embarrassed of they went "public", because I simply would not have wanted to be the focus of the attention.

I have read Adrian's blogpost, and she doesn't give enough detail for me to know just what it was about the comments that was offensive. Whether they were or not, I don't think it's unreasonable to expect that the two developers were expecting their conversation to be quasi-private.

snowfarthing··on Ask HN: How did you pick your focus in Computer Science?
I cannot guarantee that my advice is the best, because I'm a mathematician, and not a computer scientist, but my own experience might be helpful nonetheless.

I had originally decided to become a mathematician because I read "Jurassic Park" for an English class, and was intrigued enough by "chaos theory" that I looked into it, and discovered what mathematical culture was like, and decided that I liked it very much. When I started college, I declared myself a double major: Mathematics/Computer Science--but reduced the Computer Science part to a minor, when I decided that it wasn't mathematical enough to my liking.

Since then, I went on to get my PhD in math, and then decided that I'm not all that interested in teaching, so I've been working with computers since then. More recently, I've discovered Lisp and Haskell, but I have been finding it difficult to find the time to get through the "classics" like "Let Over Lambda", "Learn You a Haskell for Great Good", "The Art of the Meta-Object Protocol", "Structure and Interpretation of Computer Programs", and "On Lisp".

Do I wish I could have gone through these things while I was a Computer Science minor? Yes, I certainly wish so: these systems are almost pure mathematics! Having said that, I'm not too disappointed that I didn't go through the program. I spent a three-year hiatus between my first and second year of college, and between that time, there was a shift from C++ to Java as the core Curriculum Language; even before that shift, however, I don't think my school was enlightened enough to pursue Lisp properly in its higher-level courses. My only regret with my educational path, though, was that I didn't get a chance to take the second semester of "Computer Architecture"--thus, I took the class that taught me how to construct computer gates (and a couple of other things--like "flip-flops", if I recall correctly), missed out on the semester that discussed creating memory, arithmetic units, and so forth.

Oh, I would add, be wary of the grad school route: I do not regret going that route to learn the math I did, and I met my wife in the process, but I really wish I could have created a startup when I was younger! Having said that, I really wish I could make use of my mathematical knowledge somehow, right now, to start something...but the catch-22 is this: had I not gone through to get my Doctorate, I wouldn't have the mathematical background that I would like to use to do interesting things...

snowfarthing··on C++11 and Boost - Succinct like Python
Ironically, I didn't understand Python's list comprehensions until I learned about Haskell's version (which is the original source of Python's), along with the explanation that Haskell's list comprehensions are taken straight from mathematics. Indeed, Haskell's version are almost ASCII-art mathematical set notations.

Even now, I still like Haskell's

   [fn(x) | x <- myList, x < 5]
over Python's equivalent

   [fn(x) for x in myList if x < 5]
Of course, I'm a mathematician, so that probably explains everything about my convoluted path of understanding these things, and my preferences to this day. :-)
snowfarthing··on Is Microsoft Right About Touchscreen Computers?
Several years ago I bought a used Sharp Zaurus. I got so used to using the touch screen that, even now, I reach for a stylus when I try to use my TI-89.

I now have an Asus Transformer, and I find that I now reach for the screen on laptops as well. However, when I plug my mouse into my Transformer, it annoys my that I cannot use the mouse as I've comes to expect it to be used; instead, the OS interprets everything the mouse does as gestures.

I hope to someday install Linux on my tablet, and then try to create an interface that treats touch as touch, and mouse as mouse. I also have ideas for touch I'd like to experiment with.

← PreviousPage 3 of 3