HNHacker News
TopNewBestAskShowJobs

jwhite

296 karma · joined September 8, 2009

submissionscomments
jwhite··on Use git from the command line (not a GUI)
I think it's REALLY important for devs to learn the command line too. But not everyone on the project who needs to interact with revision control is necessarily a developer. They may not have the background and skills to come to grips with the command line.
jwhite··on Use git from the command line (not a GUI)
Agreed. Every time git comes up on HN there seem to be a lot of people making arguments that boil down to "I don't want to know the details of my revision control tool's user interface", and it really puzzles me. All software development is aimed at the production and maintenance of source code, and revision control is how you manage and understand its evolution through time. Aren't hackers meant to be curious about everything? Aren't hackers meant to be experts in computing tools? Why wouldn't hackers want to know the intimate details of one of their most important tools?
jwhite··on Use git from the command line (not a GUI)
Good point. Unfortunately statements like "you should probably use whatever tool is best given your skill level and the nature of the task at hand" isn't quite as catchy in a blog compared to a one-sided, opinionated, do-it-my-way prescription.
jwhite··on What Silicon Valley gets wrong about math education again and again
If you had enrolled in electrical engineering then by half way through second semester of first year you probably would have been having lots and lots of light bulb moments. Complex numbers and fourier series and transforms rapidly become like oxygen for EEs. Essential but consumed almost without noticing.

You suffered from the university's lack of bandwidth -- only so many lecturers, only so many lecture theatres, many other competing classes. They try to find efficiencies where they can -- e.g. by giving all of the engineering departments a common mathematics curriculum.

That curriculum is almost certainly driven by the needs of the EEs and ME/CivE's much more than chem and software, and I'd guess software engineering is looked at is if there's really no maths required. After all, software engineers just program and write documents, don't they? The truth is of course that there is just as much scope for maths, if not more, in a software engineering or computer science course, it's just a whole other type of maths that's needed.

jwhite··on Why I love Common Lisp and hate Java, part II – code examples
I agree with spacemanaki. Your article introduces higher order functions, which is a big enough concept to keep those unfamiliar well-entertained without going a step too far and throwing in a not-particularly-useful macro. The last part of the article is an un-illuminating distraction. If I wasn't familiar with CL I would probably be scratching my head and asking why the hell that ugly #' is needed in the first place.

More seriously though, your macro is dangerous as a teaching example because it introduces variable capture (on i and ans) and unintentional repeated evaluation (of list), which are big gaping traps for the unwary.

Also, try passing #'(lambda (a b) (< a b)) as the pred argument to your macro, and see what happens.

jwhite··on Why I love Common Lisp and hate Java
CL allows question marks in symbols without the || quoting.

Try it out at a repl.

jwhite··on Why Emacs?
Wow! That's really good news!
jwhite··on Why Emacs?
I generally agree with the sentiment that writing programs, which are supposed to be advanced technology, is done with tools that are often woefully bad and seem stuck in a long past decade, but be wary of generalizing about "you" so much. I use emacs because I find I'm the most productive with emacs, and because it's the best environment for Common Lisp development, but I'm aware of its warts and will happily criticise them at length -- even when talking to vim users! Not everyone who uses emacs is as breathless about it as the author of the article.

I do think your jab at emacs lisp is spot on -- it's really not the lisp you want, and Common Lisp is certainly good enough these days to have a stab at writing an emacs clone in it. I don't know enough about Scheme to comment about it though.

My favourite candidate for most decrepit CS tool is GDB -- it astounds me that this is still the best the open source / Unix world can produce in the field of debuggers, especially since debuggers are the sort of non-user-facing, lots-of-interesting-technical-problems type of area that open source usually excels at. Every time it repeatedly segfaults and kills my carefully constructed debugging state I just want to cry.

jwhite··on Time to fork the FSF
I upvoted you to encourage you to tell us why you downvoted it.
jwhite··on Time to fork the FSF
I don't think he has any responsibility to be tactful at all. The question is this: by whose standards should someone's words be judged as "angry, hurtful, and unnecessary"? Yours? His? Mine? Many years ago, it was very clear whose standards were relevant -- those who held political power. In societies that are blessed with freedom of speech, this is no longer the case. The responsibility is entirely with the reader to be mature enough to hear a dissenting opinion.
jwhite··on Learn C The Hard Way
Late to that party, but I'll give my $0.02 regardless.

I won't defend C: it's all that you say. I think one of the acknowledged reasons for C's longevity is that it is impedance-matched for UNIX because they grew up together, and for various reasons UNIX is popular with hackers; therefore C is popular. C is deeply rooted within UNIX, partly because the ABI has been so stable for so long. If you want to write a library for UNIX, you generally target C because anything else will run into a quagmire of cross-compiler incompatibility issues. That means all the good libraries on UNIX are written in C or present a C ABI/API. The easiest language to use a C library from is... C. Or C++. So application writers (and tool writers) have often favoured C as well, although the rise of interpreted languages such as Python, Perl, and Ruby has changed that a bit. Also, the C/C++ toolchains have tended to be more advanced than those of other languages.

So, C is still with us, but for reasons that don't have as much to do with its merits as a language as with its merits as a platform (when coupled with UNIX).

jwhite··on Why mobile apps suck when you're mobile (TCP over 3G)
The 3G connection does not aim to provide completely reliable "connections" -- it aims to provide an as-reliable-as-it-can data link, given channel conditions and configured transmission parameters (which are to some extent controlled by the RAN). If the error rate seen by the channel decoder is too high, it will drop a frame. There is an ARQ mechanism in the MAC layer to try to compensate so that the higher layers don't see the loss, but it implies some delay and also has limits -- i.e. at some point losses due to bit errors injected by the channel may manifest in lost frames and IP packets.

The L1 and MAC of 3GPP are generally implemented in an ASIC and not necessarily visible to the OS. Many of the parameters are dictated and controlled by the RAN (operators are picky and try to control things so that handsets can't misbehave and crap all over the other users in a cell), so the OS doesn't get a look in -- i.e. I don't think it's possible to turn off the 3G error recovery mechanisms.

Disclaimer: I used to work at L1 so someone with more detailed knowledge the MAC and higher layers of the 3GPP stack could give a better idea of what happens when the MAC ARQ limits are hit.

Summary: 3G was designed more than 10 years ago and is showing its age. User requirements have shifted, but standards can't evolve that quickly. Maybe LTE will help provide the user experience for today's apps... question is whether it will be widely deployed in time to matter.

EDIT: updated for clarity and spelling.

jwhite··on Poll: How many Facebook accounts do you have?
I've got roughly the same use patterns as you, and if it weren't for the one or two regular events that I attend that are organized on Facebook, I'd probably delete my account. And yes, it is a dreadful time sink. That's why after the first flush I scaled back to around once a month.
jwhite··on Why China's Ghost Towns Matter for Our Economy
Very interesting, thanks!
jwhite··on Why China's Ghost Towns Matter for Our Economy
That was my reaction too. Bit of a fluff piece. Here's an interesting link with some opinions from a commodities investor regarding China, and whether the ghost cities are a significant problem or not:

http://www.moneymorning.com.au/20110616/why-im-flying-the-fl...

He points out that China is urbanizing like mad (1 per cent a year) on top of 0.5 per cent population growth. At those rates, 50 million empty houses doesn't look so big. Whether there are other factors that prevent people taking up those apartments isn't clear though. Also I guess it depends on the financial situation of the developers. If there is a lot of leverage on those assets that are sitting idle and not being sold or generating income that must be hurting someone. Or perhaps the state owns them directly or indirectly, so ROI doesn't matter so much in the short term? I don't know.

jwhite··on How Hackers Stole 200,000 Citi Accounts Just By Changing Numbers In The URL
My bank (Australian) requires SMS-based two-factor authentication on international transfers -- they send a one time code in an SMS to your registered phone number, and you have to enter that, as well as re-entering your bank website password, before the transaction will proceed. Works anywhere in the world as long as you have your phone with you.

You can change the registered phone number only by calling the bank and passing a set of identification questions posed by a human operator, so there has to be some significant identity theft to get past it. I don't think that would be particularly hard for a determined and experienced thief though.

I guess it hinges on what the meanings of "fancy features" and "everything should just be rock solid" are. I tend to agree with your earlier comment that for the banks this comes down to a risk assessment and a cost/benefit equation.

jwhite··on It's official: developers get better with age. And scarcer.
Exactly. The graph showing that older coders' answers are not significantly better than those of younger coders is a case in point: maybe the good older coders are too busy actually coding to spend time answering questions on StackOverflow.
jwhite··on Connecticut Killed Affiliate Marketing with Amazon.com
The phrase "Mainstreet Fairness Act" sounds like something directly out of Atlas Shrugged.
jwhite··on Connecticut Killed Affiliate Marketing with Amazon.com
It may be displacing a local purchase... in a third, unrelated state. Only the affiliate lives in Connecticut, the purchaser may live in Colorado... or Czech Republic, for that matter. I think you have the argument about capitalism backwards. Any time someone says "that's unfair, we should change the laws to help (inefficient business X) compete more effectively with (efficient business Y)", they are directly contradicting the idea of capitalism.

Where the social good lies is sometimes hard to work out; but I'd guess in this case Connecticut residents would be better off with an efficient Amazon and the ability to become Amazon Affiliates than with the small amount of tax revenue that this legislation tries to capture.

jwhite··on Life of an Implementer: If you're good at it, don't do it for someone else
Reminds me of this from a while back:

http://news.ycombinator.com/item?id=2131550

jwhite··on The Dangerous Mr. Khan
But the Internet also has a significant winner-take-all character at the large end of the spectrum, due to network effects. See Facebook vs. MySpace and all the other social network carcasses in its wake. Mr. Khan's teaching videos might end up being the one-and-only source of education on the Internet. What then?
jwhite··on Where Did Groupon’s Billion Dollars (Series G) Go?
That's certainly why I'm surprised about it. Don't transactions of this size have to be okayed by the board of directors? And by series G shouldn't the original founders and early investors be diluted out of board control? Perhaps Groupon is special, I'm not familiar with these things.
jwhite··on Battleships: a ridiculous but awesome idea
It wasn't a symmetric situation though. The Germans generally held better ground because they were the ones who initially made the decision to entrench after First Marne. They chose the best defensive positions they could find, and the French and British had to make do (although I guess there would have been exceptions, such as the Verdun sector). Politically, the French and British couldn't just sit there and do nothing or sue for peace because they had a vast enemy army encamped on their territory -- what terms do you think the Germans would have imposed when they were clearly at the advantage? Under these circumstances they had to launch offensives, and given that they were at war and in stalemate, this was not a mad decision although it seems like it to us a hundred years on. The real madness was in letting the war happen in the first place, and the real tragedy was the criminally slow pace at which the general staff on both sides learned the errors of their pre-war doctrines.
jwhite··on Why I still don’t contribute to open source
Agreed. It's a hard skill even when you're trying consciously. One way to improve the situation is to actually give your draft documentation to a trusted user for feedback. I've been lucky enough to have an enthusiastic user in-house who has road-tested some of my documentation, and it's much better for the exercise.
jwhite··on Why T-shirts matter at tech companies
I'd upvote you twice if I could. Much of management-ese seems to be thinly disguised attempts to get employees to work harder for the same pay, and creating loyalty via T-shirts is one of the more transparent ones. I get really strange looks at work when I tell people I'd prefer to be recognized by my dress as a smart, qualified, but independent professional, rather than "I am assimilated to the hive of company X". I also find it strange that in a capitalist society nobody bats an eye-lid when the Communications Manager talks about employees "living the brand". I'd better go buy my copy of the Little Red Book.
jwhite··on I Hope This Bubble Kills The App
I think you're right that the low-fi junk will only increase, but just want to point out that it's not always less qualified people who produce the low-fi crap. Sometimes CS majors just want to go for the cash :)
jwhite··on Is it ethical to automate business?
Everyone, especially those on the left of the political spectrum, should read 'Economics in One Lesson'.
jwhite··on Zed Shaw: Launchpad vs. Github/SysAdmin vs. Coder
Agreed. I've seen projects that have their own username to host the project repository (or repositories), rather than using the author's username. Quicklisp does this, for instance.
jwhite··on Peter Thiel & Max Levchin: "Silicon Valley Lacks Radical Innovation"
The Federal Reserve has responsibility for both interest rates and creation of money (check out the Wikipedia page). I believe the parent was referring to the Fed increasing M0, the base money supply. Interesting things have been happening to M0 over the past couple of years. Also, the Fed sets reserve requirements on the banks, which directly affects how much money they (the banks) can create (M1 and higher).
jwhite··on Peter Thiel & Max Levchin: "Silicon Valley Lacks Radical Innovation"
The government can see your Facebook wall. If you don't yell it out the window but pass the message along by more subtle means, the government will have to go to more effort to find out what was said at the poorly lit restaurant.
← PreviousPage 3 of 5Next →