skysight-inc/HackerNews huggingface dataset:
Rather than being a competition -- each version control system has it's own advantages and disadvantages. Now on the scale of version control, you're at a zero. Almost anything is better than what you're doing now. Even a solo developer should be using version control. For you, I would highly recommend moving to Subversion. It's relatively simple and has great (and free) integration with Windows Explorer and Visual Studio. And if you want to move up to Git in the future, it's not a terribly difficult transition.
This is effectively a summary of his Google Tech Talk on git.

http://www.youtube.com/watch?v=4XpnKHJAok8
I emailed to offer to pay him his out-of-pocket expenses to do that, because I got a lot of value from Lispbox when reading his book. (Sadly, I'm neither qualified nor do I have the time to do Lispbox justice as a maintainer, but I'm more than happy to pay $20 a year or whatever to keep lispbox.com in the hands of the good guys...)
Well, I have been using it for 'production' work for last 6 months and I have not found any issues. I am not suggesting that everyone will have the same experience but I think you should give it a try before dismissing it outright based on someone else's experience.

Also, if you could provide some real details on the 'complexity and awkwardness', I could share my experience which could be helpful.
There are two good reasons to checkout only a subset of the repository:

1) Large binary or data files -- For this, there are various solutions of varying hackiness.

2) Your project has grown into several sub-projects -- The best solution here is to clone the repository to new names and then refactor and trim the respective project trees with a lot of deleting. You'll thank yourself later for improving your architecture and there will no longer be a partial check-out problem.

The real issue for both of these, is handling unversioned or independently versioned bits with respect to all the other bits. You might want some unversioned binary blobs, but you might also want some versioned giant csv files without having to download all the old versions all the time. Source code has one versioning strategy, data files another, photoshop files yet another. No version control system today really lets you pick which versioning strategy to use for which files. And none of the existing "sub-module" type extensions are really great either.
Close, but Apple's real secret is that they make premium products, with profit margins that allow them to invest in researching the next big thing and spend time doing it right.

Dell, HP, Sony, Acer, Toshiba, Lenovo: these guys live and die by razor-thin margins of the "we'll make up for it in volume" strategy.

Ultimately I think a (un)healthy share if consumers just don't care about the details of the experience enough to spend more money.
You can do mixins fairly easily in ObjC, but in Java, you'd essentially have to resort to runtime bytecode rewriting. Take a look at what popular libraries like Hibernate, Spring, AspectJ use under the covers to perform their magic.
Truth is nobody knows shit about what Steve Jobs wants or about what the directions Apple has taken.

For all I care, this might be a maneuver to get rid of both the external competition (Android, WinMo, Symbian) and the internal one ... reducing developers on their platforms to mere contractors that are doing their bidding.

And you can't prove that I'm wrong because neither you nor I know shit about it.

So stop apologizing for them. If you believe their choices are for better quality, quality can speak by itself and nobody needs you rationalizations on the matter. It's as if you're defending your own choices and directions, which shows you have doubts.

On the other hand the bitching and moaning of mistreated customers (yeah, we are also customers) might do some good.
It looks like an ugly version of the original Invoice Machine (which also offered free invoices without signup).
warfangle was talking about the representation of the products. Yes, they misrepresented who put them together, but they were completely up front about the underlying assets. In fact you can see in the pitch deck (http://www.scribd.com/doc/30036962/Abacus-2007-Ac1-Flipbook-...) on slides 56 and 57 a list of the assets the CDO was based off of.
It's neither. It's that the only supported method of distribution is via the App Store.

If, in addition to the App Store, developers were able to distribute apps themselves, there would be no problem. People would grumble whenever Apple introduced another asinine policy, but there wouldn't be such an outcry. Some restrictions in return for extra visibility and use of Apple's distribution system is a fair trade.

This isn't what we have though. It isn't just Apple's store they're locking down, it's the whole device. A store that you can't freely put software on is unfortunate but understandable. A computer that you can't freely put software on is just wrong.
This guy uses jQuery on some of his sites. The language used in jQuery's selectors is a superset of CSS. That's right, it's not CSS. jQuery is translating/interpreting that new language for you. jQuery is more than just JavaScript it's an interpreter/compiler for a new language. (FYI, not allowed by Apple's rules).

For some reason when this guy target multiple browsers using jQuery it's OK.
But when other developers target multiple platforms he calls the end result "shit" and tells them to get the hell out of his AppStore.
Sure, but it feels a lot more like the DoJ is backpedaling to avoid the PR fallout (or worse, from their perspective, legislative reform) if they keep charging ahead with this. It's only a temporary victory.
The spin is good, but the underlaying problem is clear. They missed the boat and top leadership seems to be somewhat disconnected to market and reality. To me it reads like another Microsoft and Ballmer story.
Goto considered awesome: Goto in Scala using delimited continuations
While there are legitimate reasons to avoid MS products, it's lazy for the author to say "Microsoft-free" without explaining why. Also, it may not be wise to hold grudges when the original reason is gone (e.g. Win7 is a lot better than old Windows).
We just turned two and folks have been asking for team support since before we launched. We've never been in the habit of building features we merely think people want.
Depends on how you've defined "electronic storage" and its relation to email.

Like Bill Clinton whom never had sex with Lewinsky, because sex means two reproductive organs touching and not the mouth.

PS: I didn't read the definition, just exemplifying how the legal system (sometimes) works.
Actually showing how this comment is wrong (it's not) would be greatly appreciated instead of downvoting.
Since when has corn-fed chicken slapped between white bread buns been "legitimately healthy"?

Do people in N. America somehow not need fruits or vegetables as long as they get meat every single time they saddle up to the table?
That's a great point, and I agree that it's always important to get feedback, and that's why I'm glad that you're here on HN discussing the interviews.

One thing to be careful of, however, is making sure you're not disrupting your primary user experience to gather the information.

In your 99designs example, it sounds like they did everything right. They presented a clear, kick-ass UI that guided you through things without being in the way, without cluttering things up with surveys while you tried to do it.

Sometimes I worry that you're in-interview questions are more akin to having 99designs offering a dropdown menu next to each UI element, asking for feedback ;)

Best of luck, and thanks for doing these.
One also needs to keep in mind that there are more iPod Touches sold than iPhones currently. It's much easier to drop $200 for an iPod Touch if you want to upgrade your current music player and don't want a phone contract to go with it... iPod still has a monopoly on the portable mp3 music device market.
Nothing flying North or East of Austria ... (well, the East part may be because it's nearly 1 a.m. there)
Yep, and compiling git is a piece of cake (on machines with a decent gcc).
Twitter API: Early Look at Annotations
jQuery is translating/interpreting that new language
for you. jQuery is more than just JavaScript it's an
interpreter/compiler for a new language.

What? Care to explain what does jQuer "compile" your "new language" to? The fact that jQuery uses CSS syntax to target
DOM elements does not turn it into compiler. Or are you saying that it somehow runs the selector?
It's ironic that a free market can lead to authoritarian, closed market platforms like the App Store or X-Box Live Arcade (and that, hypothetically, government intervention could force these markets to be more open, whether or not you think that's a good thing).
Obviously, if you like physical keyboards, I respect your opinion that it's important to you. However, I don't think you can say a device without has lower usability.

What you gain in potential typing ability is offset by either a larger overall device (by volume) or a smaller screen. Both offset the potential increased usability of the keyboard.

Additionally, there is more to usability than simply having keys. In fact, there are some huge usability gains to be had with an on screen keyboard. For example, when typing into an email field, the keyboard changes to specialize for keys important for creating email addresses. Same with fields meant for URLs, or numbers, etc.
I've done Android stuff for a year or so and vastly prefer Cocoa Touch. However the OP is wrong, Android is inspired, they are inspired to use idiotic API names; spinner (rather than picker, chooser, or dropdown), toast, intent, etc.
I never said IB was iPhone-specific or made for it. I'd used it myself before that. Why are iPhone apps upscaled or letterboxed on the iPad, though?
Oh damn... I thought it might be an extension to remove ipad and apple stories from the front page... although that could leave it pretty empty.
Whenever I buy a stock I think of various "trigger points" that would make me sell it (or, at least, start to sell it).

If I owned RIM stock, this would be such a trigger point.
I've been using this for a few days - primarily the file manager. I'm at a loss for words to describe it. The interface is a mess of buttons. There is no drag and drop (a dock would be nice, to put things temporarily). You have to select source and target before you choose your operating, which can get cumbersome.

It ought to be rubbish, but it's just-about the best piece of software I've ever used! I have barely tried to use a conventional file manager or the command line (for file management) since I installed it.

It is a huge improvement on the conventional file manager, and there is so much room for improvement still!
I tried eg - but unfortunately, it's a leaky abstraction. As soon as something went wrong (and to this day I have no idea what), I was confronted will full-on git errors, suggesting I use git commands to fix them.
That analogy doesn't work. They were selling bonds to financial professionals, who had to have complicated ISDA agreements to even enter into these purchases. Part of their job is to analyze the assets they are buying. Its reasonable to expect them to do so.
does he really have a problem remembering 'git checkout -b ...'? Seems like a non issue to me.
This is a valid argument, but you can find plenty of data to back the counter argument if you want to. Take a look at the "crapware" on the internet as a whole - all of it to a good approximation is made with Flash. Likewise, to a good approximation every AAA game and major software package (MS Office, operating systems etc.) released in the last 20 years was written with C or C++. I'm not saying this data is more appropriate (it isn't) but it is still worth noting that, at least historically, C/C++ was used for the best quality software and that rapid application development is almost directly responsible for the large amount of poor quality software available today.
Interface Builder existed way back in the early 90s, and someone who used it back then will find the modern version fairly familiar. It's been around quite a bit longer than the iPhone.
this is great news for me. I have already a couple of android apps that i am starting to port with the ipad with the iphone sdk, but my learn curve with objective-c has not been the best.
Most parts of the northern European airspace was closed 1-2 days ago.

http://en.wikipedia.org/wiki/Air_travel_disruption_after_the...
wth? My guess is the $8million is going towards sales team and business dev hires.

$8million?? really?? :S
Well that's 50% of my hosts file entries pointing to 127.0.0.1 that have raised a bunch of money.
I don't need you to teach me about HN man, I've been here for over 3 years. Your suggestion that I stop replying though is well taken, the misinformation/misinterpretation in this thread is rampant and off-putting.
This is the first time I hear that Steve Jobs quote and I think I must add: Yes Steve you have been there before and when you were there before you had a practical monopoly on the PC market and you lost it.
From Bundler to Open and Inclusive Software Communities
Agreed- indeed, some of the cutest girls I know could become more attractive still by putting on some more lean muscle. As for whether it's an excuse or not, probably a mix. It could be for many women, fashion trends are convincing them skinny is more attractive than lithe (I love that word, describes it perfectly).
Because jQuery's selectors are a superset of CSS, there is no browser that supports them. So something must must be parsing them and interpreting their meaning.

That means jQuery has a built in interpreter. Now, if jQuery ever turns that selector text into a slightly more efficient internal representation before it gets executed, then it has compiled the selector language to some intermediate form.

Another example is regular expressions. For example, any time you use a regular expression, your expression gets compiled into a NFA or DFA. Your input text is then is "run" on that machine.
I am as well. If anyone is interested I have signed up for the following free course starting next week:

http://rubylearning.com/blog/2010/03/09/clojure-101-a-new-co...
how could it be simpler?
> Now on the scale of version control, you're at a zero.

After I went to all the trouble to explain that my system is the best one for me? :-)

What problem that I have will switching to subversion solve? Suppose I have two versions of a procedure and I can't decide whether the new version is faster and just as correct as the previous one. I keep both with

#if 0
// old one
#else
// new one
#endif

And it's easy and intuitive to see them side by side and switch back and forth between them until I'm sure. The VCS just don't give me this simplicity, convenience and intuitiveness.
I agree. The right strategy is to put humans on Mars. The right tactic is to now focus on achievable goals.
> more boilerplate than Java

whatever. Objective-C is far closer to the elegant dynamism of SmallTalk than Java.

> manual memory management

Makes sense. This is a resource constrained device.

> lack of namespaces

This is a phone not an enterprise server.

> header files

On a device with an underpowered processor the focus on C-based languaged has been paying back serious dividends as far as the responsiveness of the platform's applications.
Perforce works well with large binaries and text (costs a fortune, though).
agreed, i totally hate going thru dependency hell, but on any OS X, if you install the developer tools from the installation DVD, that will give you gcc and the basic libs you need to compile git with no problems. ./configure; sudo make install
" if your counterclaim is that he hasn't truly grokked it yet, then that suggests that it may be counterintuitive."

You should say, "it may be counterintuitive to him". Intuition is based on past experiences and our internal metaphors. We have no reason to believe that his "intuition" is the same as most of the population that would use git.
Apple in talks with AMD? Set relationship status to “it’s complicated”
git filter-branch --subdirectory-filter foodir -- --all
This is true, but it must be balanced against:
a) the ~32 slides (almost 50%) explaining why ACA was such a reliable and reputable sponsor of the issue, and
b) the fact that ACA's participation was secured with the help of blatantly false statements from GS VP Fabrice Tourre about Paulson's intended positions in those assets (which were represented to ACA as long when they were actually short).

ACA thought that Paulson & Co. were going to buy the equity (riskiest) tranche, and that they, ACA, were only taking on the risk of the mezzanine tranches. GS knew that not only did Paulson not intend to buy in, they intended to bet against the CDO.
what if you have more than 2 versions, or if your #ifdef's get nested and more hairy? slippery slope to preprocessor hell :)

with git, there's a nice 'bisect' feature that lets you quickly jump back-and-forth between different versions of your code (in a binary-search-like way), so that you can debug performance issues like the one you're using #ifdefs to manually do. just check in a bunch of versions of your code and use 'git bisect' to jump between them and test each out for performance (or correctness)
Saying the initial programming language has anything to do with creating an "iPhone-like" UI is laughable.
Can one of the many admirers of the parent explain why a comment completely mischaracterizing Gruber’s views is any good?
Please share them, I'd love to.
Intel only sells their awesome SSDs retail, as demand far outstrips their inconsistent supply. When they get their production up and start offering them to OEMs, expect Apple to start using them.

I don't see Apple using any of the mediocre inconsistently-performing Taiwanese SSDs.
In less than a year your computer will be leaking glitter.
Complexity (in terms of the operations that need to be performed regularly). At least with Git, simplicity seems to be traded in favor of flexibility.
> Scala is more statically typed then Java.

Being a contrarian here :)

It doesn't matter how static Scala or any other language is, all that matters is how well its type system fits into the target VM, and Java VMs are optimized for Java.

When the type-system doesn't fit you have to resort to workarounds, like allocating more objects than you should, or using introspection, or generating bytecode at runtime.

The JVM does fine here, but Dalvik is a VM created for a restricted environment.

That said, I don't think static languages should have problems ... as long as they don't stray too far from Java ... like being lazy or having type-classes.

> Modern ... statically typed languages don't have to the have the verbosity of Java and C++

They don't have subtype-polymorphism either (basically OOP).

Since you mentioned OCaml and F#, you should take notice that the OOP subset doesn't support type inference when you're dealing with interfaces, that's because it is not possible. OOP was designed for dynamic type-systems, and it mixes with static typing like oil and water.

Also Scala's type inference is really restrictive and should't be in the same league as any other language with a Hindley-Milner type inference system.

The type inference is really useful when you're dealing with parametric polymorphism. Scala doesn't really have that either ... generics only save you from explicit type-casts, nothing else, and are a far cry from Haskell's type-classes or C++'s templates (which are late-bound). The recently introduced Manifests or the implicit conversions save you in many cases, but those are just ugly hacks that only solve certain use-cases.

I really don't get why Scala is so popular. It's as if people are so tired of Java that they are looking for a way out, willing to compromise just for some syntactic sugar.

It's interesting to note that none of the issues of subtype-polymorphism (tight coupling) or those of parametric polymorphism (hard to get right) are of importance to dynamic languages. In a dynamic language polymorphism is simply implicit.

That's why I hope people will invest in VMs that support dynamic languages in the future ... static typing is a bitch to get right, and it would be easier if the VM wouldn't impose a strict type-system on you.
Twitter Developers In Denial: A Teaser Video
Tech sector in hiring drive
After 50+ years of pork barrel? I would bet on "none".
Yes, something to replace the super crufty NSArray / NSMutableArray / NSSet / NSDictionary, syntax would be really good. Small talk message passing was meant to have short, small one symbol binary operators, but unfortunately that elegance is not there in objective c.
That's one of Cocoa (Touch)'s strengths, actually, and part of the 'secret sauce': Ozer and crew have developed a really good set of naming conventions over the years, and use them well.

I like the long names. It's very Smalltalk-like, and Xcode completion mostly takes the pain out of it.
Getting unstuck by trusting your process
first, sorry to cause you trouble

So let's say we have a process that has consequences.

If I get you right, you believe the crowd doesn't need a technical understanding of the process as long experts (people with the technical understanding) provide a dumbed-down explanation. Except in the case of internet privacy where the crowd needs a minimal technical understanding of the issue. My basic belief is that a minimal explanation of process and an explanation of the consequences of the process is enough for the crowd.

Would you say internet privacy is different from say health care because of the technical nature or because it is more abstract or......
Delimited continuations are a powerful new control flow construct that's available starting in Scala 2.8. In addition to useful applications like automatically transforming blocking, synchronous code into asynchronous code, it can also be abused to add in the tragically missing goto statement (in a limited form) to the language.

This clever implementation also uses exceptions for flow control. If you examine the debugging output from the continuations compiler plugin, you can see how this implemented. Basically, code around a 'shift' statement is segmented into two functions--one before the shift and one after. The one after is turned into a callback from the first.
Words cannot describe how right he is.

Apple is becoming an 8000 pound gorilla because nobody else can design a user interface! Windows is crap committee-ware, and open source UIs insist on imitating Windows (look at Gnome, KDE) which means they're imitation crap.

There are other aspects to Apple that matter too. Their code performs well and doesn't tend to break. There's a polish that Apple's code has that nobody else puts on their product.

Their hardware is decent (not excellent, but decent) on the quality factor too, but it's also well-designed just like their UIs are. The biggest feature of Apple's hardware is what it doesn't have: loads of useless buttons (stupid blue ThinkVantage button, I'm looking at you!), connectors you never use, etc.

Note that Linux rules the server space for the same reason. Open source UIs are crap, but under the hood the open source ecosystem obviously cares. So in markets where under the hood matters most, Linux and other OSS operating systems are the dominant players.

The moral of the story?

Stop listening to the idiots that tell you that the way to design software is to slap it together and focus exclusively on marketing. This only works if your market is not crowded. This worked for Microsoft in the 80s and 90s because there weren't many affordable alternatives.

People actually do care about quality.