Free software founder, Richard M. Stallman is glad Jobs is gone  - <AUTHOR> http://www.zdnet.com/blog/open-source/free-software-founder-richard-m-stallman-is-glad-jobs-is-gone/9707 <comment><USER2> Already under discussion here: <http://news.ycombinator.com/item?id=3083349></comment>


Show HN: Frameworks One – a backlit display system - <AUTHOR> http://tryframeworks.com

<comment><AUTHOR> Creator here. We've just released our website for a project that's been in the works a few months. It's a backlit display system for your best smartphone pics called Frameworks One. I'd love to get feedback or comments before we do more press - it would be very appreciated!</comment>


Show HN: My Responsive Design Development Setup - <AUTHOR> http://character-set.tumblr.com/post/34142756484/responsive-design-dev-setup

<comment><USER2> This setup looks very cool! I know quite a few folks that are into emulators for looking at mobile on a desktop, but I think there's something special when you look at your design on an actual mobile device. I realize of course that this is a pain (I now a small collection of devices) but I think it's the way to go.

<comment><AUTHOR> Yeah - I've been bitten by too many "discrepancies" between emulators and the real thing. Also with device testing, a big part of it for me is how the device is held. Are there awkward target areas for touch devices - is the type set incorrectly for how far away I'm going to hold it? How quickly do resources load? Answering questions like that is a big part of my process when I'm analyzing devices.

</comment></comment><comment><USER3> Slightly off topic question, where did you get that wallpaper? It's gorgeous.

<comment><AUTHOR> I took the photo in the background - it can be found here: [http://www.flickr.com/photos/heyitsadam/8119390724/in/photos...](http://www.flickr.com/photos/heyitsadam/8119390724/in/photostream)

The icons I overlay on top of the photo are from a collection called Geomicons Squared:

<http://geomicons.com>

Hope that helps.

</comment></comment><comment><USER4> Looks like a smart, efficient way to monitor responsive design.

<comment><AUTHOR> Thanks! Just checked out your learning to program site. Dig it, looking forward to more posts. Cheers.

<comment><USER4> Thanks! I'm really enjoying the process of learning to program (Ruby) and documenting it.

I'd like to share my articles with the HN crowd, but not sure how they'd respond to noob developer concepts.</comment></comment></comment>


The software engineer's guide to asserting dominance in the workplace - <AUTHOR> https://medium.com/@danielgwu/the-software-engineer-s-guide-to-asserting-office-dominance-ddea7b598df7 <comment><USER2> Nice outrigger paddling reference</comment>


Triclosan Promotes Staphylococcus aureus Nasal Colonization - <AUTHOR> http://mbio.asm.org/content/5/2/e01015-13

<comment><USER2> I now make it a point to look and make sure products I'm buying do not include triclosan. Such a proliferation of antibiotics in everything can't be good.

</comment><comment><USER3> So toothpaste with triclosan can promote sinus infections?

<comment><USER4> To clarify, nasal colonization by Staph. Aureus is not equivalent to a "sinus infection".

In college I took a class on plagues -- as an experiment, everyone in the class tested themselves for nasal colonization of S. Aureus. Over 60% of the class was found to be colonized by Methicillin-Susceptible S. Aureus (MSSA). However, nobody tested had an active infection.

The risks of nasal colonization are somewhat unclear. Some papers have found positive correlations between colonization and subsequent infection. Other papers have found a negative correlation between nasal colonization and mortality rates for subsequent infections.

Here are a handful of papers on the topic:

[http://www.ncbi.nlm.nih.gov/pubmed/18374690](http://www.ncbi.nlm.nih.gov/pubmed/18374690)

[http://www.ncbi.nlm.nih.gov/pubmed/15325812](http://www.ncbi.nlm.nih.gov/pubmed/15325812)

[http://www.ncbi.nlm.nih.gov/pubmed/24996783](http://www.ncbi.nlm.nih.gov/pubmed/24996783)

</comment></comment><comment><USER5> can it have a different title?Not that its against any guidelines of sorts, but just that a different title might help newbies understand the topic better from its title.

<comment><USER6> I think by saying anything more reductionist will lead to inappropriate conclusions without reading the abstract. It's an interesting article although perhaps a little early to conclude that Triclosan is bad.

<comment><AUTHOR> There are already a number of other concerns about the negative effects of triclosan. See, for example, sections 5, 6 and 7 of the Wikipedia article:

[https://en.wikipedia.org/wiki/Triclosan](https://en.wikipedia.org/wiki/Triclosan)

To address the original question: HN guidelines specifically ask us not to change the original title of the article: "please use the original title, unless it is misleading or linkbait." [1]

[1] [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)</comment></comment></comment>


Ask HN: What resources have you used to learn Free Pascal? - <AUTHOR> I'm trying to learn Free Pascal (since Delphi isn't available on Linux) but am finding that resources for learning are slim. There is the Free Pascal wiki, which leaves much to be desired and then I found this site: http://castle-engine.io/modern_pascal_introduction.html but that is about it. Is it safe to say that anything Delphi is safe to use to learn Free Pascal? <comment><USER2> It's been a long time, but Marco Cantu's books are widely considered some of the best Pascal/Delphi resources available. Essential Pascal is his introductory book.

<comment><AUTHOR> I've found his stuff while searching for resources but it is Delphi focused. Is that a big issue? I know there are VCL items that are not in the LCL but other than that is there a big difference? If I could use Delphi resources then it would be much easier.

<comment><USER2> For the better or the worse, Delphi has become the defacto standard Pascal implementation. Free Pascal aims to be compatible with it and Lazarus is pretty much a clone of Delphi 7. If memory serves right, neither Cantu's Essential Pascal book, which is a brief introduction to the language, nor his comprehensive Object Pascal Handbook cover the VCL but focus on the language itself.

You may want to ask these questions in the Free Pascal community, this stuff is too uncool for the HN crowd.

<comment><AUTHOR> Thanks for your help. I'll take a look at Cantu's book.</comment></comment></comment></comment>


Own 50% of cashflow from iPhone app if you help complete it - <AUTHOR> http://www.reserver1.com/safelane/content/home/home.aspx
http://www.youtube.com/watch?v=wSff61nrtqY
Above is a marketing video we produced (one of many actually).
Some friends and I designed an iPhone app with the goal of making it safer to make calls while driving. The app is called SafeLane and is basically a dynamic "favorite" list that you have on the native phone app. Users can add/edit/delete items on the call list in the app or using the web.
The two use cases we wanted the MVP to support were:
(1) User knows they have a 1 hour commute later in the day so, while in their office, using the web interface they add 5 calls to their SafeLane call list and they then make those calls while driving.
(2) User's assistant adds 5 calls to user's SafeLane call list from assistant's office using web interface (think sales person driving between meetings).
The reason SafeLane is safer to use than the native phone app is that the user/driver has only to select a few (larger, easy to glance at) options instead of scrolling through emails, or worse, their address book.  The graphic design of the app accounts for this and has giant buttons that are easy to use at a glance.
The iPhone app is 80% complete and alpha versions are working on actual phones. The website is about half done. We spent some time/money creating a nice looking website and produced a marketing video. Check it out here http://www.reserver1.com/safelane/content/home/home.aspx (IE only right now).
If you're interested in helping finish the app (I'm guessing about 40 hours of work for someone who know what they're doing) then we'd cut you in for 50% of the free cash flow. This isn't a business but it could be an interesting app that makes a little money and (hopefully) saves some lives.
Thanks for reading. <comment><AUTHOR> <http://www.youtube.com/watch?v=wSff61nrtqY>

Above is a marketing video we produced (one of many actually).

Some friends and I designed an iPhone app with the goal of making it safer to make calls while driving. The app is called SafeLane and is basically a dynamic "favorite" list that you have on the native phone app. Users can add/edit/delete items on the call list in the app or using the web.

The two use cases we wanted the MVP to support were:

(1) User knows they have a 1 hour commute later in the day so, while in their office, using the web interface they add 5 calls to their SafeLane call list and they then make those calls while driving.

(2) User's assistant adds 5 calls to user's SafeLane call list from assistant's office using web interface (think sales person driving between meetings).

The reason SafeLane is safer to use than the native phone app is that the user/driver has only to select a few (larger, easy to glance at) options instead of scrolling through emails, or worse, their address book. The graphic design of the app accounts for this and has giant buttons that are easy to use at a glance.

The iPhone app is 80% complete and alpha versions are working on actual phones. The website is about half done. We spent some time/money creating a nice looking website and produced a marketing video. Check it out here <http://www.reserver1.com/safelane/content/home/home.aspx> (IE only right now).

If you're interested in helping finish the app (I'm guessing about 40 hours of work for someone who know what they're doing) then we'd cut you in for 50% of the free cash flow. This isn't a business but it could be an interesting app that makes a little money and (hopefully) saves some lives.

Thanks for reading.

<comment><USER2> Do you have an email address I can contact you at?

<comment><AUTHOR> fn@ altgate.com. You can also learn more about me from my blog <http://altgate.com/>.

</comment></comment></comment><comment><USER3> I heard something like that exists for emailing while waking, I thought it a hilarious idea.

To be honest, though, I think a phone should just not be used while driving.

</comment><comment><USER4> cool idea, good luck with it.

Could you elaborate on the 'free cash flow,' where does the money come from?

<comment><AUTHOR> FCF = Revenue - Apple's commission - website hosting costs.

Thought is to price the app in the $5-10 per month range and target busy sales people to start. It's both a productivity tool as well as a safety thing (and can be expensed to the company).

I doubt it's much, but if we push our marketing there's a potential to generate $10-20K in FCF...

<comment><USER5> I don't mean to sound negative, but if someone had the skills and inclination to "finish" your work for 50% of the net, why wouldn't they just go build it themselves for 100%?

I don't think it's necessarily a bad idea, but I can't see why someone else would work on it to completion and "cut you in" for 50%?

<comment><AUTHOR> No, that's not negative. Perhaps that is the answer. The only thing I have to offer is about $25K of out of pocket expenses with a design/branding company coming up with specific designs, UX, branding and about a half dozen 30-second marketing videos. There is working code we have for an iPhone that does communicate with the website database, but there are quite a few things that don't yet work.

I think it only makes sense for a talented programmer who is between projects and has 1 maybe 2 weeks to invest in the potential for $10-20K of upside.</comment></comment></comment></comment>


Npmjs reducing salaries for employees up to 50% post acquisition by GitHub - <AUTHOR> https://twitter.com/nomadtechie/status/1283613109932961792 <comment><USER2> It appears the same person also insulted their future CTO in public for asking a harmless question on Twitter?

[https://mobile.twitter.com/nomadtechie/status/12838417952108...](https://mobile.twitter.com/nomadtechie/status/1283841795210858496)

"Sometimes I wish I was a mediocre white man so that I could coast as CTO of a multi-billion dollar company." and RTing Jason Warner.

I don't know him personally, but from what I heard, Mr. Warner is most likely extremely good at understanding and planning complex distributed software systems. And if I was him, I'd then feel slightly offended to be called "mediocre white man".

I understand that I'll most likely get downvoted into oblivion for this comment, because I'm not supporting the person claiming minority discrimination here. (Or else there would be little reason for her to reduce the GitHub CTO to his male and white attributes.)

But just in case there's anyone here considering something similar, let me advise you that insulting your boss in public (no matter which gender or skin color) is probably never the right move of you want a better job offer from them.

<comment><USER3> It looks like the tweet was made by an ex-NPM employee that was laid off in March.

And looking further, it looks like the pay reduction is happening to some non- US employees as a part of a their COLA adjustment.

<comment><USER2> While I personally believe cost is living adjustments to be morally questionable, one might as well argue that people of similar skill level should enjoy a similar level of living comfort. And the latter would imply that people in expensive areas need to receive more money for the same job.

But overall, this post to me illustrates why a company is better off cleanly firing past employees after a tech acquisition instead of trying to integrate them into the new company structure. Trying to treat your employees nicely opens you up to more criticism than firing them (as they fear and expect).

</comment></comment></comment><comment><USER4> I don't know the circumstances, but if a company is paying well above the market (I've been a recipient of such good fortune before), what are the odds of retaining that in an acquisition?

<comment><USER5> I feel the likely outcome is that you just wouldn't get a raise for a while

</comment></comment><comment><USER6> Is working 50% less an option? :-)</comment>


Bring Your Own Team Update: BYOT Is Being Sunset (2017) - <AUTHOR> https://stripe.com/blog/bring-your-own-team <comment><AUTHOR> The update is at the bottom:

> Update: After spending about a year on the BYOT experiment, we've decided to > sunset it. In short, it didn't work; we didn't hire any teams as a result.

> There were a few reasons for this, which we learned along the way. First, > coordinating multiple career moves at once is even more logistically tricky > than we realized. Many candidates who considered BYOT ended up applying as > individuals. Second, much of the interest in BYOT came from talented teams > in countries where Stripe isn't yet ready or able to hire full-time > employees. We're excited to be in touch with some of these teams again when > we expand to their home countries.

> We'll be taking much of what we learned through this experiment and applying > it to our standard hiring process. For example, many candidates appreciated > the explicit guidance for what to expect when interviewing, and the timeline > on which to expect it. We're also still open to allowing multiple candidates > who know each other to apply at the same time, without the BYOT structure; > if you're interested, come talk to us. While we're sorry this experiment > didn't work out, we're never done tweaking and improving our hiring process. > If you've got suggestions, let us know!</comment>


How Regular One-On-One Meetings Saved Our Company Culture - <AUTHOR> https://www.groovehq.com/blog/one-on-one-meetings-for-company-culture <comment><USER2> My company seems to think that Scrum stand-ups are a replacement for one-on- one meetings. They're very, very wrong. Coordinating work and keeping the project moving forward is one thing, but like Alex points out here, there's far more to management.

Agile methodologies/slack channels/etc. are simply _not_ a replacement for people management. In many companies, the people manager and project manager are the same person, and they generally default to managing the project first. (Squeaky wheel gets the grease, right? And what's squeakier than an executive breathing down your neck?) But when your culture starts dissolving and employees start leaving... well by then it might be too late to get interested in people management.

In my group, morale is a big issue, and retention is about to become one--I know of several people with one foot out the door already. I'm not sure management is even aware.

<comment><USER3> If you can, start passing around links to Manager Tools or just drop references to it. It's a podcast where they absolutely hammer leaders on issues like doing one-on-ones (this problem often goes right up to CEO), running meetings well, etc. With any luck management will pick up on it and change while you're still there, but if not--these people will probably be managing other people for the rest of their lives so someone somewhere will probably be grateful.

<comment><USER4> Product manager here, seconding Manager Tools as invaluable.

</comment></comment></comment><comment><USER5> One on ones are one of those things which don't terminate with satisfaction from both sides. They are necessary but they are unfair. (necessary because of imperfect information).

This lack of resolution stems from the power dynamics. The one on ones don't go through a drone (powerless) proxy. They are lower level employee to higher level manager, if not manager, influencer, lead, etc., not someone equal or on a lower rung, so they are inherently asymmetric therefore most employees always (if they care) have to wear a mask and couch things and pretend.

On the other hand employees should be flexible enough that things should not become problematic. For the most part people working together should be able to resolve internal team issues. If something needs external influence bring it up for resolution using the channels available.

To add, the employee for the most part has to subvert themselves to the manager's style else risk being interpreted incorrectly. To be redundant, one on ones are useful, if the constraints are understood, till trouble arises at which point one on ones become useless vehicles for resolution.

<comment><USER2> I've been on both sides of the 1-on-1; was a manager for a while, decided to go back to focusing on the technology. I've only observed the power dynamic you describe with managers who actually care about power over their subordinates--and in that case, you've got a much bigger problem than a 1-on-1 meeting!

Done right, these meetings are simply an honest conversation. When wearing my manager hat, I've had employees freely express frustration with company decisions, say our strategy is stupid, etc., and those were all very important discussions for both me and the employee. That stuff shouldn't be buried; it'll boil over if not dealt with.

If you can't have an honest conversation with your manager, there's something really broken. I don't know your circumstance, of course, and maybe you just work for a power-hungry (bad) manager. But maybe they _want_ that honest conversation and your relationship will greatly benefit from opening that line of communication.

EDIT: another tool for defusing the superior/subordinate awkwardness is to change the location of the meeting. Most 1-on-1 meetings (in my experience) happen in the manager's office, which immediately puts the employee on the defensive. Suggest moving the meeting off-site, e.g. to a local coffee shop. That does a lot to reduce subconscious power dynamics--it's just two people talking over coffee.

<comment><USER6> > EDIT: another tool for defusing the superior/subordinate awkwardness is to > change the location of the meeting. Most 1-on-1 meetings (in my experience) > happen in the manager's office, which immediately puts the employee on the > defensive.

Great tip! I had a manager a long time ago that did just that. If we couldn't go grab coffee or something they would book a conference room other than their office. He explained to me why he did it and it was on of the first things I made sure to do when I began managing.

<comment><USER7> This is a good point. Most of our 1:1s are in small 2-3 person conference rooms or walks outside if it's nice out. There are no offices.

</comment></comment></comment></comment><comment><USER8> I loved my one-on-one calls, and I'm someone who really hates phone calls & meetings.

For me it was 30 minutes each week where I could bounce ideas about work, my own side projects, life in general, and chat about their work / projects / life too. It was like two friends with a mutual interest in business having a catchup & occasional rant & a laugh. It was fun & left me energized & motivated - hopefully they felt the same.

Perhaps one difference is that I was working remote. In the article, they also say "We're a remote team [...] and we don't spend all day with each other." If I was on-site & seeing people every day, I probably wouldn't want a 1-on-1 each week either. A 1-on-1 in a manager's office sounds awful. If it must be in person then you should go to a cafe, get a burger or a bubble tea, make it enjoyable!

If you feel the conversations have to be politically correct, that it's all about "professional development" (eww), or you sense asymmetric power dynamics... maybe that's a red flag that it's not a job you want to stay in or people you want to work with. It shouldn't feel like that. Life is too short to put up with office politics.

</comment><comment><USER9> I've had really good bosses, but every time a one-on-one comes up, I get nervous. I've been laid off in one-on-one meetings in the past. I've also had to make split decisions without properly evalutating it, like tell my manager who to lay off, before.

I'm also not perfect, so every time one of those meetings comes up I start wondering if something I did that wasn't perfect is going to come up and I'm about to get a stern talking to, even though more often than not the one-on- ones go well.

If I really had a problem that I wanted a resolution on, I'd knock on my managers door and talk to him when I was ready to talk to him about it. I usually don't bring those things up in one-on-ones, so they haven't been terribly useful to me.

So generally, I get really nervous before the meeting, and relax again afterwards. I don't know if I'd get rid of them entirely, but I wish they were less frequent.

<comment><USER6> If they're a normally scheduled meeting it seems odd that you would be so anxious about them. I could totally see the anxiety if they weren't part of a routine, where if one suddenly popped up you'd be wondering what it could mean.

But if you always had a meeting on the books every week or couple of weeks, it would seem like it would just be a normal run of the mill check in. Then again, if you weren't working with your boss that frequently or your one on ones were generally most of the relationship you had with them, I could see how they'd cause anxiety.

Hopefully you are able to find a cadence with them, or a boss, that eases the anxiety and provides you with connection and value.

</comment></comment><comment><USER10> One on ones can also screw over employees if they say the wrong thing. Ever notice how management usually wants regular one on ones, but employees don't? They damage the quality of life for the employee because they must have a risky conversation every two weeks. Reputations can take months or years to create, but only minutes to destroy. Many engineers just want to get work done instead of having politically correct conversations to prevent the loss of future bonuses or promotions.

<comment><USER11> I can only speak from and engineers view but my hope is that I have a good enough relationship with my manager that we can have an open dialogue. You should also have pretty wide berth in what you can say, even if the complaints or comments are unjustified, sometimes people need to vent.

If I was scared to vent to my manager I would be looking for a new job.

<comment><USER10> Many managers could interpret it as a bad attitude or lack of motivation. As an engineer, I don't like having a financially risky conversation every week or two weeks. There's too many variables and ways to screw up.

<comment><USER12> I think it depends on where you are and what the market looks like. The only time I felt at all hesitant about shooting straight with my manager was my first job out of college when I didn't know any better. In every subsequent job, I had no fear of unemployment, and without that fear 1:1's became a very enjoyable experience. I could be honest, and that begets honesty in return, and when I was managing people I paid that forward.

<comment><USER13> You know what puts the fear of unemployment into you? A sudden bout of unexpected unemployment.

<comment><USER12> Been there. I was your-services-are-no-longer-required at a job in 2013; that's what precipitated my career pivot into devops/platform infrastructure. I was out of work for about eight weeks, five of which were by choice (and my new company paid me a significant bonus to start _that_ early).

That said, yes, the notion of "hey, I could get fired for this" did sometimes enter my head afterwards, but I never feared it, because I knew _I had options_.

</comment></comment></comment></comment></comment></comment><comment><USER14> i'd play along, but i wouldn't provide more information than is absolutely necessary to someone who, by definition of their role and mine, does not have my best interests in mind.

<comment><USER6> A one on one shouldn't require playing along or a good poker face. Granted, you're the best judge of the type of manager that you're dealing with, but if they're any decent kind of person you should be able to ask them for help or guidance and bring up issues you're encountering.

Now, it's true that they may get a sour impression if every meeting is you complaining about this, that, or the other- but this really should be your chance to alert the right person to issues that could be affecting more than just yourself, but the entire team.

Your boss may genuinely have no idea of the problems you're facing until you tell them. If you never tell them, you'll have no idea if they could've helped or not, and you may just wind up burned out and leaving the company. Conversely, they may be able to go out and alleviate whatever the issue was and show how much you mean to them or the company.

</comment></comment><comment><USER15> The best places I've worked had 1-on-1 meetings that were only rarely useful, and no daily standups, no scrum, and weekly team meetings where people mostly were trying to stay awake.

Those also happened the most productive places I've worked, by far, because we had a ton of on-the-ground collaboration. We were all on the same floor, and we talked all day, looked at each other's code, worked hard, and had fun.

The 1-on-1s were a distraction. Every once in a while it was useful, but it could have easily been a monthly thing.

<comment><USER16> 1-on-1s are something where it doesn't seem necessary if you don't need it at the moment, but if you do, it's very useful. If everything is going great for you and you have no real issues, then a 1-on-1 meeting with your manager is going to seem like a waste of time. If you have an issue, however, which you don't want to discuss with your group at large, a 1-on-1 is essential. You might think employees should just request a meeting with the manager if this happens, but having a regular 1-1 meeting frequently helps get employees to discuss things they otherwise wouldn't volunteer. Most people don't want to be the one making waves and rocking the boat, but the 1-1 gives them that forum to do so since they're not bothering the manager (the manager is required to spend his time in the 1-1 meeting anyway, so you're not cramping his schedule to talk about your concern). They're not perfect; employees still may be reluctant to bring things up, but a good manager can deal with that.

</comment></comment><comment><USER17> Before you become honest, make sure you understand the politics of your team. I worked with a 40 something obese, single, just plain miserable neckbeard who got off on hazing new employees. I mentioned this in the one on one to our manager and the day after, both manager and neckbeard conspired to make my life hell. And they won, I resigned.

<comment><USER18> And when hiring, it's important to avoid hiring folks who think it's appropriate to recount a problem by saying the other person was old, fat, single, and a "miserable neckbeard" before they mention a single word about the problem.

That's poisonous behavior, and if you let that sort of cancer into your company, you won't get it out. Attacking behaviors is great, attacking people is garbage.

</comment></comment><comment><USER19> This seems so obvious, but then I was surprised when I inherited a team that this wasn't happening on.

As companies grow, they need to provide regular cadences for communicating. Some of it is group meetings or emails. Some of it is one on one. This is especially true for coaching.</comment>


Ask HN: Given an automatic factory, what will you build? - <AUTHOR> Let's say you have access to an automatic online factory that can manufacture reasonably anything, at the cost price, from a blueprint you upload. What will you build? <comment><USER2> Maybe a better question would be what wouldn't I buy?

<comment><AUTHOR> Do you have suggestions to improve my question?

</comment></comment><comment><USER3> An army of robots to stop ongoing wars.</comment>


Programming is Hard, Let's Go Scripting... - <AUTHOR> http://www.perl.com/lpt/a/997 <comment><USER2> In this article Larry Wall (inventor of Perl) says that Wycliffe Bible Translators taught him that all human languages are Turing complete. See <http://news.ycombinator.com/item?id=1033741> (Pirahã: a non-Turing-complete human language) for a counterexample. Fascinating article.

</comment><comment><USER3> I think that's the first time I've heard someone specifically use the concept of Huffman coding in evaluating language design. It makes a ton of sense, and maybe it's a more well known viewpoint than I realize.

<comment><AUTHOR> I recently submitted this article about Ruby design : [http://www.scribd.com/full/24764060?access_key=key- bmp10h1nw...](http://www.scribd.com/full/24764060?access_key=key- bmp10h1nw6nor34svxp) which also uses the idea of Huffman coding in the context of evaluating language design.

<comment><USER4> Requires flash to read an article? Fail.

</comment></comment></comment><comment><USER5> Personally I've always found Larry's talks very poor. They seem to wander all over the place, full of buzzwords and much of what he claims doesn't seem to have any connection to what he actually did.

Huffman encoding? Then why are _so many_ of the defaults wrong? Nearly any perl programmer would tell you that your programs should start with "use strict", so wouldn't Huffman encoding dictate that "strict" would need to be turned _off_ if you _didn't_ want it? And choosing "special return value" to signal failure can't possibly be shorter than using exceptions, it can only be _as good_ if you don't handle any errors.

He's always reminded me of someone trying to be "deep" after smoking a joint.

<comment><USER6> Well, he notes in the linked talk that "use strict;" and "use warnings;" will be the default in Perl 6. The fact that your goal is to Huffman encode the language design doesn't mean you'll always succeed. Things change over time. Initially, 15 or so years ago when Perl 5 came out, use strict was a new idea and rarely used. Over time the culture encouraged people to use it pretty much always. The Huffman encoding was right at first, but usage has changed. Changing the language to reflect currently usage is hard if you want to preserve backward compatibility, though.

<comment><USER5> Fine, but what about error handling? It's been known for quite some time that C-style return code checking is a fail. And it certainly makings coding _a lot_ more verbose. There are lots and lots of situations where doing something in perl is just a lot more wordy than other languages that are better about "Huffman encoding".

<comment><USER7> Don't use C-style return code checking in Perl then; use autodie.

<comment><USER5> Ok, but it's still more work than if throwing an exception were simply the default.

And this is just one example. I programmed perl for the better part of a decade and every day I felt the pain of how "anti-Huffman encoded" it is unless you're making 3 line scripts. If perl people wish to concede that this is all perl is good for then I'll happily concede that perl does indeed have good Huffman encoding. :)

<comment><USER7> I agree that Perl 5 has some of the wrong defaults. It's a sore point for some people.

For what it's worth, Perl 6 has much, much better default behavior.

</comment></comment></comment></comment></comment></comment><comment><USER8> Maybe it's just the charisma of people like Wall and Conway speaking, but everything said about Perl 6 makes it sound like God's gift to humanity. And yet nobody seems to be interested. Am I going to have to _learn_ this language just to form an opinion about it?

<comment><USER9> I'm interested enough to have spent part of my free time over the past few years working on it. There was also a fairly large response to the Perl 6 Advent Calendar during December.

</comment></comment><comment><USER10> There should be a "Larry Wall" tag so I can avoid his meaningless rants

</comment><comment><USER11> Apples are hard, let's go oranges. Edit: That was a terrible analogy. Scripting is programming, they are both apples.

<comment><USER12> Reading the entire article before posting is hard, let's go ranting.</comment></comment>


Ask HN: What is your favorite YC startup? - <AUTHOR>

Based on any factor(s) you want. :) <comment><USER2> Dropbox. They have an awesome product and it generates a lot of revenue. I believe they will be the first mega exit for YC. At least $100M and probably closer to The Big B.

<comment><USER3> I'll throw in my vote for Dropbox. I use it every day and still remember seeing the first post about it:

Dropbox - Throw away your USB drive

<http://news.ycombinator.com/item?id=8863>

I watched the video and immediately got what it was about, knew I needed it, and knew it would be a hit.

<comment><USER4> I still remember that day too, except I saw the story on Digg's front page. It had about 12K digs and the video was pretty Epic.

I, too, had that feeling that wow...this is gonna be a MAJOR game changer.

Just tried to find it but was unsuccessful. If anyone has it, please pass it along - would be good to take a stroll down memory lane :)

</comment></comment></comment><comment><USER5> Sorry, I have to choose multiple for various reasons:

AirBnB, because it appears to be immensely profitable and those guys worked hard in some very creative, unorthodox ways to get it going.

Justin.TV, because the founders have always been nice, helpful, and approachable with me whenever I've needed advice/help/insights.

Directed Edge, because wheels is wheels.

</comment><comment><USER6> From exit and revenue generation perspective, my vote goes to -

\- Dropbox: Great product. Awesome team. Good market with revenue possibilities.

\- Hipmunk: User experience in flight travel search has sucked for a very long time. But, users are now getting spoilt by ridiculously awesome user experience provided by companies in a lot of different areas. So they will start expecting the same for travel search too. Hipmunk could totally revolutionize travel search and make it exceedingly simple and pleasant experience - their team has potential to make it happen. And, travel search is a huge opportunity from revenue perspective.</comment>


How to Build a Markdown Previewer with React.js - <AUTHOR> https://www.freecodecamp.org/news/how-to-build-a-markdown-previewer-with-react-js/ <comment><AUTHOR> Learn how to build a Markdown Previewer with Reactjs in this step by step tutorial</comment>


Free online video course for startups and freelancers - <AUTHOR> http://nathanallotey.com/courses/freelance-jumpstart-video-crash-course/

<comment><USER2> Looks cool</comment>


Linux 4.9 confirmed as LTS kernel - <AUTHOR> http://lkml.iu.edu/hypermail/linux/kernel/1701.2/03438.html <comment><AUTHOR> This most likely means 4.9 will be the kernel of Debian Stretch.

<comment><AUTHOR> Actually discussed here: [https://lists.debian.org/debian- kernel/2016/08/msg00099.html](https://lists.debian.org/debian- kernel/2016/08/msg00099.html)

and more recently here: [https://lists.debian.org/debian- kernel/2017/01/msg00299.html](https://lists.debian.org/debian- kernel/2017/01/msg00299.html)</comment></comment>


Android Oreo Bug Eats Up Mobile Data Even When On Wi-Fi - <AUTHOR> https://betanews.com/2017/09/06/android-oreo-data-usage/ <comment><AUTHOR> An apparent bug with Android Oreo has been discovered which means Google's mobile operating system could be munching its way through your data allowance, even if you're connected to a wireless network. A thread on Reddit highlighted the issue, with many people pointing out that it could prove expensive for anyone not using an unlimited data plan. Google is apparently aware of the problem and is working on a patch, but in the meantime, Oreo users are being warned to consider disabling mobile data when they are at home or using a wireless connection elsewhere.

</comment><comment><USER2> its like when apple enabled to use data when wifi signal was weak... on by default and people took big hits to their data plan. To bad companies can't be held liable for this type bug.</comment>


ADLPlug: FM Chip Synthesizer - <AUTHOR> https://github.com/jpcima/ADLplug <comment><USER2> I recently got obsessed with some music made for the OPN2, one of the chips modeled here - Yuzo Koshiro's soundtracks for the Sega Genesis:

Streets of Rage 2: [https://www.youtube.com/watch?v=E5g-QHq925o](https://www.youtube.com/watch?v=E5g-QHq925o)

Streets of Rage 3: [https://www.youtube.com/watch?v=kRrf- WxRsgs](https://www.youtube.com/watch?v=kRrf-WxRsgs)

The SOR3 soundtrack in particular showcases an avant-garde edge, closer to Autechre or Aphex Twin than traditional video game music, and generally more of a "club" aesthetic than anything I've heard in other 90's game music.

<comment><USER3> SoR1 is positively legendary for its soundtrack. On a good home hifi it sounded fantastic, and it contributed greatly to hammering-home the not-a- cartoon aesthetic of the gritty street brawler. Previous brawlers in that aesthetic were Final Fight and Double Dragon, but they lacked the neon glow, street punk clothing, and hard-thumping rave/dance sound track.

It's a shame that SoR4 sorta missed the mark on that. It just didn't really snag the simple clarity of SoR1's basslines.

[https://www.youtube.com/watch?v=5Lp0GJNTRV0](https://www.youtube.com/watch?v=5Lp0GJNTRV0)

</comment></comment><comment><USER4> For some background—the Yamaha FM chips were fairly clever. Tie together an adder, some lookup tables, and a few registers and you've got sound. In particular, no need for a multiplier! The spartan design is the reason why they could release such inexpensive digital synthesizers in 1983, and then stick them in PCs and consoles.

People still write songs or develop games to be played on retro hardware, and having a VST plugin for the Adlib means that you can easily use your favorite DAW to write the track, and then export the MIDI file for playback on real hardware or in your demo or whatever.

<comment><AUTHOR> That's really interesting. Would you have some more information on how the Yamaham FM chips were implemented. I'm still trying to wrap my brain around what "modulation" is actually doing and why it sounds the way it does when one wave operates another.

<comment><USER4> Your basic core is the numerically-controlled oscillator, which consists of a phase accumulator and a wave shaper which converts the phase to the desired wave (basically a sine wave lookup table).

        phase accumulator -> wave shaper

Yamaha FM just lets you add other signals to the wave shaper input:

        other signal </comment></comment></comment><comment>-\
                             (+)-> wave shaper
        phase accumulator --/

For example, instead of getting sin(x), you get something like sin(x + sin(x)). You start adding parameters like "a sin(b x + c sin(d x))" suddenly there are millions of possibilities.

"Why it sounds that way" can get really deep if you like, but basically, as you increase the modulation level you get more harmonics, and if you increase it too much you start losing the fundamental frequency. This is one of the reasons why it's nice to have a 6-operator FM system (like in the DX-7). With the 4-operator FM, once you turn the modulation "all the way up", there's nowhere to go, but with 6-operator FM you have some extra operators around for modulating modulators.

</comment><comment><USER5> Does anyone know if there is a *nix-based app that supports these synth plug- ins?

<comment><USER6> You should rather ask if there's a -nix app that supports these _well_. I've not worked on audio on the PC for over five years, and had basicly stopped already once I switched over to Linux ten years ago. At the time, audio on linux was still literally a joke, though perhaps getting better. I wonder how far it got. I'm sure there were people with comfortable setups back then (e.g. Panic from Farbrausch, see _Masagin_ from Farbrausch), so there will be people with positive experience now.

I think what bothered me the most was that the Ubuntu package for the Berkley collection of Synths was simply broken. Audacity frequently crashed. The DAWs weren't to my liking, but I'm biased on that point. I never saw through Jack, Pulseaudio and what not, which was really the running gag because it was--and probably still is so messy. Responsiveness in realtime fidelity was a real problem, too, I believe (similar for web based experiments).

it's a fair guess that server OSes like the BSDs won't have a better story

<comment><USER7> the JACK ecosystem is in an excellent place right now. i HIGHLY recommend the kxstudio applications for a smoother experience: [https://kx.studio/](https://kx.studio/)

cadence - manages the JACK server and sets up pulse/alsa/midi bridging

catia - JACK patchbay

claudia - tool for setting up persistent JACK patch configurations

i'd also like to take this time to say that falkTX, the maintainer of kxstudio/jack1/jack2, deserves a medal for all his great work

</comment></comment></comment><comment><USER8> Thanks, I'm a big fan of FM Synth music. Hoping to one day do some experimentation with the chip myself if I can find the time.</comment>


Police are now treating swatting as a serious crime - <AUTHOR> https://www.nbcnews.com/news/all/trolls-turned-911-weapon-now-cops-are-fighting-back-n1105991 <comment><USER2> Of course the police find it _really_ convenient to pin the entire blame on a shithead who makes a fake 911 call, but most of that blame actually lies with the police themselves - they're the ones carrying the guns, hopped up on watching too many action movies, and generally behaving as if they're fighting some all-out ground war rather than proceeding calmly as domestic peace officers.

Ultimately, there should be no need for special per-address annotations like "SWATTING CONCERNS", because _every single situation_ should be treated with utmost caution and restraint.

<comment><USER3> I came here to say this. The Seattle Public Affairs director said:

"They are showing up to verify everyone is safe, not showing up with the assumption that this is Point Break"

Why would they ever show up assuming that this is Point Break? The implication is extremely concerning. That kind of event happens so rarely it should never be an assumption. And that movie was even about a bank heist, not a response to someone's house.

There is a severe disconnect between US police officer's view of their job, and the reality (queue that grid meme, what other people think I do, what I think I do, etc). Their on the job fatality rate is half that of sanitation workers picking up trash from the curb. It is one tenth that of logging workers. They're tied for the 14th most dangerous job with electrical power line installers. From [https://www.businessinsider.com/the-most-dangerous- jobs-in-a...](https://www.businessinsider.com/the-most-dangerous-jobs-in- america-2018-7#6-structural-iron-and-steel-workers-29) which uses Labor Bureau stats.

</comment></comment><comment><USER4> Swatting is disgusting. It's a scourge. It's also frightening that in our society we have people who are incapable of seeing just how wrong it is, and see it as some sort of "prank" and not attempted murder, which ruins the lives of the lost one and of the officer.

I mean it not in a judgemental that the people who are calling in these incidents are sick and need help from professionals. I really hope they get the help they need before they go on in their lives and do things they regret.</comment>


A Graph-Based Movie Recommender Engine Tutorial with Neo4j & Gremlin - <AUTHOR> http://markorodriguez.com/2011/09/22/a-graph-based-movie-recommender-engine/ <comment><USER2> I believe that people who are interested in the subject matter, rather than the Neo4j & Gremlin implementation, would be better served reading the excellent book: Programming Collective Intelligence ( <http://shop.oreilly.com/product/9780596529321.do> ).

<comment><AUTHOR> That's a great book. The difference is that the examples in _Programming Collective Intelligence_ don't make use of a real graph database (meaning a DB where you don't have to hit an external index to find adjacent nodes), and all of the algorithm examples are in standard Python rather than in a more expressive graph programming language like Gremlin (<https://github.com/tinkerpop/gremlin/wiki>).

Gremlin is a domain-specific language written in Groovy (it's like SQL for graphs), and you can use it from Python like you can use SQL from Python (see <http://bulbflow.com/overview>); however, there is a Jython version in the works, as well as a Scala version ([https://groups.google.com/d/msg/gremlin- users/LXNdbT_m7Gk/QZ...](https://groups.google.com/d/msg/gremlin- users/LXNdbT_m7Gk/QZPD9RqjKC4J)).

Marko is the author Gremlin, and he has been working to refactor most of its heavy lifting down into a dataflow framework called Pipes that's written in Java (<https://github.com/tinkerpop/pipes/wiki/>) so that it's now basically a thin wrapper to Pipes.

By doing this, it's opening the door to create Gremlin variants in all of the other JVM languages (see the Gremlin 2.0 dicussion [https://groups.google.com/d/topic/gremlin- users/5DiHC9dWSAA/...](https://groups.google.com/d/topic/gremlin- users/5DiHC9dWSAA/discussion)).

</comment></comment><comment><USER3> My complaint isn't about the content, which I couldn't really read, but rather about presentation for a slice of the Internet.

This article is 'optimized' for my device, an iPad. I see this bit of code on more and more websites, which is well-intentioned and provides a content navigation bar along the top. I never use it, and it's usually only a bit annoying because I can't make a decision about text size myself... But in this case, the re-wrap-text-on-rotation feature is actually keeping the content wider than the screen. I actually can't read this without horizontal scrolling on each line. Could you turn this off please, Marko? Thanks!

<comment><USER4> If you scroll all the way to the bottom of the page, you can turn off the onswipe theme. I thought I had heard a rumor that you could globally disable it, but I haven't found the way to do it yet. I tried going to the linked onswipe page, but it doesn't render on my iPad :(.

I'm with you though; it makes attempting to read technical posts a real chore.

<comment><USER3> Thanks for that tip!</comment></comment></comment>


I'm running an experiment with Facebook Ads for my Tumblog - <AUTHOR> http://giantrobotlasers.com/post/178007237/im-running-an-ad-on-facebook-to-learn-more-about <comment><USER2> Hi Ivan,

It would be interesting to see what would happen if you turned on comments for your blog. You also mention creating a "proper blog" which I think would bring something new to the mix as you build your brand. Right now your Tumblr theme is limited to what you want me to focus on at that moment, with little ability to get to your archives or see what you are all about (tumblr view) vs. a blog or RSS readership will know who\what they are subscribing to.

I think there is rationale to keep both, but you should try to build RSS audience at the blog vs. followers and tumbularity on Tumblr.

<comment><AUTHOR> Tumblr is social. I don't really care if it stays really small. Opinions are more valuable the more people read them, so I'd like a "proper blog" to grow.

The reason to keep both is to keep things properly categorized. Pictures of cats -> Tumblr. Thoughts on a market -> blog.

</comment></comment><comment><AUTHOR> If anyone here has any thoughts on something else to tune or play with, let me know. Overall, the experience of buying an Ad on Facebook was far better than my very limited experience with Adsense.

<comment><USER3> I've been playing around with FB Ads doing some affiliate marketing stuff the last few months.

1) I think your target demographic, looking by the # of impressions. Try to go a little bit broader than just "tumblog". Try "tumblr", "blogging", "rss", .etc to reach a bigger audience

2) Your CPC is way too high. With FB it's best to go below their suggested bid, and gradually up your CPC amount until you start getting the desired impressions.

3) I'd gather a lot more data before making any kind of analysis on the data you're gathering.

4) Your CTR looks to be on the right track, although still probably not enough data to tell if it's stable yet. 0.1% is alright for a display ad on a social networking site. I'd still try split testing a couple different versions of your ad to see if you can up that. You always want to be split testing, constantly cutting the weaker performing ads, and making a variations of the better performing ads.

<comment><AUTHOR> I started at $0.10 CPC, but bumped it up to see more traffic faster.

</comment></comment></comment><comment><USER4> I don't think the content on your tumblr really has enough meat to it to get you startup advisor roles, or public speaking engagements. Start another company that has a successful exit and then go the route of EIR and you'll end up in advisor roles, board seats and speaking at SXSW...

<comment><USER5> Yeah, I think I agree. Investing / advising looks fun and interesting, so it is a long term goal of mine. The funny pics I sometimes post on Tumblr are largely unrelated. I need to build a blog.

The comment there is really about others I've seen who, imho, aren't that talented, but get attention before they are good bloggers.

<comment><AUTHOR> Lol, I commented from my sock puppet account.

</comment></comment></comment><comment><USER6> Hey, your site would be much better to read if you made the text non bold.

<comment><AUTHOR> I don't like the theme. It was built in. I'd like to work with abby to make things better. Feature request #1 is bigger media. The column is too thin.

</comment></comment><comment><USER7> I had no idea Tumblr even had its own 'follow'; I would be much more likely to subscribe via RSS.</comment>


Nova – A Cosplay that took me two Years - <AUTHOR> https://www.kamuicosplay.com/2017/10/17/nova/ <comment><USER2> I genuinely applaud and love reading about the cosplay community and how tech like 3D printers is making it easier and easier for these young men and women to get really creative with their craft, it's so much fun watching these build projects.

</comment><comment><USER3> I kind of dislike the "misleading" title of "took me two years" which implies "because I didn't touch it for a whole year".

By that metric, I have thirty-year projects to replace a light bulb.

</comment><comment><USER3> Fantastic idea about the plastic packing material to diffuse light, I've been looking for a solution like that for one of my projects. Does anyone know what kind of packing material it is?

<comment><USER4> In the lightsaber building community rolled cellophane sheets are used to diffuse the light emitted form the LED evenly the refractive index changes between all the layers creates an even distribution of light this isn't that different than how the diffusers in early LCDs work modern ones still use the same principle but they use a single patterned sheet or a very thin fused multilayer sheet.

You'll have to play around to find exactly what fits your specific use case since there isn't a single material that would work for every scenario.

For your use case I would hunt for old LCD monitors or TVs because they use a backlight, modern LCDs use edge illumination and the diffuser is a fresnel lease like sheet which might not work for a backlight.

So if you find an LCD TV which is 3-5 years old or older you'll likely have a diffuser huge sheet to use for your lighting setup.

<comment><USER3> Sounds great, I'll try that, thank you. My project uses WS2818 LEDs as sort of pixels, so I want them to blend into each other a bit but not too much (I don't want them to look like points of light, but I also don't want them to bleed into neighboring LEDs).

I'll try cellophane, thank you!

<comment><USER4> If you need fine control and resolution which form the sounds of it you do you likely want to look at commercial diffuser sheets they cost about $10 per sheet and should be available on amazon, eBay and the likes.

[https://dzevsq2emy08i.cloudfront.net/paperclip/technology_at...](https://dzevsq2emy08i.cloudfront.net/paperclip/technology_attachment_uploaded_files/11/original/Light%20Diffuser%20Datasheet%20Matte%202%20sided%20\(DFMM\).pdf)

These should be readily available and for fairly cheap.

<comment><USER3> That's exactly what I want, thank you! Fantastic.

</comment></comment></comment></comment></comment><comment><USER5> Omg, I wish I had like 1/10 of her talent.

<comment><USER6> Practicing works better than wishing.

You can do it. :)

<comment><USER7> > Practicing works better than wishing.

well this might be true for a lot of traits. but not for drawing and probably not for making "good" cosplay costumes. you at least need a steady hand and a lot of dedication.

<comment><USER8> This is plain wrong. Of course there are people who have a natural talent, but that's a tiny minority and most people have to do with practice - it's just the people with many more years of practice that you end up comparing yourself to.

You wouldn't expect to sit down at a piano for the first time and have the dexterity and coordination to play, without any kind of practice, would you?

Almost everyone draws as a child. Then, they stop, try as an adult and then give up when they end up making a picture that looks "like a child's drawing" - of course it does - that's the point at which you stopped learning to draw.

<comment><USER9> I observed my kids and at age of 5 or 6, they drew super well (I mean, incredibly well for their age). Then they stopped practicing and the apparent talent faded away.

Personally, I decided that I wanted to draw in my early twenties. I may have had some natural talent so I was able to draw complicated things. But even if I consider this natural talent I can assure you that 99% of drawing is practice (which I don't have time to, unfortunately). Just look at the classical masters (Caravage, Rubens, whatever).

Drawing is first and foremost, observing, looking and watching. Watching with the eyes first, and the heart after. I can assure you than when I look at something to draw it, I "feel" that something inside of me. Drawing is an act of communion for me.

</comment></comment></comment></comment></comment><comment><USER10> That's amazing! Nicely done! Kudos to having enough drive to finish a costume 2 years down the road!</comment>


Welcome to The Console Living Room - <AUTHOR> https://archive.org/details/consolelivingroom <comment><USER2> Oh the nostalgia. You can't go home again. For me it's better to remember playing Air Sea Battle on my Atari 2600 fondly than playing it now and realizing how lousy the gameplay actually was.

<comment><USER3> Just like when I tried Mario Kart 64 on the Wii's marketplace. It's lousy, really lousy, compared to the newer versions. Don't ruin great memories, they belong in the past for a reason.

<comment><USER4> Wow that is exactly the game I thought about buying yesterday. Even with a proper (non-wiimote) controller?

I wonder how much is the games not holding up, and how much is adults not liking games.

When I watch people playing Halo 14 or whatever, it doesn't look fun at all.

<comment><USER5> Just play Mario Kart Wii.

I had an equivalent experience by trying the original Mario Kart in a SNES emulator recently. The experience of playing the SNES version back then was the same as playing the Wii version now; playing the SNES version now it feels too crude.

</comment></comment></comment></comment><comment><USER6> Hoping they get the Atari 400/800 in there soon. Most of my early console memories are from there.

Plenty of games didn't work for me on the 2600, though... Star Raiders wouldn't start, others wouldn't load, etc... definitely a work in progress. Nice to be able to just click and play, though.

</comment><comment><USER7> Post could use a better title:

"Archive.org now lets you play pre-Nintendo video games from your browser"

... at least, I assume that's what's new here.

<comment><USER8> Yes, this basically lets you run classic game consoles in modern browsers, through emulation. The physical consoles are in many cases extremely hard to find, so emulation is the only practical option to relive them, and emulating them in browsers is the best way to make it accessible to as many people as possible.

This is done via JSMESS ( [http://jsmess.textfiles.com/](http://jsmess.textfiles.com/) ), a port of the MESS emulator (which can emulate many old machines) to JavaScript using Emscripten. JSMESS has been around for a while, the most recent news being announced here is a new set of classic game consoles that have just been ported.

Very cool that the Internet Archive is doing this, otherwise these machines that played a significant part of many people's childhoods would remain only in their memories.

</comment></comment><comment><USER9> I love this one: [https://archive.org/details/Summer_Games_1987_Atari_NTSC](https://archive.org/details/Summer_Games_1987_Atari_NTSC)

</comment><comment><USER10> I want to play Big Top!</comment>


TechStars Boston Companies Raise $4 Million in Funding at Demo Day - <AUTHOR> http://bostinnovation.com/2011/06/15/techstars-boston-companies-raise-4-million-in-funding-at-demo-day/

<comment><USER2> from the article:

EverTrue – $750k already committed. Ginger.io – Investment committed but no mention of $$. GrabCAD – $1.1M already committed. Help Scout – $140k already committed. Kinvey – $1M already committed. Memrise – Investment committed but no mention of $$. Placester – $350k already committed. Promoboxx – $250k already committed. Senexx – $100k already committed. Spill – $120k already committed. Strohl Medical – Investment committed but no mention of $$. The Tap Lab – $150k already committed.</comment>


Personal Names Around the World - <AUTHOR> https://www.w3.org/International/questions/qa-personal-names <comment><USER2> This is a great addition to "Falsehoods Programmers Believe About Names": [https://www.kalzumeus.com/2010/06/17/falsehoods- programmers-...](https://www.kalzumeus.com/2010/06/17/falsehoods-programmers- believe-about-names/)

</comment><comment><USER3> This is more complex than I could have imagined - does anyone know how large multinational software companies handle this? I.e. Google or Facebook?</comment>


I compiled a list of 26 firms offering Non-Dilutive funding options to Founders - <AUTHOR> https://district.substack.com/p/26-firms-offering-non-dilutive-funding <comment><AUTHOR> If you have some initial traction and recurring revenue in place already, you can raise money without going to VCs and scale your business at your own pace.

Whether you are a solo founder of a bootstrapped business with a $1k in MRR or a startup founder with $100M in ARR, there is an option available for you to raise money without giving away your equity.

A couple of examples from the complete list below:

(KickPay)[[https://kickpay.com/](https://kickpay.com/)]: If you are in eCommerce space and have enough inventory but need access to capital before you "sell" your inventory. KickPay is a great option for you.

(PodFund)[[https://pod.fund/](https://pod.fund/)]: If you are a Podcast creator who is noticing some traction and revenue and are looking to scale your efforts, do check out PodFund.

You can check out the complete list of companies below. I hope you find this useful.

[https://district.substack.com/p/26-firms-offering-non- diluti...](https://district.substack.com/p/26-firms-offering-non-dilutive- funding)</comment>


What's your startup's reserve price? - <AUTHOR> http://www.gabrielweinberg.com/blog/2011/12/whats-your-startups-reserve-price.html

<comment><USER2> I basically feel the same way as @AaronKlein, per his comment at the parent blog:

 _I have a few reserve prices in my mind, and they're based on getting to specific milestones. So if somebody wanted to buy the company at this stage (primarily for its technology), that's a lower price than I'd accept when we get to a certain level of user traction._

I mean, if somebody wanted to buy Fogbeam Labs today, I think we might sell for, say, ~$1 million. All a buyer would be getting at this point would be the founders, for some reasonable lock-up period, a product that's maybe 3/4's of the way to being a shipping (albeit beta) product, and some customer development research.

But by, say, a year from now, I hope (and expect) to be able to say "we wouldn't sell for less than ~$50 million." If we have a shipping product and some traction to prove our hypotheses by then, that would change a lot.

And given the market we're in, and the valuations of other firms that do related types of products, and some of the projects I've seen from Gartner and their ilk, I believe that - if we are successful - we're building a company that will be worth hundreds of millions (or more) eventually. I mean, we're thinking IPO here, not "let's get acquired by $WHOEVER in a talent acquisition." In fact, because that is the goal, and because we're brash and self-confident, I don't _know_ that we would actually sell for $1 million today, even though there's no objective criteria on which to base such a valuation. It's more a question of our own belief in where we're going, and what heights we can ultimately hit. But that's counterbalanced by the fact that none of us are rich currently, and the idea of walking away with even a few hundred thousand to deposit in the bank, would be awfully, awfully tempting.

So yeah, timing and what we can prove to ourselves in terms of feedback and traction, will have a huge impact on the actual number *at any specific point in time." But, at least we know where we're aiming, so we have some basis to ground our decision making.</comment>


A Periodic Table for HTML - <AUTHOR> http://ajaxian.com/archives/a-periodic-table-for-html <comment><USER2> Why not link directly to <http://joshduck.com/periodic-table.html> ?</comment>


Automatic visual image enhancement for your web application - <AUTHOR> http://cloudinary.com/blog/automatic_visual_image_enhancement_for_your_web_application

<comment><AUTHOR> Learn how to improve your website's look, feel and engagement by automatically visually enhancing your web application's images and user uploaded photos. Simply add a single parameter to your image URLs and extend Cloudinary's powerful image manipulation and optimization capabilities. The VIESUS add-on seamlessly, dynamically and automatically enhances images to their best visual quality. Sample code included for Ruby, PHP, Node.js, .Net and more</comment>


Your Phone Is Listening and It's Not Paranoia (2018) - <AUTHOR> https://www.vice.com/en_uk/article/wjbzzy/your-phone-is-listening-and-its-not-paranoia <comment><USER2> I hate these anecdotal stories and how they're used as absolute evidence that something like this is happening. Google would never allow the data from their back end recording to be seen by other apps, for the same reason that this article says Facebook keeps the data they collect close hold: it gives away their exclusivity.

Seriously. You met with a friend at some place where you probably sat around and talked for a long time together. Is it unreasonable that FB saw the two of you were together at a place where you might reminisce about previous trips together.

As for saying specific phrases near your phone, this sounds like Baader- Meinhof to me. The writer probably spent a lot longer on FB than usual, which led to more ads (and an expanding category of ads to keep from repeating the same ones over and over), leading to him finally seeing what he was hoping to see.

There's just no way that either Google or Apple are storing the voice recording data anywhere where other apps could see it. Further, I don't think either are maintaining recordings long enough to make sense of a conversation or even full sentence. In Google's case, they've talked ad nauseum about how it's just a voice signature they listen for and they never maintain non- triggered audio (even device-side).

</comment><comment><USER3> The thing I always come back to with these claims is battery life and/or data usage. If your phone was always listening to you, it would need to either be always streaming the audio data back to home base, in which case you'd notice the data usage, or it would be doing on-device voice recognition, which would cause noticeable battery drain. Both cases would make it very easy to detect and this question would already be answered definitively.

<comment><USER4> You could test your local drain hypothesis pretty easily. Turn on voice activation of e.g. Google on an Android. This means your device is now listening to and analyzing every word to see if it ever recognizes 'Okay Google'. If your theory is correct you'd notice a substantial battery drain compared to having this functionality disabled. I'm going to guess you will notice basically nothing. The nice thing about neural network driven systems is that while they are very resource intensive to build, once built they are (generally) extremely resource friendly. And training a network to recognize one of a wide array of terms would be no more difficult than training one to recognize Okay Google. And the best thing is that false hits don't really matter that much, if you assume the only motivation is advertising.

Though, for what it's worth, my bet would be on exfiltration of the data instead of local analysis. Put the shoe on the other foot. Imagine your goal is to exfiltrate data from a device in a covert fashion. You can come up with countless clever ways starting at the most low level with extreme compression. All that matters is that what is said can be recovered - it doesn't need to sound pleasant, or even intelligible as long as another system can reconstruct the speech (even if at great computational expense) from what you send. And from there you can come up with all sorts of clever ideas such as only sending the data during other normal transmissions.

</comment></comment><comment><USER5> Is the claim that these apps have special deals and APIs with Google and Apple to access this data?

There are certainly no public APIs to get these recordings (if they exist). The claims in the article seem pretty audacious and are presented with no evidence.

</comment><comment><USER6> I read recently that some things are explained in part by a data sharing agreement between amazon and Facebook

[https://gizmodo.com/amazon-and-facebook-reportedly-had-a- sec...](https://gizmodo.com/amazon-and-facebook-reportedly-had-a-secret-data- sharin-1831192148)

</comment><comment><USER7> Related! [https://www.gimletmedia.com/reply-all/109-facebook- spying](https://www.gimletmedia.com/reply-all/109-facebook-spying)

</comment><comment><USER8> 2018

and past comments. [https://news.ycombinator.com/item?id=17255265](https://news.ycombinator.com/item?id=17255265)

note that the submission was flagged.

</comment><comment><USER9> Related: Am I wrong that Facebook's apps cannot access random conversation without having been granted microphone access on Android?

<comment><USER2> I don't even have the app installed, but I see similarly relevant stuff occasionally when I browse to FB, which tells me that there gathering enough knowledge Annie me from a plethora of other sources.</comment></comment>


Can I avoid to incorporate in US if I get accepted in YC? - <AUTHOR> Hello! YC is getting more and more powerful in helping companies, so for my next venture I plan to apply. I don't plan although to stay in US long term.
So it doesn't really make sense to incorporate in US if then I will run the company from abroad its entire lifetime.
Is it possible to avoid incorporating in US if accepted in YC?
I usually incorporate as a UK's LTD, since I live in UK and it's a common choice for EU tech companies.
Thanks <comment><USER2> My take for what it's worth.

If the company is successful, the cost of paying else someone to manage the details of a Delaware corporation is almost certainly going to be much less than the opportunity cost incurred when a founder manages that level of detail regardless of where the company incorporates.

Or to put it another way, since using a UK LTD instead of a Delaware Corp. is unlikely to effect the odds of the company's success, there's not a clear _business_ case for expending energy on it in the context of YC. That's not to discount personal values or world views only to recognize that those values and world views represent some misalignment between the founder's interests and YC's business model. YC, like any investor, invests on terms with which they are comfortable.

In the end, if the benefits of incorporating as an LTD outweigh those of YC's investment, then that's the way to go. If they don't, it isn't.

Good luck.

<comment><AUTHOR> Your point is completely valid. Incorporating as UK company is not as helpful as being part of YC.

YC, rightfully, invest on terms that make them feel comfortable, since it's their money.

Nonetheless, this is something making me doubt if I will apply.

Thanks for your opinion. I appreciated it.

</comment></comment><comment><USER3> You're worrying about the wrong thing, the overhead of incorporate in the US shouldn't have any influence on your decision whether you apply to YC or not (unless you're doing something where there's legal complications in the US such as gambling).

<comment><AUTHOR> I understand that incorporating in US is very simple. I have done it in the past.

I just don't want to have and manage a company inside another country, while it would be much easier to have it in the place where I live.

</comment></comment><comment><USER4> > it doesn't really make sense to incorporate in US if then I will run the > company from abroad its entire lifetime.

What made you think that?

> Is it possible to avoid incorporating in US if accepted in YC?

No, it's not possible. From [http://www.ycombinator.com/apply/](http://www.ycombinator.com/apply/)

"International founders, please note: if your company is a non-United States entity (corporation, limited liability company, etc.), your participation in YC is conditional on conversion of your foreign company into a United States corporation."

<comment><AUTHOR> I have very low chances of getting a visa to live in usa, since I am a dropout without a college degree. Second, I am living in London, which I enjoy very much.

Thanks anyway to clarifying me that it's mandatory to be a US company. I understand why YC needs it.

</comment></comment><comment><AUTHOR> I know that FAQs say I have to, but I was wondering if there was flexibility when it make sense otherwise.</comment>


Show HN: Never Write Boring Content Again - <AUTHOR> http://innovastudio.com/builderdemo/demo2.html

<comment><USER2> This submission is an alternate link to [https://news.ycombinator.com/item?id=8315224](https://news.ycombinator.com/item?id=8315224)

<comment><AUTHOR> Thanks, this new one shows a new set of content blocks.</comment></comment>


Bubble Cursor, defying Fitt's Law - <AUTHOR> http://ieor.berkeley.edu/~anandk/bubbleCursor.html <comment><USER2> Interesting.

My average time was actually slightly faster when the bubble cursor was off, but I think that was only because it made the teal bubble much easier to find. The clicking itself seemed significantly easier with the cursor on, especially when the teal bubble was small.

By the way, the selection method here is not complicated: a click just selects the nearest bubble. The interesting part is the interface.

Also, I'm wondering how this could be adapted to a more realistic context: say we have a large rectangle with a bunch of smaller rectangles inside it (e.g., a window with icons in it). The typical rule is that a click inside the large rectangle, that is not also inside a smaller one, counts as a click on the large rectangle. Now, could we adapt the bubble cursor to this situation? You can't differentiate between a click on a small rectangle and a click on the large one by the _nearest_ criterion, since all clicks will generally be inside the larger rectangle.

</comment><comment><AUTHOR> Make sure you hit 't' to trigger the timing mode, and start trying to click on the teal bubble.

</comment><comment><USER3> The teal bubble's contrast is bad and is hard to see. Is it intentional?

<comment><USER4> That's not just hard to see, it's like a false color from an optical illusion afterimage or something.</comment></comment>


Parallel Programming in Futhark - <AUTHOR> https://futhark-book.readthedocs.io/en/latest/ <comment><USER2> Futhark has been on my radar for a few months now. Does anyone here use it for anything outside basic toy projects? Do you like it?

<comment><AUTHOR> No idea about its usage in industry, but this is a classical example of a tool that maps to its domain a magnitude better than the competition, yet can't seem to take off because of lack of the network effects that would act as propellant.

</comment></comment><comment><USER3> Dude I was in that guys first FOSDEM presentation. You go guy</comment>


Stanford AI researchers make socially inclusive with Urban Dictionary and Twitter - <AUTHOR> https://venturebeat.com/2017/08/08/stanford-ai-researchers-make-socially-inclusive-nlp-using-urban-dictionary-and-twitter/ <comment><USER2> I've noticed Langid doesn't always work well with short texts, so I'm looking forward to try the Equilid library!</comment>


Stackoverflow admin.php site hacked to link to a weird YouTube video - <AUTHOR> http://stackoverflow.com/admin.php <comment><USER2> Its not a hack, actually made by a StackOverflow Dev Ref [https://twitter.com/Nick_Craver/status/720062942960623616](https://twitter.com/Nick_Craver/status/720062942960623616)

<comment><AUTHOR> Thank you so much. I will remove the link in 10 minutes.</comment></comment>


The Lost Art of C Structure Packing - <AUTHOR> http://www.catb.org/esr/structure-packing/

<comment><USER2> A couple of years back, I ran into a nasty problem with structure packing that made me get acquainted with structure padding and packing.

The company I was working at used the OpenWatcom compiler that lets you tune structure padding with a compiler flag. Also, they "serialized" their data by simply writing arrays of structs to files and reading them back in later. Raw binary files, no conversion whatsoever.

So one day - I hadn't been there very long - I was given the task to make a certain change to the application, as well as a copy of a "database" to experiment on. I made a first adjustment, compiled my code, ran it and - BAM! It took me nearly a day to figure out that I had "forgotten" to pass a certain variable to make which in turn resulted in a certain parameter being passed to the Watcom compiler that caused it to use no structure padding at all.

Without that variable/parameter, I had compiled the program to use a different padding (i.e. use padding at all), so when my program read the data file (having been dumped by a version of the program being compiled without padding), it barfed, so to speak.

That problem caused me to do a little reading on the matter. I sure wish somebody had pointed that article out to me back then. (Assuming it had existed back then, with "back then" being about October 2007.)

</comment><comment><USER3> This is a good article that comes up every so often. If you haven't read it, you should. The art is not quite as lost as advertised, though. A lot of C programmers pack structures that way out of habit.

There's definitely some cases where you shouldn't follow the "biggest to smallest" ordering, but they're usually pretty obvious when you run into them. They usually involve inheritance and such.

</comment><comment><USER4> In the example in part 4, doesn't this:

        char *p;     /* 8 bytes */
        long x;      /* 8 bytes */
        char c;      /* 1 byte  */

Just end up being this, to align whatever comes after it in memory?

        char *p;     /* 8 bytes */
        long x;      /* 8 bytes */
        char c;      /* 1 byte  */
        char pad[7]; /* 7 bytes */

</comment><comment><USER5> Recent discussion: [https://news.ycombinator.com/item?id=9069031](https://news.ycombinator.com/item?id=9069031)</comment>


The fighting's been fun and all, but it's time to shut up and get along - <AUTHOR> http://blog.bitquabit.com/2010/02/10/fightings-been-fun-and-all-its-time-shut-and-get-along/ <comment><USER2> "Their enemy is Subversion"

Sigh! Perhaps the enemy is the still surprisingly high number of programmers not using any source code control at all. Perhaps we should be working on educating those who still don't feel the need to use source code control on their own personal projects. But Subversion?

I just helped on a "major" project that worked remarkably successfully using good old CVS. I personally prefer Mercurial, and it's what I use for all but my smallest pieces of code, but did CVS work well for coordinating 50+ chip designers, software developers, document writers? Hell yes! Not even a single hiccup, no little thanks to a very helpful and standup IT guy. Good ol' CVS did the job just fine. Could newer technology be better? Yes perhaps I can think of a lot of hypotheticals where it would have been great to have a DVCS, but in practice, I can't think of all that many times where it would have made much of a difference. The fact that every one there, particularly the chip designers, knew how CVS worked, had worked with it for years, had their own work methodologies based on CVS, made the very thought of using anything else nothing but stupid.

</comment><comment><USER3> The article hits the nail squarely on the head.

Git is pretty awesome, I love using github. From what I've seen of Mercurial, it is also mostly blessed the same awesomeness.

Getting people to convert is a fairly big undertaking, though, and although the author touches on this, he might be underestimating the task of conversion a little bit.

The first of his 3 points (that git/mercurial's inferior handling of binary files is one of the major issues) is in my opinion dwarfed by an issue he doesn't even mention: git's cryptic user experience and sometimes insanely- scary (especially to git newbies) error messages. I've met plenty of coders who are brilliant programmers but are completely baffled by the very simplest of operations in git when they fail. I'm not sure a better user experience is even remotely on the radar of the folks who work on git, so for git newbies, it's back to svn.

Has anyone else noticed this?

I'd love to get my day job's project moved from svn to git, given the tremendous benefits (we experience a lot of pain when branching our svn repo), but the pain of moving has to be eased significantly. Moving a repo like ours doesn't just involve importing the repo, it involves training, dealing with all the errors and hangups, figuring out how to make our ancient installation Trac talk to our repo, connecting it to Eclipse and NetBeans, and adjusting all of our build processes. I think if the day to day git experience was less cryptic, we could probably handle the remaining issues.

<comment><USER4> What is wrong with using git-svn on your local machine instead of trying to migrate everything over to git?

<comment><USER3> Well, partially my personal ignorance with how that would work :) But also.. my team often has to break into pairs to work on sub-projects and new features, and it would be nice to have everyone on board rather than just a single person. The whole package is compelling. Thanks for the idea though.

<comment><USER4> You're welcome. git-svn is an interface to a svn server that handles the interaction with the svn server. You checkout from the svn server. Do local git stuff and then when you have a completed feature/bugfix you use git-svn to push it back to the svn server.

Food for thought at least.

</comment></comment></comment></comment><comment><USER5> The closer two things are to each other, the more they fight. Like the Hells Angels vs Bandidos, or the Bloods vs the Crips. I mean, coming as someone who is not involved in any crime, it would seem reasonable that the Hells Angels should battle the Crips, seeing as they totally represent different things. But no, they go fight the people closest to them.

What I'm trying to say is that Git is like the Hells Angels, Mercurial is like the Bandidos, and SVN is like the Crips. Microsoft Visual Source Safe is like MC Hammer.

<comment><USER6> > The closer two things are to each other, the more they fight.

<http://en.wikipedia.org/wiki/Narcissism_of_small_differences>

<comment><USER7> I figured the reason would be competition for a similar niche.

</comment></comment></comment><comment><USER8> I'll come right out and admit that I still use Subversion. And like it.

That seems like a crime to most people because I'm a Rails coder, but the truth is that I haven't had any need of anything else yet. I'm generally the only person working on my projects which means that Subversion meets all my needs.

I'm sure that there are benefits to converting, but every time I start the process I get turned off by having to learn a whole new way of doing things...

For now: I'm sticking with Subversion.

<comment><USER9> I'll second that - for 2 customers, we're just back to SVN, actually (despite I'm using Git for my own projects, because I like to commit offline, mostly).

The learning curve of Git is way too steep for non-technical participants in particular, at least in my experience, whereas they seem to handle SVN without much difficulties.

</comment></comment><comment><USER10> _It's easy, in the yin/yang of Hacker News and proggit, to forget that most developers are not even aware of what DVCSes are or what they do._

Can this be true? I'm definitely not a rockstar developer and I've been using Git for more than a year.

<comment><USER11> You'd be surprised how many people still use CVS.

<comment><USER7> You'd be surprised by how many don't use any kind of CVS.

<comment><USER10> I'm actually not surprised, and I've worked on plenty of client projects where the "workflow" was to login via FTP and edit live files on the server. If there was a chance for a potential conflict, just yell across the room to the other developer to make sure you don't step on each other.

Sadly, a few of these were for large interactive agencies. I try and steer clear of these kinds of jobs when I can, or at least try and push them towards svn or git.

<comment><USER12> I worked for a client that used this exact method, plus comments in the source to indicate who changed the code, with old code commented out. I was one of several developers working remotely. It was a mess.

When I suggested version control, the reply was "We're not big enough."

Sigh.

</comment></comment></comment></comment></comment><comment><USER13> "It's easy, in the yin/yang of Hacker News and proggit, to forget that most developers are not even aware of what DVCSes are or what they do."

It's also easy, in the yin/yang (what?) of Hacker News and proggit, to forget that there's plenty of developers RIGHT HERE who do not grok DVCS. I sort of know what they are, and that they making branching suck less or something.

Hello, I'm nollidge, and I don't get DVCS. Where do I start?

<comment><USER14> For me, it was watching Linus' Google talk on git, and then reading some tutorials, and then just doing it.

        Linus: http://www.youtube.com/watch?v=4XpnKHJAok8
        GitReady: http://gitready.com/
        Pro Git: http://progit.org/book/
        A short little bit about git's internal model: http://eagain.net/articles/git-for-computer-scientists/
        GitHub's Git Cheat Sheet: http://github.com/guides/git-cheat-sheet
        A successful git branching model. gorgeous workflow and pictures. http://nvie.com/archives/323

Also, if you have any questions, feel free to email me. The only reason someone should be using SVN now is if there are institutional reasons or if you use lots of large binary files. I'd rather you send me an email about something that seems hard than give up and use an inferior tool. I'm not an absolute git master, but I've ended up explaining it to most of my classmates, so I've given that explanation a few times already.

<comment><USER13> At work we have LOTS of large binary files, yes. Static dependencies in C#. But I'll give it a go for personal projects.

Thanks!

<comment><USER14> No problem. It's something that's being worked on, just merging them becomes a pain. If your dependencies are truly static, in the sense that you're not modifying them or updating them often, it shouldn't be a big deal. Usually it's large images or other 'asset' type stuff that causes a bloated repo.

</comment></comment></comment></comment><comment><USER15> It's the sort of next step in the blub problem.

People are coming from a world where they see svn as being _so_ much better than cvs (and source safe and what-not), but the only thing close to it in its class is p4, and they have to pay a lot for that, so it doesn't count.

Then someone convinces them that there's a better class of things and they want to give it a shot. git users talk about the power and wonders of git. hg users talk about how much easier it is to use than git. bzr jumps up and down slowly and says, "me too!"

In this sense, DVCSs are each other's enemies preventing our own adoption.

I've used hg a _lot_ and I've been using git almost exclusively for a couple of years. A project whose source is in git is more likely to get contributions from me because it's just easier for me. Projects that use hg will get a contribution if it's a big enough pain because it means more work for me.

</comment><comment><USER6> Odd, but as I was reading this I kept thinking of programming language flame wars:

> So why is there so much hating? I think what's going on is that people are > coming to these languages from Java or PHP, have their massive epiphany on > how totally awesome these languages are, and then assume that only their > language can have this level of awesome, so they begin evangelizing. The > problem, of course, is that the other guy feels the same way, and is also > evangelizing, so the Ruby and the Python guy end up in a locker-room-style > temper-tantrum over whose language has the best frameworks or whatnot, > instead of how much more awesome their languages are than the competition.

> This has to stop.

> Python's enemy is not Ruby. Ruby's enemy is not Python.

> Their enemy is Java.

</comment><comment><USER16> Poor Darcs, it's not even considered. I remember how awesome I thought Darcs was, but now we're almost done switching to Git. I would've stayed, but Git lapped Darcs on tools, performance, and stability. A shame.

<comment><USER17> The author of Darcs is writing a git porcelain that uses the Darcs command- line interface and patch semantics:

<http://github.com/droundy/iolaus>

<comment><USER16> There's also darcs-git, which is a python script that allows you to run darcs command in git. [http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman- tools.g...](http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman- tools.git;a=blob;f=darcs-git.py;hb=HEAD)

</comment></comment></comment><comment><USER18> I've always had this issue with Mercurial - if you're actively developing and want to fetch updates from the upstream, you are forced to check in to your local repo, even if the code you're working on isn't ready to be checked in. Git might do a better job that mercurial with git stash, but mercurial's equivalent (hg shelve) sucks - when you unshelve, rather than generating typical conflict markers, it generates patch diff files, which are way harder to work with. When you're developing with a small team, this happens all the time. After a project wrestling with mercurial, my team forced me to switch back to SVN.

I tried using git (with git-svn) to work around this, and even with the easy- git porcelain, the learning curve (and cryptic errors) were ridiculous (basically, easy-git is a pretty leaky abstraction). There's absolutely no reason why a VCS should be that hard to use.

<comment><AUTHOR> The problem is easily solved with smaller, more frequent commits.

In SVN, your changes had to be "ready to check in", which was this big, complicated ritual where you back up your changes, update, merge, check to see if the merge screwed with your changes, replace your backed up files, diff, unfuck the merge, and finally, commit.

With DVCSs, there's no reason not to commit partially done features. If you're at enough of a stopping point to want to merge in other people's changes, you're at enough of a stopping point to commit what you have so far. Your code only needs to be "ready" when you push it out.

<comment><USER18> I'm sorry, but this last point simply isn't true. Sometimes I'll be building a new feature, and I'll expose a bug which another dev will fix and check in, or another dev will add some hooks for me. The new feature definitely isn't ready to check-in, but I need to get their changes to continue.

<comment><AUTHOR> That's my point, this "ready" concept is just a holdover from SVN. There's no reason a commit has to be "ready" in any way. You can even say that in the commit message.

<comment><USER18> I agree with that. However, if you been making intermediate checkins, it's more difficult to cherry-pick changes to push upstream. Especially if you've been doing lots of intermediate checkins - it's easy to forget which changes were intended to be real (as opposed to dummy code you've put in for testing, etc), and push selectively.

Maybe this is easier in Git, but it has the worst interface I've ever seen, and that's saying a lot.

<comment><AUTHOR> If you're considering cherry-picking, you're still thinking in an SVN mindset. We did the exact same thing for a while before figuring it out, with some help from a few people who had used DVCS longer. You just have to use it for a while and you'll start to see the workflow where this isn't a problem.

<comment><USER18> We used mercurial for almost a year before the team rebelled and forced a switch back to SVN. :) It was all of our first experience with a DVCS.

It's not just cherry picking - if you've spread changes across multiple commits, it's much more difficult to manage them. Yes, you can diff cross revisions. But that's more awkward. Worse - if you commit so you can merge in changes from the mainline, all of your changes get lumped together - which may be logically different fixes - and some may even be debugging code that definitely shouldn't end up in the mainline. If you later need to push a subset of your changes, you're in for a world of hurt.

I guess if you get people to use patch queues religiously, you can work around this. But patch queues (in mercurial at least) are definitely rough around the edges, and have their own share of problems.

I'm guessing this process is better in Git. But if I can't deal with the interface, there's no way I'm going to convince the rest of the team to do so.

If people have suggestions on how to deal with this kind of stuff, I'd love to hear people's suggestions. My HN username @ gmail.

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> His point about binary files is true. Until it gets as good as SVN at handling binary files then it probably will not have an easy time getting people to convert.

How likely is it that Linus will add better support for binary files from an outside project or do we just have to use the forked git?

<comment><USER19> _His point about binary files is true. Until it gets as good as SVN at handling binary files then it probably will not have an easy time getting people to convert._

I don't think I've ever stored a binary file in my source-code control system. (Hint: your VCS is not your backup server.)

(Yes, OK, I have a favicon.ico in some of my repositories. This has not detracted from the "git experience".)

<comment><USER20> Turn 100 developers loose and amazing things happen to your "source code" repository. I used to find entire images of Microsoft CDs in ours. The developers wanted to be able to get to known state for compiling, Visual Studio and anything else they were using went in to CVS, and later subversion. Then because they had so much trouble with different versions of the Visual tools making different output they started checking in all the built DLLs and executables.

The developers should have been soundly thrashed with a cane, but if it is possible to check in a binary. They will do it.

<comment><USER21> If you want to reliably maintain (or even build) a given version of the code, it's the right thing to check in the versions of the compilers and build tools that are known to work. A good tool is small, fast, meant to be run non- interactively, and takes instructions in an easily-reviewed file. Making your official build in Visual Studio is a bad idea for all these reasons--even Microsoft doesn't do that, at least when I contracted there. (They used a make clone with some extra support for metadata from win32 binaries.)

</comment></comment></comment></comment><comment><USER22> Summary:

 _Mercurial's enemy is not Git. Git's enemy is not Mercurial.

Their enemy is Subversion._

 _.. most developers are not even aware of what DVCSes are or what they do. .. The goal right now, if you honestly believe that the DVCS workflow is better—and I do—should be to get the mindset out there, to make more people aware of what DVCSes have to offer and why they should be using them._ </quote>

</comment><comment><USER23> This kind of thing makes me feel the same way I do about lisp: I've tried both, and I'm still struggling to understand what the hype is about.</comment>