HNHacker News
TopNewBestAskShowJobs

crzwdjk

238 karma · joined May 9, 2015

submissionscomments
crzwdjk··on This Tech Bubble Is Bursting
It's worse than that: not only are there plenty of competitors to Uber (especially on a local scale), but in a way, Uber sowed the seeds of its own destruction. Before Uber, all the regulations around the taxis business were a pretty high barrier to entry. But with billions of dollars of VC backing, Uber has done a pretty good job of clearing the regulatory hurdles out of its way... and out of the way of its competitors too. I suppose we should be thankful to the venture capitalists for so generously donating money to improve competition in the taxi industry.
crzwdjk··on Tell HN: Apply HN applications now closed, let's discuss the next step
Plus, how else are you going to pay Delicious' AWS bill if you actually succeed in buying it?
crzwdjk··on Los Angeles and the 'great American streetcar scandal'
Absolutely. One thing that I've noticed personally (and that studies confirm) is that the distance I am willing to walk depends a great deal on what walking is like: whether it's interesting, safe, etc. Parking lots are thus a double whammy, because the both push actual destinations apart, and reduce the distance that people are willing to walk. And if nobody's walking anywhere anyway, why bother building tall buildings in expensive city centers instead of cheaper ones in suburban office parks?

Since you mention New Urbanism, have you heard of the Old Urbanist movement? New Urbanism is an attempt to return to 19th century American patterns, while the Old Urbanists advocate going back to an even older pattern of low-rise and mid-rise buildings on really narrow streets, which is a pattern that has worked well for millenia, and indeed still works well in places like Japan. The narrower streets mean there can be more of them for the same usage of land area, which can mean a much better connected network at a pedestrian scale.

crzwdjk··on Los Angeles and the 'great American streetcar scandal'
It doesn't help that most cities outside Manhattan have parking requirements and often quite high ones, to the point where the parking for an office building takes up as much floor space as the offices themselves. And since elevators can't really transport cars very efficiently, your 100 story building will need to be surrounded by 10 10-story parking garages (or, more typically, you'll have a 30 story building with lots of surface parking around). If you factor in all the surface parking, you don't end up with very much density in the end.
crzwdjk··on Los Angeles and the 'great American streetcar scandal'
That has more to do with what happened after the war: America was doing quite well and had piles of money to spend on roads and cars and suburban houses, while most of Europe was pretty devastated and had to spend everything just on rebuilding, without much left over for things like cars and highways, and so focused their investments on public transport. Even so, a huge number of European cities did end up abandoning their streetcar systems, either because the city was small enough that buses were deemed adequate or because it was big enough to have a metro system. The other big exception to the general trend was the Communist countries where public transport was encouraged over private automobiles for a range of reasons. But even in many of the ex-USSR countries, there has been a similar trend of streetcar infrastructure wearing out and getting abandoned rather than replaced.
crzwdjk··on Los Angeles and the 'great American streetcar scandal'
One thing that the article doesn't mention but was still an important factor in the streetcars' demise: the need to replace the capital stock. Things like tracks and trains don't last forever, and eventually you have to replace them completely rather than just doing normal maintenance, but that only happens every few decades. If you spread out the replacement, it's not so bad, but I suspect many streetcar companies didn't bother doing that through the 20s since they were still relatively new (and 30 years counts as "relatively new" for tracks). But then the Depression hit and funds became hard to come by, followed by WWII which led to a surge in ridership but a shortage of materials. By the end of the war, not only were streetcars facing increasing competition from cars driving on new highways, the systems were also physically worn out and needed to be totally replaced. Indeed, this is exactly what happened to the Pacific Electric's Long Beach line, just with a gap of 29 years between closing the old line and opening the shiny new one in exactly the same place.
crzwdjk··on Let's Get Organized and Fix Housing Affordability in San Francisco
If people who work in SF could also live in SF, wouldn't that reduce the demand for taking BART across the bay? Yes, that's oversimplifying things a bit, but the principle seems sound.
crzwdjk··on Announcing Rust 1.8
My laptop is armv7 linux, and not being able to run rustc on it has been annoying. Well, I did find some binary of some old version somewhere, but it's of limited usefulness since it's old, and it didn't come with cargo, which also wants to bootstrap itself from a native binary. The last time I tried it, I couldn't even cross-compile an ARM rustc from x86_64, because the build scripts wanted to run the binary they were building. This is literally the only reason I've been using C and not Rust (which would have been a much more suitable language) for my latest project.

EDIT: Huh. I guess they do have binaries for arm linux now, at least for nightly and beta versions, as of literally two days ago.

crzwdjk··on Rust via its Core Values
They're generally operating on the assumption that there's some amount of setup that you do initially, maybe the first time you try to call methods on your magic ORM object, that will set up the inheritance for that class and inject the appropriate methods, and then this will mostly stay static for the remainder of the process lifetime. This seems to me like a generally reasonable assumption.
crzwdjk··on The Way of the Gopher: Making the Switch from Node.js to Golang
> you could even put the process to sleep until pending I/O is completed and have it take up no CPU during this time. Instead what people do is burn CPU cycles in select/poll loops

That's what select() does though: you give it a timeout, and it goes to sleep until either an fd becomes ready or the timeout expires. As an example, the X server on you typical linux laptop uses select() on a whole bunch of sockets, one for each client, and it both has good enough latency to be interactive, and doesn't burn a lot of CPU doing so. Is this the most convenient programming model for this? Probably not. And of course it still has the issue that a long-running function can delay your getting back into the select loop.

crzwdjk··on We only hire the trendiest
As someone who's had to do a few take home tests as well as coding with someone looking over my shoulder, I am definitely not a fan of the latter. I prefer to sit down and think about a problem, maybe even read it and let it sit in my head for a day or two before I actually start the coding. I also feel like shortening the time and making it synchronous would remove the opportunity to revise and polish the code I've written, which is one of the advantages of the take-home test format.

My ideal interview format would involve a work sample test, followed by a code review of said work sample, and also a reverse code review (candidate is given some code to review). As an added bonus, all of this can easily be done over email without wasting too much of anyone's time, especially compared to an all day in-person interview with lots of whiteboard time.

crzwdjk··on Blame Zoning, Not Tech, for San Francisco's Housing Crisis
> Also, rich people can just buy an old Victorian and modernize the inside, converting a non-luxury housing unit into a luxury one.

Oh, it's worse than that: they can buy an old Victorian full of apartments and convert several non-luxury housing units into a single luxury housing unit. Which is something that tends to be generally encouraged by the zoning and planning codes, because single family houses are regulated much less strictly than any other kind of building, and also tend to be exempt from things like rent control.

crzwdjk··on Finally, some good news about the Silicon Valley housing crisis
If anything, the load on transportation would actually go down. One of the big problems in Silicon Valley is that many of the cities (Palo Alto, Mountain View, Cupertino) are adding tens of thousands of jobs and hundreds of housing units. Which means that the only option is for people to either commute ever longer distances or crowd ever more people into the existing housing. And while it's not practical to bulldoze housing for even a 100% increase in density, there are plenty of single family houses that can be replaced with 6-10 unit apartment buildings. Even in SF itself.
crzwdjk··on Report from the VMware GPL court hearing
NVIDIA does produces drivers for FreeBSD[1]. I don't know if they're considered "good" or not, but they definitely aim to have the same features and quality as on Linux.

[1] http://www.nvidia.com/object/unix.html

crzwdjk··on Mozilla Webrender: rendering any webpage at several hundred FPS
On Linux at least, NVIDIA's drivers do support some acceleration for glyph rendering and other 2D operations through the X RENDER extension. It's not really going to help with SVG rendering, but it's great for boxes, triangles, and glyphs, as well as blitting and compositing which covers most of what browsers do with HTML and CSS
crzwdjk··on Deciding to rewrite getaddrinfo in rust
> C and C++ projects have been empirically observed to have orders of magnitude more memory safety problems than projects written in other languages do.

Note that this includes projects in languages that are themselves written in C or C++, which shows that there's some value in confining the unsafe code to a small and well-tested core library (in this case, the language runtime). Honestly, it seems like 50% of the value just comes from not using C strings, since pretty much every other language has its own string library that does not use null-termination.

crzwdjk··on Technical interview performance is kind of arbitrary
I don't know, I personally consider an all-day onsite interview to be a bigger waste of my time. With two or four hours spent on a take-home test, those can be any time during the day, probably time that I would have been wasting anyway. An interview has to happen during business hours, which means I have to take one of my scarce and therefore precious vacation days, and then actually go somewhere which is likely to take two hours round trip anyway, and that commuting time is entirely wasted. At least a work sample test can be an opportunity to practice my skills and an interesting challenge in itself. Then again, I actually used to do programming contests back in school so maybe that's just my personal preference.
crzwdjk··on Writing my own init with Go
This is really tricky to get right: it's kind of like the problems you get with threads, except with the added bonus that you can't even wait on a lock, because the lock might be held by the thread that got interrupted. The easiest thing to do is just ignore the problem and not let users install signal handlers written in your language. The next easiest thing is the Python model, and it's pretty much the only option if your runtime is not multithreaded (as Python's is not: thanks to the GIL only one thread can be running Python at a time). If your language runtime is multithreaded, you can try to set things up so all signals are routed to a special signal handling thread that spins in a loop waiting for a signal handler to set a flag, then runs the appropriate handler.
crzwdjk··on Writing my own init with Go
Long blocking syscalls will return with EINTR when a signal is received, at which point the interpreter should be checking the signal flag. The real problem with this scheme is if you call into some long-running C extension code, in which case the interpreter doesn't get a chance to check the signal flag.
crzwdjk··on High Salaries Haunt Some Job Hunters
Why do you think that's the case? A typical company is hiring at least one person per month, and depending on the size of the company, probably many more. Plus, if people keep telling them the numbers, they can get a pretty good idea of the state of the market just from talking to all the candidates, which gives them quite a lot of datapoints. Do you do a monthly salary survey of a random selection of 30 people in comparable job roles?
crzwdjk··on Venezuela is on the brink of a complete economic collapse
Hey, just give it a bit of time. If the government is really that eager to keep printing ever more money, the toilet paper problem might solve itself.
crzwdjk··on MIT dean to start new university: “No majors, no lectures, no classrooms”
And what do you think is the advantage of Cambridge over Troy? At least in part, it's the fact that it's where people who go to MIT live. And once they graduate from MIT, there are plenty of companies just across the street waiting for them, having located their offices in part for the convenient access to MIT. It's not clear that Cambridge would be at all the same without MIT and Harvard.
crzwdjk··on Request For Research: Basic Income
Right, and there's a reason for that: a decline in housing prices would be seen as a disaster, because so many people have so much of their wealth tied up in home equity. Of course, it doesn't have to be that way: if you happen to own a single family house in SF, and it gets upzoned to allow apartment buildings, you can expand your house and become a landlord, or just sell the house to a developer to replace with an apartment building. But both of those options are harder than just sitting on your land and watching its price grow, which is part of the "American dream" of housing as a store of wealth that people were sold.
crzwdjk··on Request For Research: Basic Income
Another thing that would be helpful to most people is fixing the affordable housing issue. The problem is that lots of people are deeply invested in making housing increasingly less affordable (alternatively phrasing as "improving home values"). Housing is the single biggest expense for many people, especially those in economically productive high wage cities, and cutting that would dramatically reduce the remaining gap that something like basic income would have to fill.
crzwdjk··on Arcade City: Decentralized, Blockchain-Based Answer to Uber
Among other things, taxis in the US are generally regulated at the municipal level, which is fine enough if you're in NYC, but somewhere like the Bay Area where there are dozens of small cities with crazy borders, you have to remember that Mountain View taxis are different from Sunnyvale taxis, which are different from San Mateo taxis or San Francisco taxis, and only San Francisco taxis are allowed to pick you up at the airport, but any town's taxis can take you there, so when you're going from the airport to somewhere that's not SF, you pay different rates and use a different company than when you're going to the airport. Uber abstracts all that away behind a nice API, which is the same not just for every Bay Area city, but for every city in the US, and many cities around the world too.
crzwdjk··on San Francisco's Fog Over Growth
In a democracy, they end up being so, because those are the people who get to vote. One solution is to move some of the planning functions one level up in the government, so people in the Central Valley also get a say in deciding whether SF's zoning is reasonable or not. This is basically what Japan does.
crzwdjk··on San Francisco's Fog Over Growth
Unfortunately, property tax law in California does the exact opposite. The tax can't be higher than 1% of the assessed value of the house, and that assessment can't go up by more than 2% every year as long as the house isn't sold. So the people who have been living in the neighborhood the longest and complain the most about "neighborhood character" also pay much less property tax than their neighbors. And by "much less" I mean 10-20 times less in some cases, given how much property values have gone up over the past 40 or so years.
crzwdjk··on Why Americans Work So Much Despite Keynes's Prediction
This is equally the case in most other US cities, most especially the expensive ones, but even including the likes of Chicago. It's kind of baffling: a four bedroom house with one kitchen and four roommates is perfectly fine per the zoning code, but that same house split into two apartments with two people living in each one would only be allowed in a relatively small fraction of the city (generally a smaller fraction than _actually has_ such buildings, btw). It's almost like the zoning bureaucrats think stoves are some kind of evil that needs to be strictly limited.
crzwdjk··on Why Americans Work So Much Despite Keynes's Prediction
Fortunately, there's an easy workaround for the ever-increasing land rents, which should work even in places like the SF Bay Area: you can just have a group of people pool their resources to pay for a given plot of land, usually in the form of an "apartment building". Unfortunately, those are illegal in almost all of the Bay Area, and in SF itself, even in the few places where you can build a new one, the process takes forever and costs a lot of money. As a result, housing becomes a rare and collectible good, and people have to either crowd into the existing units, pay a lot of money, or have punishingly long commutes.
crzwdjk··on Nvidia GPUs can break Chrome's incognito mode
Last I checked, they pretty much don't recover from page faults, they just abort whatever "program" you're trying to run, so you can't really use the MMU for clever things like demand paging. But that's not the point of the GPU's MMU in the first place.
← PreviousPage 4 of 5Next →