HNHacker News
TopNewBestAskShowJobs

zephyrfalcon

2,508 karma · joined January 22, 2008

submissionscomments
zephyrfalcon··on Python past, present, and future with Guido van Rossum [audio]
Interesting, because a common criticism of Go is that it's "stuck in the 70s". [1] It's "modern" only because of its age, not because of its features.

[1] https://github.com/ksimka/go-is-not-good

zephyrfalcon··on Building a Lisp from scratch with Swift
One way is to model the call stack explicitly. I.e. you will need objects (or structs, in Go) representing a stack frame, and have a stack of those (the actual call stack). Evaluation works very different that way, since you can no longer piggyback on the implementation language's call stack. It does mean that you can now do the desired tail call optimizations, e.g. if you're evaluating (if cond a b), and you've evaluated 'cond', then you can replace the if's stack frame with one containing just a or b, and continue evaluation there.

One benefit of this is that continuations become trivial to implement (they're just a snapshot of the call stack at a given point).

Admittedly, almost all write-your-own-Lisp tutorials omit this, and use a bunch of recursive calls (in the implementation language) instead, which makes it very hard to do TCO, continuations or anything else that requires a real call stack (exception tracebacks, for example).

(I hope this answer makes sense; it's 3 in the morning here, so clarity might suffer a bit. ;-) But as it happens, I am writing a (hopefully non-toy) Lisp interpreter myself, in Go, so the question attracted my interest.

zephyrfalcon··on Announcing Pipenv
A bit off-topic, but what font is used in the video/animated GIF?
zephyrfalcon··on True cost of recruiting a developer [infographic]
"In the IT world, where there is a talent shortage, ..."

Could we please stop perpetuating this myth? If there really was a shortage, companies would fall over each other trying to hire anyone they could, not make it almost impossible to get hired by imposing ridiculous and long interview processes.

zephyrfalcon··on How the Web Became Unreadable
For some reason, the article itself uses #333333 for its text. (Because of antialiasing, most of the pixels that make up the text are actually (much) lighter than this, at least on my system...)
zephyrfalcon··on Ask HN: Who is hiring? (September 2016)
According to the US Department of Labor: "Employment of software developers is projected to grow 17 percent from 2014 to 2024, much faster than the average for all occupations. The main reason for the rapid growth is a large increase in the demand for computer software." [1] Then again, that same page also claims the median salary for a software developer is $100K...

From what I have seen, many companies do indeed complain about a shortage of developers, yet their actions are completely at odds with this.

[1] http://www.bls.gov/ooh/computer-and-information-technology/s...

zephyrfalcon··on Golang – encoding/csv: Reading is slow
Python's csv module uses an internal module _csv which is written in C. So I'm not sure it's all that surprising that a Go implementation is a bit slower.
zephyrfalcon··on Ask HN: Who wants to be hired? (September 2016)
Location: Jacksonville, FL

Remote: Yes

Willing to relocate: No

Technologies: Python, Delphi, Javascript, Android, C#, Xamarin, SQL Server, MySQL, Postgres, Scheme, Prolog, Windows, Mac OS X, Linux

Résumé/CV: http://aquila.blue/misc/resume.html

Email: zephyrfalcon@gmail.com

zephyrfalcon··on HacBook Elite is a fully-functional Mac running OS X. For 1/3 the price
Maybe they are comparing it to the non-retina MacBook Pro, as described here: http://www.geek.com/apple/psa-non-retina-macbook-pro-13-inch... (which does have an i5, regular HDD, and 4GB of memory)
zephyrfalcon··on Ask HN: Who wants to be hired? (August 2016)
Location: Jacksonville, FL

Remote: Yes

Willing to relocate: No

Technologies: Python, Delphi, Javascript, Android, C#, Xamarin, SQL Server, MySQL, Postgres, Scheme, Prolog, Windows, Mac OS X, Linux

Résumé/CV: http://aquila.blue/misc/resume.html

Email: zephyrfalcon@gmail.com

zephyrfalcon··on Ask HN: Who is hiring? (July 2016)
> Minimum wage low skill jobs pay more than this in the US.

No, they don't. $7.25 * 40 * 52 = $15,080. Before taxes.

(40 hours, assuming you are lucky enough to get full-time, which is often not the case, esp. at fast food places and such. Also 52 weeks, which is more realistic since you're not likely to get paid vacation. The $7.25 is the current minium wage for the US as a whole [1], may differ per state.)

[1] https://www.google.com/search?q=minimum+wage+us&oq=minim

zephyrfalcon··on Languages: Why we must save dying tongues (2014)
You have a point, although technologies don't necessarily win because of merit either. In fact, they often don't...
zephyrfalcon··on As a psychiatrist, I diagnose mental illness and help spot demonic possession
Latin has no native speakers anymore, but that does not mean nobody speaks or writes it. It is still often used within the Catholic Church.
zephyrfalcon··on Ask HN: Who is hiring? (July 2016)
Is it just me or does kristopolous's script no longer work? (It worked fine in the previous months.)
zephyrfalcon··on Ask HN: Who wants to be hired? (July 2016)
Location: Jacksonville, FL

Remote: Yes

Willing to relocate: No

Technologies: Python, Delphi, Javascript, Android, C#, Xamarin, Scheme, Prolog, SQL Server, MySQL, Postgres

Résumé/CV: http://aquila.blue/misc/resume.html

Email: zephyrfalcon@gmail.com

zephyrfalcon··on Sellyourmac and shyp
They are offering $1125 for a MacBook Pro (in good condition) that I paid almost $3000 for last January. Doesn't sound like a good deal at all.
zephyrfalcon··on GNU Taler 0.0.0 released
To me, 0.x version numbers suggest that a project is not stable and can change in incompatible ways at any time... or be abandoned, even. 0.0.x, even more so. That said, some projects stay in 0.x territory for so long that this no longer applies.

0.0.0 is kind of weird... for some reason it suggests to me that zero lines of code have been written so far. (If there was code, the version number would have been higher.) But this is obviously not the case here. I do wonder what versions they used before this release?

Then again, I know of at least one non-trivial project that used negative version numbers... I guess, in the end, it just means what the developers say it means.

zephyrfalcon··on Why Most Unit Testing is Waste (2014) [pdf]
Really? What language allows you to encode business logic into its type system?

I'm talking about things like, what happens if you press this button; is this calculation correct; does this lookup give me the desired results; does X get stored in the database correctly (or retrieved from it); etc. I don't know of any type system that lets you check these things.

(Also, I assume s/strongly/statically; Python is a strongly typed language. Granted, not everybody agrees about the terminology...)

zephyrfalcon··on Why Most Unit Testing is Waste (2014) [pdf]
Python is not "weakly typed", nor does it ever automatically convert strings to numbers or the other way around.
zephyrfalcon··on Why Most Unit Testing is Waste (2014) [pdf]
> Unit tests don't magically save you from code bloat.

No, but the idea is that such a method would be hard to test, considering it (presumably) does so much. So in order to test it properly, you are encouraged to break it up into smaller methods. (Whether somebody actually does that is a different story, of course...)

zephyrfalcon··on Why Most Unit Testing is Waste (2014) [pdf]
> A very high percentage of unit tests in a dynamic language are written to catch type errors.

I'm not sure where you got that information. You don't actually write tests to catch types. You write tests to check behavior. While it is possible that actual type errors come out of the woodwork while doing that, that is not the reason why the test was written in the first place; and after fixing such a type error, the test itself is still valid (again because it is making sure that the code exhibits the desired behavior).

I don't think I have EVER written a test just to check for types (in Python). Neither do I pepper my code with 'assert isinstance(x, some_class)' because it just goes against the grain of a dynamically typed language.

zephyrfalcon··on Esperanto: the language that never was
Here is a long critique of the language: http://jbr.me.uk/ranto/
zephyrfalcon··on How Far Is Europe Swinging to the Right?
The VVD is traditionally right-wing, but I think the article uses "right-wing" here to mean "extreme right" or perhaps "new right" or "non-traditional right" or whatever you would call it. Not sure really...
zephyrfalcon··on How Far Is Europe Swinging to the Right?
Most, if not all, of these parties seem to make a point of scapegoating immigrants and refugees (and certain religions). In fact, that seems to be their main point. Trump is no exception. Sounds pretty far to the right to me.
zephyrfalcon··on When Schools Overlook Introverts
"But making people feel like they like you is pretty easy."

For an extrovert, yes. :) Or for the introvert who knows these things and knows how to do them credibly. For some of us, it's neither easy nor obvious.

I have, of course, noticed these things too, in school- and work situations... If you are talkative, it's OK, but if you're not, you are "weird", "aloof", "arrogant", or people simply think you dislike them. Yes, you can learn to make superficial conversation, but personally it all feels really fake to me.

zephyrfalcon··on When Schools Overlook Introverts
"The truth is that classical education has always been designed for the introvert: students were required to sit quietly at their desks, wait to be questioned, do work in silence, etc..."

True, although I think that had more to do with making kids obedient, or expecting them to be obedient, rather than school being "designed for introverts". Also, putting a bunch of kids together in a room, and expecting them to speak up or do things in front of the class, certainly don't favor the introverted.

zephyrfalcon··on When Schools Overlook Introverts
"Speaking in front of people and working in groups are extremely valuable skills, even for introverts."

Yes -- and the problem is that very few places actually teach these skills to introverts. Rather, you are supposed to already know them.

"This is like saying that people who don't enjoy physical activity should skip P.E. class -- in both cases there is both a developmental and health component at play."

It's funny you should bring up PE here, because the same mechanism is usually at play there. PE classes don't focus on the kids who are bad at sports. They focus on those who are already good at it, for whatever reason.

zephyrfalcon··on Happy Birthday Monkey Island
I think the highest OS X version you can install on a clamshell is 10.4. I have it on one of mine (with memory maxed out to 576 Mb). As you say, it's not real fast, but ScummVM works, and so do C64 and GBA emulators.
zephyrfalcon··on CS Unplugged: Computer Science Without a Computer
I think the main problem with "coding on a whiteboard" during interviews is not that you have to reason about an algorithm without the help of a computer, but rather that you have very limited time to do so. You stand there, looking at an empty board, trying to come up with something sensible (or at least, a decent start) in a few seconds. In the meantime people are looking at you, waiting for your answer, which adds just a tiny bit of psychological pressure. :) This is a very different situation from sitting down at your desk and thinking an algorithm over, at your leisure.
zephyrfalcon··on EnChroma – Color for the Color Blind
I tried the online test a few weeks ago, and while it confirmed my colorblindness, it also said there was only a 30% chance that the glasses would work for me. :-/
← PreviousPage 6 of 15Next →