Teaching an Almost 40-year Old Unix about Backspace - <AUTHOR> https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/ <comment><USER2> _What this does is first send a BS to move the cursor back by one, then send a space to rub out the previous character on screen and then send another BS to get to the previous cursor position. Fortunately, my terminal lives in a world where doing this is instantaneous._

So much knowledge has been forgotten.

This is exactly what DEL did in it's original incarnation. on early VT terminals it was effectively a macro that triggered BS+SPACE+BS.

Depending on the VT configuration you specified, hitting the Delete key (the one up there above your Enter key) would either send a basic BS(8), or DEL(127). This behaviour also existed in many early terminal apps for BBS type dial-up.

<comment><USER3> > the Delete key (the one up there above your Enter key)

I would have said "to the right of", but then i am one of those dinosaurs that still use a desktop computer with a full width keyboard.

<comment><USER4> That's a different button: I think OP means the button that many people call 'Backspace' (it is labelled 'delete' on Apple keyboards though).

<comment><USER3> As if Apple was not confusing enough already...

<comment><USER5> On the flip side; if you had babyduck'd to Apple instead, then Windows would be the odd one out of the modern operating systems.

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

<comment><USER3> I can see why you qualified that with "modern" as going back just a bit, i am hard pressed to find any computer other than Apple that labeled that key with Delete.

Amiga 500 use the left pointing arrow. Atari ST actually labeled it Backspace.

</comment></comment></comment></comment></comment></comment><comment><USER6> This article caught me off guard, because the last one seemed to come from a place of knowledge. I thought a lot of how backspace worked was something that every programmer whose ever written a terminal program has experienced at least once. We faced this during a 300 level System Programming class while implementing a simple shell. Is this not something everyone with a CS background experiences? I guess you could miss it if you never go lower than javascript, or never try to do same line reprinting ie for text based progress bars

<comment><USER7> The times they are a changin'

<comment><USER6> You say that, but I'm very young, and didn't start writing code until after Windows Vista was released, let alone taking college classes. I guess I'm having a hard time understanding those who don't take an intrinsic interest into the lower level stuff in computers

<comment><USER8> All fields are abstractions on top of abstractions. Do you think every coder learns quantum physics? Certainly not, but it's vitally important for all modern computers. At some point everyone must decide either that they've cleared away enough abstractions for their purposes, or that their purpose _is_ clearing away those abstractions.

<comment><USER9> I'd point out the crucial detail that terminal handling arcana is not really "low level" thing; from abstraction point of view it sits pretty much on the same layer as DOM details or whatnot. You could know everything from low-level kernel innards to latest front-end framework fluff and never encounter terminal handling in any way. Text terminals are ultimately an evolutionary dead end (or at least so it seems currently), almost all modern stuff diverges from it instead of building on it.

</comment></comment></comment></comment></comment><comment><USER10> One thing that I don't rn see is why when I have:

      printf(">");

      read(0, ...);

I can only delete (DEL) chars that I've written, but not the ">". Who takes care of that, given that is not using readline?

I guess it has to be the N_TTY line disc but I'm not sure how it works given that I can manually place the cursor where ever I want differently.

<comment><USER11> The line discipline in most UNIX-like kernels is generally pretty simple, and mostly open-loop. In cooked mode, the kernel is just accumulating bytes in an edit buffer; if you add one, it echoes it; if you remove one, it probably emits "\b \b". If the buffer is empty and you press delete, it does nothing.

If you were to send cursor positioning sequences, instead of just ">", this would probably fall apart as the kernel's edit buffer and the terminal reality would be out of sync.

<comment><USER10> Thanks, it makes sense now. So with every `read' to the tty it starts a new edit buffer, I pressume?

<comment><USER12> No I don't think it's the "Read" call, but rather your program doesn't see any input in stdin until an enter is pressed. (In cooked mode).

<comment><USER10> I think I didn't explain myself.

What you say is true, but even if your program doesn't see any input, you can (the kernel n_tty line discipline) edit the input (delete it).

So if I do print() read() print() read() the reads will only be able to edit what has been input since that particular syscall.

</comment></comment></comment></comment></comment><comment><USER13> I still on increasingly rare occasion default in droll mode to statements like,

I'm sure this marriage will cras^H^H^H^Hthrive

I think the audience for such pun-level "humor" is down to single digits...

<comment><USER14> ^H jokes probably have a larger audience than +++NO CARRIER jokes.

<comment><USER15> +++ATH0

</comment></comment></comment><comment><USER16> Now nice that he linked to my simh installation instructions :) The best way to use ancient UNIX is to tell your terminal emulator backspace is BS and delete is DEL, then just use stty (you don't have to use caret notation btw, a literal BS/^U/whatever works too). And of course if you use a "real" terminal like an ADM-3A (of vi fame) you don't even have a backspace key and have to actually press Ctrl-H.

</comment><comment><USER17> Using # as backspace and @ as kill has an advantage when dealing with a teletype.

</comment><comment><USER18> I was frustrated by the #@ back on Multics and am shocked when it bites me today (usually when globbing).

But to this point:

> There is some debate on whether BS or DEL is the correct character for > terminals to send when the user presses the backspace key

These ASCII codes come from teletypes and BS really did just back up a space (I.e. you could over strike) just as LF really did advance the platen one line while not changing the column. DEL really did indicate that the previous character was to be ignored, more useful on paper tapes than printout.

Wow, I haven't thought about paper tape in years...

</comment><comment><USER19> Maybe Netbsd will be taught next.

</comment><comment><USER10> which unix is he using and where is that src code? Is it (freely) available?

<comment><AUTHOR> This is UNIX V7, aka Seventh Edition UNIX, from 1979.

The source code can be found on:

1\. any distribution tape, V7 ships with its own code, 2\. online, e.g. on [http://minnie.tuhs.org/cgi- bin/utree.pl?file=V7/usr/src](http://minnie.tuhs.org/cgi- bin/utree.pl?file=V7/usr/src)

Ancient UNIX (Seventh Edition, including 32V, and prior) are permissively licensed under a BSD-style license[1].

I hope that helps.

[1] [http://www.tuhs.org/Archive/Caldera- license.pdf](http://www.tuhs.org/Archive/Caldera-license.pdf)

<comment><USER20> > Ancient UNIX (Seventh Edition, including 32V, and prior) are permissively > licensed under a BSD-style license[1].

Ancient UNIX (Seventh Edition, including 32V, and prior) are _NOW_ permissively licensed under a BSD-style license[1]...

lest anyone learning about these things lose track of the Unix wars, UCB vs USL, and what really happened to Unix (aka it was forced to call itself BSD)</comment></comment></comment>


Technical cofounder wanted for disrupting the wedding industry - <AUTHOR> http://www.limedaring.com/technical-co-founder-wanted-for-disrupting-the-wedding-industry/ <comment><USER3> I wish you the best of luck, but considering that you will be up against the bridal industrial complex in attempting to reach inexpert customers who are by nature transients in the field, I would suggest rethinking the price. With the average cost of a wedding in the north-of-$25k region, you might find that the difference between $25 and $100 matters very little to the customer but very much to your ability to afford advertising for it.

Also, talk to Andy Brice from Perfect Table Plan and pump him for information on who the ultimate customers of his software are.

P.S. The fact that a particular woman is marrying a particular man on a particular day is, in itself, worth more than $25. It can also be sold to multiple people. Just throwing that out there -- lead generation often isn't held in particularly high esteem, but it is _big money._

<comment><USER4> ''With the average cost of a wedding in the north-of-$25k region, you might find that the difference between $25 and $100 matters very little to the customer''

i agree with this - her wedding is a special event that she will spend as much as she can - she already has a mental budget calculated by a complex process known only to her - some variables include -the cost of the wedding of her best friend -average cost of wedding in her social graph -how much she can afford to spend - then she will spend double of her budget so that she can complain about how guilty she feels for spending soo much for a wedding --but in no way-- her wedding will cost less than -and her planning process will last less than- the wedding of her best friend - she will get the most expensive of everything including invitations - she may buy groceries with coupons to look chic but this is -her- event - she will not look cheap - consider that even when she wants to -look- cheap she does not buy jeans and rip them at home herself -no- she buys -branded- jeans already ripped with style for her -also- it is a mistake to think that she is buying a -product- when she orders invitations - she is buying a -story- presented to her as -marketing- that she can share with her friends - for her to buy cheap invitations that she will spend time to create manually herself - there better be a -cool- story she can share with her frieds why she made this decision to go cheap - this story the founder must supply to her through marketing convincing her that buying cheap invitations does not make her look cheap - this is more difficult than building the site -also- maybe more important - she is -outsourcing- her wedding event - by definition she is the queen and the center of the universe and she will not do anything herself -except- giving orders - there is a lot of pride and competition involved in planning a wedding - she will not condescend to do manual work for her own invitations to save money - i think tracy in this case is thinking like the groom not the bride - but the decision to spend is made by the bride - so i believe this not to be a sound business model

<comment><USER3> Guys, take whatever upvotes you were going to give to me for my next 100 comments and give them to this line:

It is a mistake to think that she is buying a _product_ when she orders invitations. She is buying a _story_ presented to her as marketing that she can share with her friends. For her to buy cheap invitations that she will spend time to create manually herself, there better be a _cool_ story she can share with her friends why she made this decision to go cheap.

<comment><USER5> Every idiot can _print_. What about _handwritten_ invitations? Well, not _all_ the invitation, just the name of each guest.(We had this in our wedding, mainly because a very good friend with gorgeous writing was willing to volunteer and do this as a personal favor).

In the context of Limedaring's business. How do you make something like this happen? Unique typesetting? Outsource and arbitrage? Printing on a plotter machine?

Maybe my example is not very practical... but the question is: what in your product makes each guest feel special?

</comment></comment></comment></comment><comment><USER6> We retained Tracy to completely redesign our website (Rapportive - <USER2> imminent, what's online is still the old site at time of writing). Her design is beautiful, daring, and effective. She's gone above and beyond in responding to our myriad tweaks and requests, given us great feedback, and been fun to hang out with along the way.

I bet she would make a great cofounder.

<comment><USER7> +1

Tracy worked with us on <http://getupandmove.me/> and handled our really tough design direction and came out with great creative solutions like a champ. More importantly, she delivered reliably and quickly, unlike many who talk and talk but never do. I would definitely bet on her.

</comment></comment><comment><USER8> This is the best "looking for technical co-founder" post I have seen here. It explains your idea, the value you're bringing to the partnership, what you're looking for, and your past work as evidence of your value. Also, the picture helps me put a face to your name. Good luck!

<comment><USER9> Thank you!

</comment></comment><comment><USER10> You say that the industry has "insane profit margins". Have you considered what % of the revenue goes back into marketing? If you're trying to disrupt a space by pricing, you better make sure you can still afford to market at your lower price. If people are making a lot of money then you can bet that the CPC for your keywords are going to be high. So high perhaps that your CPA could exceed $25? At even just $1 CPC you'll need to convert at 4% or higher to turn anything resembling a profit. And the wedding invitation business is unfortunately not a repeat business. You may get referrals, but you'll never get the same customers coming back to buy again.

Just food for thought. Good luck!

<comment><USER9> Definitely keeping that in mind. "You may get referrals, but you'll never get the same customers coming back to buy again." is a great point, and a big hurdle I got to jump over. One way to get around this is partnerships/licensing to the template makers, who are currently not taking advantage of what happens _after_ they sell the template kits. Another is community building, since people who are working on their invitations love to show them off and critique others — keeping the people around longer than when they finish their design.

Thanks! :)

<comment><USER11> There are other similar products you could offer to happy users. I might want to also make thank you cards, or come back a year or two after the wedding and make birth announcements.

<comment><USER9> Exactly. I don't want to plan too big just yet - get a v1 one out, start making revenue, and find out _then_ where I should expand to because there are tons of ideas and paths. One reason I feel so passionately about my idea is because it as so much potential to build upon itself.

<comment><USER12> Then get out in front of that potential. If you don't, someone better funded will take your idea and immediately run past your v1.

</comment></comment></comment></comment></comment><comment><USER13> I like your idea with the invites, but I'd suggest that you're only going halfway with it.

1) Guide the customer through creating professional-grade invites. That part is relatively straightforward.

2) _Print and mail the invites_

3) Provide an RSVP service available to the couple _and their vendors_ \-- the caterer needs to know who wants vegan food but, honestly, the bride and groom don't care.

Finally, if you REALLY want to provide something disruptive: take a handwriting sample from the bride and/or groom, turn it into a font, and produce the thank-you notes (they need to look hand-written). I have no idea how you would do this, but having been through a wedding myself I remember utterly loathing this part.

<comment><USER9> My "WeddingType at its biggest" idea was Moo.com for wedding invitations — the place to go if you're looking for professional invitations on a budget. Printing and mailing has an interesting problem — would many couples mail the invites without first seeing it? Would they prefer to have all the invitations on hand to mail themselves, rather than the service mail for them?

Just thought of this: What if they went through the service, had a "sample" of their finished invite sent to them, and once they approve, then the service could send out the individual invitations. Printing just one custom invitation for each customer might be problematic, though. But something to think about, indeed.

<comment><USER14> Cocodot already does this cheap wedding invite idea well.

</comment></comment></comment><comment><USER15> The market for this sort of thing strikes me as very similar to the market for patio11's Bingo Card Creator: competitive adwords environment, heavy value in A | B testing to get conversion rates as high as possible, a TON of single use customers, and a slow, almost linear growth rate.

...he might be a good person from whom to ask an opinion.

<comment><USER9> Will do, thanks for letting me know.

</comment></comment><comment><USER16> As someone getting married Saturday, I can say that this would be a GREAT idea. The ridiculous amount of money we sank in to invitations really rubbed me the wrong way.

Also, something I noticed when we were going through all of this was the RSVP process is broke. Even if you provide a pre-addressed + stamped post card with a checkbox on it, people still don't respond. I thought about some sort of barcode that can read by smart phones, that auto magically directs to a web site (or they can go to it manually). Either way, you get the idea.

Just some thoughts, but I would most definitely look at the RSVP industry too.

<comment><USER17> I agree that the RSVP process is broken, nobody responds! Short of actually going to their house and putting the card in the mail, I don't think we could have done anything to make it easier for people. My other thought here is more of a life-hack. Put a meal choice on the RSVP card. Nobody cares if you know they're coming, but they'd better get that steak they ordered! :)

</comment></comment><comment><USER9> This is Tracy (@limedaring), if there are any questions, can also let me know on here. If you're interested, I'm in the Bay Area and will travel to meet people over coffee/lunch!

<comment><USER18> People really use wedding invitations printed from their home printer? I would think no girl would stand for that =x

I probably don't know what the hell I'm talking about, but wouldn't it be a better play to integrate (somehow) with a printing company? Or offer an export option that they can take to a local printer (as in the correct file format .eps, pantone color numbers, or what not).

Sorry if I am completely ignorant to the wedding invitations scene but I would think every girl deserves nice invitations _and_ the _convenience_ of a one- stop-online-shop.

Hmm maybe crowdsourced invitation designs.. ala threadless.com ?

<comment><USER19> As a technical person who spent too much on wedding invitations at the last minute, I do think that integration with a printing company would be the killer feature.

Without the printing I would think of this as more of toy than something that would be truly disruptive. One could charge much larger prices for this service with printing and still be competitive especially when factoring in design selection and ease of use.

<comment><USER20> _As a technical person who spent too much on wedding invitations at the last minute, I do think that integration with a printing company would be the killer feature._

Moreover, I worry that launching _without_ a printing service would be a business-killing misfeature. It sets the wrong tone (nobody wants to have their own invites printed) from which it may be hard to recover.

I recognise the founder's desire to handle this in small chunks, but printing... I dunno, I wouldn't look twice without it.

<comment><USER21> Picwing might be able to help on advice for this. Their photo quality is AMAZING. Anyone know how they did it?

</comment></comment></comment></comment></comment><comment><USER22> We had similarly high aspirations when launching our wedding business, <http://trulyweddingfavors.com>. Your post brings me back to the enthusiasm we had for disrupting the wedding industry. As a web application developer myself, I was looking for an industry that I felt we'd have an edge in, and wedding products/services seemed to be dominated by the technical and design challenged.

We have been successful in a general sense, generating about $350k in revenue at the end of our first year. After reaching this point, we realized the marketing game was where the real successes and failures were determined. In the wedding business, your customers won't look for you until that very moment they need your product, during the planning stages of a wedding. If your ad or search listing isn't in the top X, all the creativity in the world won't matter.

We continue operating <http://trulyweddingfavors.com> at a healthy margin, but are focused on innovating in other markets with more viral potential.

If there's one tip I could offer: read "the e-myth" ;)

[http://www.amazon.com/E-Myth-Revisited-Small-Businesses- Abou...](http://www.amazon.com/E-Myth-Revisited-Small-Businesses- About/dp/0887307280/ref=sr_1_1?ie=UTF8&s=books&qid=1280308366&sr=8-1)

</comment><comment><USER23> Interested in your idea, but having zero experience with that market, I did a quick google and it seems like there is a lot of competition (10+ in <5min of searching) with your exact idea.

Other than your competition not having you as the designer, or appealing to the tiny budget crowd (though, several did look similarly priced) - how would you stand above the existing options?

<comment><USER9> Can you post the competitors, so I can explain how I am different?

</comment></comment><comment><USER24> I'm not looking to shoot you down, but I have some thoughts you might want to consider.

You are not going to disrupt the industry by providing a pdf for a cheap price, you are going to be working twice as hard for half the pay. Right now you may have 25 design templates ready to go, how many will you need next month?

How many hours will that take?

Are those billable hours?

You are making the design choices easy. Concentrate on that.

Instead of looking through a huge binder of printed samples, the bride to be can look at a website and get a design made simply, without the usual headaches to the designer.

Hopefully the pdf you provide will be easy to preflight and prepress, because a lot of your customers are going to end up taking it to a real printer after they see the results they get at home. That can be an additional profit center for you, if you are willing to charge what your time is worth for anything other than what gets generated by the templates.

There are not huge profit margins in most printing, even though letterpress commands high prices, the process is very labor intensive, and that wonderful Crane Lettra paper is expensive.

Don't forget that part of the final price of an invitation set is how much of a bridezilla the designer and printer had to deal with.

Finally, take a look at etsy, lot of wedding invitations there for cheap prices.

Not to be self promoting, but I am in the printing industry, digital, offset, and letterpress.

Good luck, I think you have the germ of a good idea, but you will have some refining ahead of you.

</comment><comment><USER25> The biggest question is this: Have you actually done a calculation to see if your market is big enough? Will you reach enough wedding people, particular considering that people only wed once or twice in their lifetime?

<comment><USER26> Good question. With a birth rate of about 3.5 million people per year in the US, assuming everyone gets married once (a rough estimate), and there are two people per marriage (a less rough estimate), that should work out at 1.7 million marriages a year. Even if you can charge every one of 'em twenty-five bucks for printing then that's only $45 million a year. At more realistic market shares you're not looking at huge money.

But I guess you could easily expand horizontally into _other_ parts of the wedding-planning process once you get your foot in the door with the invitations thing. That's where the big money starts flowing.

<comment><USER9> Yes, exactly. Moving into Moo.com like printing, offering templates through the site, licensing or partnering with template makers should increase the revenue available.

<comment><USER25> But there are only 2.1 million events, and you'll only reach a small percentage of these. Even if you maximise the revenue you receive from each marriage, it won't be much unless you absolutely and totally dominate the wedding scene, which will be a difficult thing to do because your recommendations path is poor.

I.e, if you randomly get a customer, he cannot recommend you because he may not know anyone getting married at the time, and when another person gets married, it may be too distant in time for him to remember you.

Your biggest problem is market, and you should explain it properly.

<comment><USER26> 2.1 million events per year. The average cost is something like $20K according to five seconds' googling (sounds high for an average, but let's go with it). That's a $42 billion a year industry. There's a _lot_ of people already making a _lot_ of money by servicing this industry.

Oh, and there's a whole publishing industry devoted to bridal magazines and websites, so it's _reasonably_ easy to reach your target market if you have an advertising budget. Difficult to bootstrap though.

<comment><USER27> Given that I know several people who spent less than $1K on their wedding (and indirectly one who spent by all estimates over $200K) imagine that that $20K number has pretty huge variance. The really interesting number I'd want to know is how many weddings cost more than, say, $15K.

</comment></comment></comment></comment></comment></comment><comment><USER28> I cannot contradict the naysayers' warnings about marketing costs. However, the cost to build, launch, and test the marketing of this project is absurdly low. You're only generating a PDF! So, the warnings are meaningless.

I support you to build and launch the thing and then see what works! Go for it! And best of luck. The wedding industry deserves a good thumping.

</comment><comment><USER29> My fiancee and I are technical, and almost all of our guests (of all ages) have email, so we chose to use Paperless Post:

<http://www.paperlesspost.com>

I think paper invitations will start losing market share to email - it's more convenient, and spreads virally to your unmarried guests.

<comment><USER9> A small portion of people might start going to email, but paper post still has a lot of value. I love receiving letters and cards from friends, and wedding invitations are a piece of art to announce an important celebration. They're valuable, and will continue to be in a way that email will never replicate.

</comment></comment><comment><USER30> Our wedding invitations were the cheapest part of the whole project. We hardly gave it a thought.

If you really want to disrupt the wedding industry, make a search engine for the venues. My wife and I spent weeks driving around the Bay Area looking at restaurants, wineries, and meeting halls to find out open dates, prices, menus, restrictions, etc. I would have loved a single site listing _everything_ and searchable by all those parameters.

BTW, make sure to use non-toxic adhesive on the envelopes.

</comment><comment><USER31> I'm sure there is a niche for this service, but this is a disruption of a do- it-yourself (cheap but ugly) wedding invitation kit market rather than "the wedding industry".

</comment><comment><USER32> I wish someone would disrupt the wedding industry itself and offer really nice, all-in-one, low price wedding services (including banquet hall, etc.) There is really no need for all of the insanity that goes on around planning a wedding. You should just be able to pick a date, food options, a decor scheme, music, and clothes to rent in an afternoon for a range of prices (with financing). I've seen some Korean wedding places like this, but nothing big. While there are many people that wouldn't appeal to, I would think there are many more for whom it would appeal to in the disruptive innovation sense.

<comment><USER33> They'd probably call it a McWedding and not authentic. Look at the diamond people - the whole thin is a racket around this "love" thing.

<comment><USER34> Damn, how do you disrupt the diamond industry. That would be awesome.

<comment><USER35> If murdering children across two continents doesn't do it, I don't know what will. For my part, the only diamonds I'll buy will be on a saw blade or drill bit.

<comment><USER34> Ha, the truth is you can murder as many people you want, as long as it happens far away so that the average consumer can forget all about it.

If not the chocolate companies would have had to stop by coca from farms with child slaves, and people would have to stop visiting trafficked prostitutes. Hint: they won't.

</comment></comment></comment></comment></comment><comment><USER36> Fascinating thread. As a co-founder of a company in the wedding space (shinyorb.com) and having gone through the wedding planning process myself, I think there is definitely a need here!

Thought I'd throw in my $0.02 about customer acquisition to address some other people's points about this space. While it is true that consumers in the wedding area are one-time consumers, there are plenty of ways to market besides AdWords. You could easily offer incentives to your current customers for referring friends. For example, marking up a product by 2x and giving people a 50% cut or rebate for referring a friend works wonders for many businesses.

Echoing someone else's concern though, I'd be worried about how much I would need to fight with my printer. Certain kinds of card stock would probably be a nightmare to deal with. Not knowing much about printing, are there certain things that can be done to make the DIY printing process easier? E.g. Limit to 8.5 x 11 PDFs to make printing easier or recommend certain kinds of card stock or brands of paper that would work best? (heck, that could even be another revenue stream: either affiliate or selling actual paper/card stock) Etc...

I applaud you for going for it -- it's a good idea. I signed up for your mailing list. Let's see if we can work together...

</comment><comment><USER37> It's already being done. I got an invitation to a friend's wedding via this service:

<http://www.paperlesspost.com/>

<comment><USER37> Actually, those guys send virtual invitations; you are going to print them out. So not the same thing. But similar in trying to undercut high-priced competitors.

</comment></comment><comment><USER38> _"... My goal is to get this out really fast and start making revenue from the start ... The wedding industry is huge, overpriced, and with insane profit margins. I'm looking to disrupt it with WeddingType ..."_

In a startup I've worked in they had a _"wedding"_ section to the sight allowing guest lists, gift ordering, vouchers and the like. Some of the things I observed that seemed to matter included:

\- reputation: nobody wants to be screwed around on 'their' one day

\- reliability: as above

\- customer service: tech must have a human face as that's what is expected (or if things get screwed up you need to be able to re-assure by person - somehow)

\- design: high quality design (visual & user) is expected

It would be good to think of it this way. If you are building a service users expect a level of experience. When they walk into a physical store supplying a service, there is a high level of kerbside appeal. [0] Failure in appearing to be able to do a good job & doing a good job will quickly kill your user base. No bride wants something that appears cheap, rather something that looks & behaves greater than the value paid.

Making the experience for the user good, making money fast is one problem to overcome. I also question the "insane" profit margins assumption. Test it.

Observations: Having said that there is plenty of areas in the wedding industry to interrupt. You can try from the person angle - ie: registry and associated people (social) or the services angle (the stuff people having weddings want to do). Matching the wedding to service is something I see a lot online albeit using blogs. Having said that it's the services that are making the money - but is it what people need?

[0] [http://www.psychologytoday.com/blog/spycatcher/201003/your-n...](http://www.psychologytoday.com/blog/spycatcher/201003/your- nonverbal-curbside-appeal)

</comment><comment><USER39> Sounds Interesting, have you thought about making an arrangement with some printing service to print the cards so the users can basically design, checkout and order professional printing at low charges from your site, although keeping it optional for users.

I would go a step further and outsource the printing, take for instance Indian wedding cards, they are elaborate and usually have multiple pages and cost less than a dollar.

</comment><comment><USER40> A homeprinted card will still have to be decorated and perfectioned beyond death by your soon to be wife.

You might save a buck. We made all our card by hand. I still hate myself for doing that. But I still don't really see what you're providing here? A design for the cards? Suggestion of text?

I have openoffice and the interweb full of fonts, and I googled much of the text.

</comment><comment><USER41> As a point of reference, I did print-your-own wedding invites. Bought them at Michaels. Just use a text editor and a swirly font, then run them through your home printer. We actually got compliments on them and I think they were less than $1 per...plus about an hour total to write up the invite and print it out 60 times.

</comment><comment><USER42> The simplicity of charging someone for a PDF is beautiful!

The pdf file really has some value in it (content, layout, typography, instructions for printing?, etc.), but ultimately boils down to a scalable automated process.

How much would Moo.com charge us if we were to use them as the \to paper backend?

</comment><comment><USER43> You should focus on having the coolest invitations, rather than focusing on having a lower price.

</comment><comment><USER44> We used <http://www.weddingpaperdivas.com/> and while it was higher than your price point, they have a great app and quality finished product. You could probably learn a bit from what they're doing.

</comment><comment><USER45> This is an interesting concept since my fiancee and I have been working on our invitation for our upcoming wedding. Its a hard task but it is actually kind of fun.

Our design discussions revolve a lot around what Jobs/Ive would do if he had to design it :)

</comment><comment><USER46> The wedding industry is ripe for disruption...

My thoughts were more on the registry side of things - a $12 Billion industry => <http://news.ycombinator.com/item?id=1541767>

</comment><comment><USER47> Almost completely OT, but looking at limedarling's linkedin, I was pleasantly surprised to see 'Grails' referenced as something she's working at bring proficient in. Thanks LD - you made my day :)

</comment><comment><USER48> If you're not aware of minted.com, look into them. They'd be a competitor. They run a similar service, but they require you use their printing services, rather than just releasing it as a PDF.

</comment><comment><USER49> Have you seen <http://scrapblog.com/>

It's essentially what I imagine your idea is, but across many verticals, including wedding prints.

</comment><comment><USER50> Good luck. If there is an industry out there that deserves to be disrupted, it's the wedding industry.

</comment><comment><USER51> Nice idea. We can never have too much disruptive ideas. Wish you find your cofounder.

<comment><USER9> Thanks! <3

</comment></comment><comment><USER52> Being more disrupting, What about doing wedding invitations entirely online?

</comment><comment><USER53> This is a fantastic idea and I love disruptive companies.

I wish you all the best.

</comment><comment><USER54> Email sent (from San Luis Obispo no less)

</comment><comment><USER55> Cool stuff. But seriously I need you to move to new york :) So few startups here, I blame you, the people coming up with ideas in California.

I worry about your business model though. It seems nice to be able to safe a thousand or more dollars on wedding invitations BUT here are the problems:

1) When a wedding costs 25k, saving 50-500 bucks on an invitation is going to be looked at as stupid, and cheap. You want the one that takes the most hassle out of it.

2) A big part of the invitations is the printing/mailing. If only the design was the only factor.

3) Often catering halls (im from new york) will do everything from getting the place, getting the catering, getting the flowers, getting the invitations and sending them out, its a full-blown package.

The real way to go about this is to have people design their invitations in an awesome way quickly before their wedding, get hooked to it, and already have that in mind. Makes it less of a headache for them, and sells your product.</comment>


REST or GraphQL? A Simple Answer - <AUTHOR> https://medium.com/@brillout/rest-or-graphql-a-simple-answer-fbd8dd2b0486 <comment><AUTHOR> Author here. Let me know if you have questions.

<comment><USER2> It's not really an answer, though, is it?

While I appreciate your argument and your intention, you don't make your case strongly enough, nor do you make it all rigorously enough, and most importantly you lean too heavily into a false binary as rhetorical device (we all know it is a false binary, by playing this game in your headline you are deliberately not answering the question you proposed).

First of all, the way that I see it, you invite the immediate question of "which RPC?" as there are many conflicting standards (and it does not help the discussion that the one you suggest isn't even a well recognized cross- platform standard such as gRPC or SOAP). So rather than pick between two directly competing standards as your headline suggests, you simply open Pandora's Box with "but there's a third option, and it's full of more options".

Beyond that though, one particular thing to point out is that both REST and GraphQL themselves are responses to RPC, and you neither take that into account nor address it:

1\. Much early REST advocacy was an intentional rejection of the growing influence of RPC standards like SOAP (and its extended WS-* family).

2\. GraphQL itself is heavily RPC influenced (in mutators especially, but it drives several parts of the language/engines), while trying to also avoid the mistakes of things like SOAP and some of the over-correction away from RPC of things like REST. It tries to hit a sweet spot between REST, RPC, and query language. Whether you think it succeeds or not as an RPC language (or hitting that sweet spot anywhere near close to your own heart), it fits the basic definition of an RPC language, and so your "third option" isn't even an exclusive-or, but a complicated overlap in the Venn diagram.

Anyway, I hope the criticism helps you explore your arguments further, and maybe helps push you to be a better writer.

<comment><AUTHOR> You're right, it's not an answer.

My goal is to rise awareness that RPC should be the default choice when creating an API.

> REST and GraphQL themselves are responses to RPC, and you neither take that > into account nor address it

REST was introduced in 2000, jQuery in 2006, the iPhone in 2007, React in 2013. My point: API had different goals when REST was introduced. In 2000, we didn't have mobile frontends nor dynamic browser frontends. There was little need for frontend-backend communication.

For an API that was meant to be consumed by third-party developers in 2000, REST was an excellent choice.

But, today, to communicate between a backend and a modern frontend, RPC is most of the time the better choice.

> you simply open Pandora's Box with "but there's a third option, and it's > full of more options".

I disagree with that.

It's pretty clear:

\- For an API between a Node.js backend and a browser frontend, Wildcard API offers a super simple RPC solution.

\- For an API between a python/go/java/... backend and a browser/mobile frontend, create custom JSON server endpoints.

\- For communicating between backend services, use gRPC.

I don't see many use cases where you'd need something beyond what I just mentioned. Maybe I'm missing on some important use cases?

I'd recommend against using JSON-RPC. (Using JSON-RPC requires you to implement too much non-standard stuff that will only exist within your company). I'd recommend gRPC instead.

The problem with RPC is that people are not familiar with it. It may seem "complicated" at first because people are not proficient with it. But, and that's what I'm trying to show with my Wildcard API project, RPC is actually super simple. Fundamentally, RPC is simply about defining a function in one env and calling it remotely from a different env, that's super simple.

That said, RPC is no good if your API is meant to be consumed by third-party developers. In that case you need to create a generic API with REST or GraphQL. (Although my prediction is that RPC will eventually also become a viable option for third-party devS in the future... basically by introducing a schema to RPC... but that's a whole different topic.)

<comment><USER2> > The problem with RPC is that people are not familiar with it.

Your response seems to indicate to me that _you_ are not familiar with it to know its downsides or long, complicated history. RPC as a concept dates back to the beginnings of inter-process communication in the 60s and has an equally long history in network communications.

There's always been a pendulum swinging between tightly coupled RPC standards and loosely coupled data interchange standards (or one made from the other in all sorts of combinations). It's a fact of software development life since essentially the dawn of the industry.

It's the "tightly coupled" part of RPC that caused REST to be evangelized over SOAP, an XML-based RPC standard. It's the "tightly coupled" part that GraphQL tries to balance in its looser query syntax embedded in its RPC dialect.

There's nothing wrong with "tightly coupled", just know that it is a trade off. You almost seem to realize it in your realizations that RPC is complicated when working with third party developers. You are almost close to the enlightenment of why REST became so popular and SOAP faded away.

> basically by introducing a schema to RPC

COM has IDL. SOAP has WSDL. gRPC has proto files. GraphQL has its schema language. These wheels have been invented many times, it might be useful to research some of them if you wish to further discuss RPC.

ETA: Which is not meant to discourage you, I want to encourage you to learn more. It's not wrong that you don't know these things, it's an opportunity, and I really do hope you explore it.

<comment><AUTHOR> The most fundamental difference between RPC and REST/GraphQL is that RPC is schemaless whereas a RESTful or GraphQL API has a schema.

The whole point of a schema is to have a _generic_ API. Whereas with RPC and any other schemaless approach such as SOAP, you are essentially building a custom API that is only usable for _your_ clients.

That's precisely the reason why RPC is not usable to create an API that is meant to be used by third party devS.

Third party devS need a generic API. That's the point.

Also, a generic API decouples whereas a custom API tightly couples.

WSDL is actually _only_ describing the API - it's not defining a schema. So SOAP is not and was never usable for a third-parties. Same for gRPC's proto files.

I do appreciate your encouragement but I don't see where I _concretely_ am missing out on something important. You simply state that I'm lacking knowledge without ever _concretely_ showing the flaws of Wildcard.

> You are almost close to the enlightenment

That's just not very helpful. You are telling me that I'm missing an important point without telling what it is I'm missing.

I'd love to be shown wrong. You would for sure save me a lot of effort if you'd pin point my lack of knowledge.

For a Node.js backend and a browser frontend, what exactly is the problem with Wildcard API? ([https://github.com/reframejs/wildcard- api](https://github.com/reframejs/wildcard-api)). As long as you don't have third-parties consuming your API, I'd say that Wildcard is superior to GraphQL and REST >95% of the time. Especially when using Wildcard with TypeScript.

> There's always been a pendulum swinging between tightly coupled RPC > standards and loosely coupled data interchange standards (or one made from > the other in all sorts of combinations). It's a fact of software development > life since essentially the dawn of the industry.

Interesting. I've not been a programmer long enough to know all that :-).

Thanks for you reply, I truly appreciate it.</comment></comment></comment></comment></comment>


Effectiveness of 222-Nm UV Light on Disinfecting SARS-CoV-2 - <AUTHOR> https://www.ajicjournal.org/article/S0196-6553(20)30809-9/fulltext <comment><USER2> > One and 3 mJ/cm2 of 222 nm UVC irradiation (0.1 mW/cm2 for 10 and 30 s) > resulted in 88.5 and 99.7% reduction of viable SARS-CoV-2 based on the > TCID50 assay, respectively.

30 seconds for 99.7% reduction. Pretty good for shining a light.</comment>


Larry Page: Where's Google going next? TED video - <AUTHOR> https://www.ted.com/talks/larry_page_where_s_google_going_next# <comment><AUTHOR> or youtube [https://www.youtube.com/watch?v=mArrNRWQEso](https://www.youtube.com/watch?v=mArrNRWQEso)</comment>


Introduction to Precision Farming - <AUTHOR> http://blog.regehr.org/archives/1446 <comment><USER2> I wonder if any of these farming tasks would be more efficient with a swarm of mass-produced drones with the right software. Does farming currently use such large, expensive equipment because it leverages the attention of the operator, or because there are actual economies of mechanical scale?

</comment><comment><USER3> Super interesting stuff . Farmlogs is another related example - [https://farmlogs.com/](https://farmlogs.com/)

</comment><comment><USER4> >Agriculture and technology have been intimately connected for most of human history

Except humans didn't do agriculture for most of human history. To be fair the UK farming minister said much the same thing a couple of weeks ago, which is kind of worse!

<comment><USER5> "History" by definition is specific to events _during the era of written language_ , so the author's usage is correct.

<comment><USER6> I adjusted the text a bit anyhow.

</comment></comment></comment><comment><USER7> very informative. i am curious to know if the differences in yield/soil conditions before/after adopting no-till practices had been documented. the study of such a comparison must be a fun revelation.

at this size, i am assuming the tractor uses a crimper-roller? is the farm organic?

</comment><comment><USER8> Good stuff. I have FB friends that are farmers who should appreciate this. Thanks for sharing!

</comment><comment><USER9> How prevalent is this ? in the US; in other countries.

</comment><comment><USER10> Farming data viz, that's really neat</comment>


Why the news business will survive the Internet age - <AUTHOR> http://www.economist.com/businessfinance/displayStory.cfm?story_id=15108618&source=hptextfeature

<comment><USER2> papers have survived radio, tv and cable, too.

<comment><USER3> papers probably won't survive but news will.</comment></comment>


Ask HN: Lawyer with 200k and Side BusinessCareer Moves - <AUTHOR> I'm working as a lawyer in London. I have a side business that generates 200k a year in profits (takes about 7-10 hours a week of work).
I find the law boring. My focus has been on commercial contracts - i.e drafting, advising and reading contracts.
On paper, I have strong experience - Big law firm, worked under a now Supreme Court Judge, worked at a private equity firm.
My area of business is slow, boring and unsexy.
Do you think I should quit and focus on growing my business? Or would it be a waste of my legal experience. <comment><USER2> Quit the dull, boring day job and focus on your business full time. If you want to use your legal experience create a side business that uses it that takes a small amount of time to operate. There is no point going to a boring regular day job that you do not enjoy when you have a successful business of your own that is profitable that you enjoy.

Staying in a job that is boring leads to mental illness, depression and the inevitable burn out. The big downside of staying is when your burnout or snap time comes everyone else would have seen it coming except for you which might burn some bridges if your burn out in a bad way. I would suggest making changes so you can move away from the day job that you do not like so you can enjoy the side business your created and turn it into your main business. Since you only have to use 7 to 10 hours now to operate it, then it is not even a day job and pretty well off when compared to the regular side business.</comment>


Clear: doing for To Do lists what Dropbox did for file syncing - <AUTHOR> http://www.elezea.com/2012/02/clear-app-review/

<comment><USER2> I feel like there's a massive PR campaign to get us to check out this app, which is seemingly a yet another todo list without any kind of syncing (which automatically means I won't even bother checking it out). Can someone who did buy the app say whether the hype is justified?

<comment><USER3> Agreed.

Requirements for any todo app I'd use:

* Sync across all devices and computers

* Desktop version

<comment><USER4> Requirements for any todo app, and specially for one that claims to be the "Dropbox of todo lists"

</comment></comment></comment><comment><USER5> 1\. There is a focus on the design of the app. The App didn't change what To Do lists are. It implemented them with a fancy interface imitating a gradient metro style.

2\. Dropbox is about simplicity and syncing. Simplicity, we are can argue. But where is the syncing? It syncs with what? How? I don't bother with an app that don't sync to the cloud. But don't compare to DropBox. Misleading title.

To-Do lists are broken. If many people have agreed (me included) that they don't work for them, so re-inventing them is useless. We need something different, focused more on the long term growth rather than killing tasks.

I'm using an Excel spreadsheet that records my performance as a Stock Index. I follow the stock and update with real values (perceived values of productivity and real work getting done). I'm looking for patterns to sync between perceived achievements and the stock indexes. I might work an App for that.

<comment><USER6> > To-Do lists are broken

mine isn't. I have a whiteboard with magnetic white strips that I can reorder. Each strip with it's own task.

"if only I had an amazing to-do list app, then I'd get stuff done". No, you wouldn't. No matter how good the app is, it will never actually do the task for you. That's the part that needs solving, the actual doing part. If you're good at doing, then you'll nuke a to-do list in any format.

Unless you hook my to-do list into something like task-rabbit where a "clean the car" task magically happens after I confirmed a $20 premium at the time of adding the task, then I don't think that changing the way I input and reorder tasks is going to make a difference to be me being lazy.

<comment><USER5> I do the same thing, but it rather manages my current time and the short term of things. It's work-focused too. It won't remember you for example, that little task, when you are driving.

<comment><USER6> Mine is mostly work focused too. i always found that if I forget a task while I'm out, then I'd equally forget to look on my phone for outstanding tasks.

Shopping lists are just pen/paper. And if it's important enough, I trust my brain with the info :)

I guess the only other case is google calendar alerts for time sensitive to- dos like "cancel LoveFilm subscription by today"...

</comment></comment></comment></comment><comment><USER7> Dropbox takes something hard and makes it easy.

A to-do list is already easy.

</comment><comment><USER8> My todo list is a text file in Dropbox, edited on mobile with plaintext :)

<comment><USER9> For some reason my iOS device can't edit a .txt file from Dropbox... silly :( Evernote for me.

<comment><USER10> Plaintext works fine. There was a bug with text files from windows causing it to crash. Make sure the text file is unix/macos format (end of line difference).

<comment><USER9> Thanks for the recommendation, I'll grab that application. Seems silly to me that the Dropbox app doesn't contain that feature as standard.

</comment></comment></comment></comment><comment><USER11> Actually, I hated the design.

The vertical pinch is awkward and if you try a horizontal or diagonal pinch (which is more natural) then it deletes or completes a task. Also, scrolling up too quickly suddenly puts you in new task mode.

And while there's some innovation (or experimentation) with the user interaction, there's been no real innovation which how a todo list should function. In this respect, I much prefer TeuxDeux. It's still clean and unfettered by tags and descriptions etc but adding tasks to particular days gives you a really good overview of you day/week. It also removes the resistance when you start the day because you're not thinking "what shall I work on today" or "what shall I cherrypick from this humongous list".

</comment><comment><USER12> I wish more apps would get out of their own way and employ standard UIKit. I'm all for experimenting with UI on a new-ish platform like iOS, but the amount of parallel energy expended on checklist UIs is just depressing to me – esp. when the standard Cocoa libraries are more than adequate. There are just so many cases where turning the UI upside down is counterproductive.

<comment><USER13> ...but then it would be just like an iOS todo list tutorial app

</comment></comment><comment><USER14> "Clear feels a lot more Metro than iOS. Not that that's bad." - @agnoster

I find that a very insightful remark. I always did like Metro's UI "feel" - simple and sleek with clear edges and clean colors on a black background. Clear is a near-perfect execution of that concept. Very inspiring stuff.

</comment><comment><USER15> The responsiveness is great, and the interface is nice, but the fact that you have to create all lists on the device is a significant limitation.

This is where Trello, Evernote, etc. have an advantage - it's a lot easier for me to make a large list (like a grocery list) on a PC via a website, and then just use my phone or whatever while I'm shopping or for minor edits.

</comment><comment><USER16> It's definitely fun to use, but since it's gotten such glowing press, I'll be a negative nancy and point out the flaws :).

The biggest one is that it's hard or impossible to do a few important things with the same hand that's holding the phone. The pinch-open gesture can be worked around by adding and rearranging items, but the pinch-close gesture (to go up a level) is pretty near impossible.

The other rookie mistake is that because eight items fit precisely on the screen, you can't tell if there are more items below the fold without trying to scroll (and they don't flash the scroll indicators when the list appears).

Finally, it would be nice if there were a setting to show the status bar. I might want to know what time it is while I'm organizing my to-do list.

</comment><comment><USER17> Does this sync data over icloud or some other cloud? Would this integrate with my iphone or ical?

If it's only a mobile tool. It becomes very limited.

It's difficult to build a great interface but even harder to build a great product.

</comment><comment><USER18> Ambiguous headlines: Doing for readers what George Bush did for the world

</comment><comment><USER19> There is atleast half a dozen TODO apps on the store that are superior. TODO.txt Pocket Lists Wunderlist Producteev.. I am sure there are another 50 that I never heard off.

</comment><comment><USER20> Having gone back to Things after walking in the ToDo wilderness for a year or two (the lack of cloud sync was killing me), it seems to me that there is a necessary complexity to _real_ ToDo list organization which Things' GTD- inspired interface does very well.

The main distinction is that you really have to have a way of saying "These are the tasks for today" or "These are the tasks I can do now" and _clear out the other ones_. Too many of these new ToDo lists create a sort of productivity anxiety, shouting in your face ToDo items which are not completable yet, or not feasibly completable today.

I haven't found an app which decently replicates Things' Today view, where ToDo items you said you'd do Today appear, and if you can't do them, you just click "Not Today" and they'll come back tomorrow (or you can schedule them if you have a better date idea).

I'm now in the Things Cloud Sync beta, and can't talk about it due to an NDA, but cloud sync for Things is coming, and it'll be great when it arrives.

<comment><USER21> I use Trello like this. I have a list marked "To do (unplanned)", "To do (this week)", "Doing (today)", "Done (yyyy-mm-dd)".

At the end of each week I archive the last list and shuffle items around depending on what happened that week.

</comment></comment><comment><USER22> I'm not a big fan of gestures _purely_ to control or input to an app - gestures are not discoverable at all by new users. Looking at this page I see that a lot of things are only (?) controllable by a big list of gestures I have to remember. I pretty much closed the page right there - I'll stick to the Reminders app and my text-file list in Simplenote, thanks.

<comment><USER23> I've personally been very surprised at the lack of restraint some people have with regard to gestures. Gestures are nice and all but as you said, they're hardly discoverable. People make the claim that gestures are intuitive, but aside from he native pinch, pull and swipes, gestures are hardly that.

</comment></comment><comment><USER24> The app offers nothing except gesture when compare with Reminders.

</comment><comment><USER25> Some are calling this the future of interfaces. As a designer, I'm curious as to how you would prototype these interactions. Are there tools out there that could do this? Seems to me you need to have out of this world design and development skills to bring this from idea to app.

<comment><USER26> I really can't immagine that hidden non-standard gestures ever becoming the future of interfaces. Its beautiful, but wtf how am I supposed to remember how to use it?

</comment></comment><comment><USER27> Why not use a pen on the back of an envelope?

I suspect that searching for the perfect to-do app is a _displacement activity_.

<http://c2.com/cgi/wiki?DisplacementActivity>

</comment><comment><USER28> Though I'm blown away by it's simplicity, design and speed, Clear's biggest challenge (beyond syncing) is intuitiveness. You can read my thoughts about the app on Quora at [http://www.quora.com/Clear-iPhone-app/How-could-the- Clear-iP...](http://www.quora.com/Clear-iPhone-app/How-could-the-Clear-iPhone- app-be-improved/answer/Luke-Bornheimer)

tl;dr Almost nothing is intuitive and the interface will be jarring/polarizing to the (average) user.

</comment><comment><USER29> Any.DO is an excellent alternative with a similar UX-oriented approach. It also syncs with Google Tasks. iOS, Android and web.

</comment><comment><USER30> Direct link to the App home page: <http://www.realmacsoftware.com/clear/>

</comment><comment><USER31> Evernote already did that.

This is a nifty UI feature that the Evernote guys can add to their iPhone app, if they want to...

</comment><comment><USER32> I played with it last night. The UI is really intuitive and the model makes sense - worth a dollar.

</comment><comment><USER33> Stay Useful fills this niche for me _and_ stays in sync with my iPhone and Chrome browsers.

</comment><comment><USER34> Why do I get the feeling that this stupid little app is going to keep being shoved in my face?

</comment><comment><USER35> It looks pretty, but, honestly, I can't see it getting me to leave OmniFocus.

</comment><comment><USER36> Except Dropbox is multiplatform, which is essential to its success imo.

</comment><comment><USER37> I like it. Seems doable in HTML/js, I might work on a clone.

</comment><comment><USER38> Talking about Dropbox, dropbox syncing would be good, no?

</comment><comment><USER39> Why is it better than Wunderlist?

</comment><comment><USER40> i just hate the theme, perhaps just me.

</comment><comment><USER41> Why does every damn developer have to make a todo list application nowadays?

The "hot app" lately has been these supposed productivity apps, e.g. Wunderlist, Evernote, Clear, Document Cloud, kippt, ...

It's getting a little tiring :(

<comment><USER42> Document Cloud doesn't strike me as a "productivity app", at least not in the same vein as Evernote and Wunderlist (not familiar with Clear or kippt). As far as I know, it doesn't incorporate "to do" functionality at all. It's targeted at journalists and (presumably) provides real value by helping analyze, research and annotate supporting documents.

<comment><USER41> I stand corrected, what they're doing is pretty cool. I was under the impression that it was just an application to save highlighted passages from articles but after poking around it's obvious that it's much more.

</comment></comment></comment><comment><USER43> If every company had 'creating an internal to-do list app' as its number one (and initially only, for obvious reasons) priority, then we would soon end up with a natural "survival of the fittest" scenario. Pretty soon there would be a victorious company with a to-do list app the likes of which the world has never known. The minute they make that public, we will have a productivity singularity. I would pay five thousand dollars for that winning app: the to-do list app behind the next Google or Facebook. /s</comment>


Need Caffeine? Find coffee places near you (my first hack) - <AUTHOR> http://www.infinitecoffee.co

<comment><USER2> Nice...I'm still working on my first hack.

How did you go about building it?

<comment><AUTHOR> I put a google maps iframe embed with coffee and terrain view selected in an html file with the header and added some css styles. Then loaded it them up to godaddy's ftp and host for the domain.

</comment></comment><comment><USER3> Annoying that scrolling doesn't zoom

<comment><AUTHOR> switch to the Earth tab and scroll zoom as much as you want!

</comment></comment><comment><USER4> Very good, sir!</comment>


"Sexy" Sells - I have the Stats to Prove It - <AUTHOR> http://www.reynoldsftw.com/2009/04/sexy-sells-i-have-the-stats-to-prove-it/

<comment><USER2> We used to take the picture approach on one of our blogs because it helped traffic so much. Certain posts would include pictures of scantily-clad cheerleaders for some team that was involved in the post (the ones with under- boob were my favorite). That is, until one of our partner sites decided they were going to stop doing business with us if we didn't take them down. Moral: Be on the lookout for uptight suits ready to ruin your sexy selling!

</comment><comment><USER3> So you got more views, which is nice, but I'm also interested in downloads, feedback, usage, etc..

Perhaps the people who clicked through were disappointed by the lack of actual "Sexy" and instead you just used more bandwidth with no real conversion difference.

Not hating on your combo box, it looks quite polished.

<comment><AUTHOR> It's not my combo box... I simply linked to a developers plugin.

<comment><USER3> gotcha

</comment></comment></comment><comment><USER4> ob correlation != causation

Another hypothesis may be that the "Sexy Combo" box is the only one where a picture of the opened drop down does not appear, necessitating a visit to the actual site to see what it looks like in operation.

<comment><AUTHOR> Seeing as my traffic for this article has gone x5 over previous "popular" articles on HN with more points in a faster time, I'm pretty sure the word "Sexy" has an impact... :-)

</comment></comment><comment><USER5> This claim may not be entirely true. I think people clicked on this link because they couldn't see what it might look like when the dropdown is completely open. This plugin in question shows just the initial state of the dropdown. Whereas pictures of other plugins show how they look after user clicks on it i.e when the dropdown list is completely displayed.

</comment><comment><USER6> this was the exact thinking behind our decision to become thesixtynine.

</comment><comment><USER7> Expect "Sexy Top 10 Lists' to dominate Digg/Reddit for the next few weeks.

</comment><comment><USER8> Hmm, the article title has the word sexy in it. To vote up or not...

</comment><comment><USER9> Sexy sells? OK, but why stop there? You can get more and faster with a bank robbery.

I don't understand you people.

<comment><USER10> Watch out! It's a slipperly slope sexy to grand larceny.

<comment><USER9> You sure!!</comment></comment></comment>


Flipkart vs Infibeam : Customer Service - <AUTHOR>

I ordered a book each from Flipkart and Infibeam to test how Cash-on-delivery concept works. Instead, i saw how different these 2 companies are in terms of Customer Service. The shipping (AFLwiz) provided by Infibeam is the worst i have ever encountered. 6days and the package is still lying in AFL's center hardly 6km from my place. After numerous calls, i decided to write a post and spread the message around. Avoid infibeam. I didn't pay a dime to them (Cash on delivery) but to the ones who prepaid the amount, this is a stressful exercise.<p>http://arorarahul.com/post/5184767172/tale-of-two-bookstores-flipkart-and-infibeam <comment><AUTHOR> [Update : Infibeam does not have a proper order search mechanism. I went to their site checking my OrderID and it's showing that I haven't ordered anything in the last month. It, however, is listed on their email which was sent on April 28. No email from infibeam in ur inbox, no OrderID. Wow! ]

[Update 2 : AFLwiz, the courier service is owned by FedEx. Received a call from their head-office. They apologized for the goof-up. I appreciate it. But, no response from Infibeam yet. Even if the goof-up was because of the courier service, Infibeam is responsible for it. It is Infibeam's responsibility to track packages as well. This also comes in "Customer Satisfaction".]

[Update 3: I received a call from Infibeam. They apologized about the goof-up. Told me that shipping issues are also their responsibility. I gave my feedback that the orders that i placed was not in my account. Some tech issue i guess. Best part, I am getting the book free. Weird part, FedEx called me to tell that the delivery boy left at 11.30 and the place is 6km from my home. I guess he is coming on foot because 6 hours have passed :P]</comment>


Who's in charge at Amazon? Moves on secretive S Team signal giant's priorities - <AUTHOR> https://www.seattletimes.com/business/amazon/whos-in-charge-at-amazon-moves-on-secretive-s-team-signal-tech-giants-priorities/ <comment><USER2> One of the things I really liked about working for AWS was the accessibility of the S-team. Even as a fairly junior engineer I was in meetings where you could get their opinions, see where they were going, and understand their goals.

AWS has a lot of things I don't love (not least of all, their policy towards developing games in your spare time), but they had a ton of rigor around setting goals while still giving dev teams the opportunity to (mostly?) drive the details of what those goals were. (I've heard this is maybe not the case in all AWS teams, but I had some great local leadership as well.)

If they could fix a couple of deeply set cultural issues (open source and side projects were definitely hard or impossible), not lean quite so heavily on their employees (I was oncall 24/7 for months in the worst times and received no extra comp), and disconnect themselves from _whatever_ is going on with the retail side's treatment of labor.... Well, I'm not sure I'd come back, actually. They'd have to change quite a bit more -- the promo process, the stack ranking/"top grading" twice yearly, better benefits and comp...

But I do genuinely miss working in the AWS org. There's a lot of incredible things to learn there. While I don't see myself coming back, the lessons I learned there have been absolutely invaluable.

<comment><USER3> > Well, I'm not sure I'd come back, actually

I'm at Amazon right now (Ads) and honestly this makes me really sad. It feels like I'm not allowed to be proud of where I work.

<comment><USER4> You're certainly allowed to be proud... but others don't have to respect your career choices (and many won't, which is fine).

Personally speaking, I've had Amazon try to pull me a few times and I just stopped responding to their emails. It's a large company and I can agree that there's leagues of separation between, say, AWS and warehouse operations... but I also just don't care, I can't co-sign the kind of stuff that you hear about (and has been verified by people coming forward).

The tech industry is large enough that if you're good enough to work at Amazon, you probably have options.

My 2 cents, I guess.

<comment><USER3> I've been rejected at Google and Facebook and most of HN doesn't think my total compensation is all that impressive, so, I probably don't have many options to be real with you.

<comment><USER5> > _my goal is to make ~$250k a year as fast as possible. To do so at my > current company would take at least 3 years and 2 promotions_

Hi,

I don't want to dunk on you, but I would truly encourage you to gain some perspective on just how myopic a view this is.

(I couldn't reply to your comment below where you said this)

<comment><USER3> I don't think it's myopic if everyone I follow on twitter and see on instagram is getting Hawaiian offsites and European work trips at Google and Hudson River Trading while I can't even go to Seattle for our internal ML conference because it got filled up too quickly for the last 3 years or whatever.

I enjoy what I work on..I just wish I was treated more like all of my friends and former coworkers.

<comment><USER6> Honestly, interview around with no expectations if you haven't. You may be surprised at what else is going to be offered. I'm not going to tell you it's necessarily 400k or anything, but the variance is quite high if you're willing to relocate to, say, Seattle. An amazon resume is worth a certain amount of money, and there are other companies that will offer you things you enjoy working on too.

<comment><USER3> I've tried, but haven't gotten interviews from the companies I'm interested in. I did get a offer from a hedge fund, but it was a severe lowball (50-70% of typical offers) probably due to my interview performance.

<comment><USER7> If it was a good hedge fund, they won't offer anyone they don't rate. If they offered you because they think you're mediocre and can get you cheap - do not work for them, they're charlatans.

<comment><USER3> It was Citadel. I think Two Sigma is considered more impressive.

<comment><USER7> Citadel are certainly not charlatans. Are you sure you're not just good at what you do but have crippling imposter syndrome?</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


How to delete all your files - <AUTHOR> https://www.reddit.com/r/linux/comments/if1krd/how_to_delete_all_your_files/ <comment><USER2> Unix Haters Handbook is still surprisingly up to date.

[http://web.mit.edu/~simsong/www/ugh.pdf](http://web.mit.edu/~simsong/www/ugh.pdf) page 28 (68)

>Some Unix victims turn this filename-as-switch bug into a "feature" by keeping a file named "-i" in their directories. Type "rm *" and the shell will expand this to "rm -i filenamelist" which will, presumably, ask for confirmation before deleting each file.

<comment><USER3> Oh God that's like something I'd find on Cthulhu's computer

</comment></comment><comment><USER4> I think _Unix Wildcards Gone Wild (2014)_ [0] demonstrates and explains this rather well (posted 6 and 4 years ago[1][2] - while HN supports reposting, it's probably been posted enough)

[0]: [https://www.defensecode.com/public/DefenseCode_Unix_WildCard...](https://www.defensecode.com/public/DefenseCode_Unix_WildCards_Gone_Wild.txt) [1]: [https://news.ycombinator.com/item?id=8189968](https://news.ycombinator.com/item?id=8189968) [2]: [https://news.ycombinator.com/item?id=17376895](https://news.ycombinator.com/item?id=17376895)

<comment><USER5> Also posted 3 days ago [0].

[0] [https://news.ycombinator.com/item?id=24220503](https://news.ycombinator.com/item?id=24220503)

</comment></comment><comment><USER6> I once saw a friend nearly delete all their files using tip#3 from the thread:

> never use only * as a wildcard. A ./* would save you in most cases

My friend typod that for /* in an rm -rf command but caught it just in time. They seemed like unnecessary characters to me if it does the same as *, and I don't think they do it anymore, but now I'm not sure which is worse...

I suppose good backups just go a long way whatever you do.

<comment><USER7> I just did that last weekend!

After an allnighter, which isn't easy for me anymore, I typed:

``rm -rf. /*``

with the dot and the space reversed.

When the shell threw an error in my face, I thought, "oh, an extra dot." so I deleted the dot and re-run the command.

And there goes my configs and most of the dotfiles in my home dir. Luckily, I have backup for some of those, so it wasn't a complete disaster.

I don't trust myself doing ``rm`` in commandline anymore.

<comment><USER8> This has nothing to do with the OP, but I always rehearse my deletions with "ls -d", and after seeing the output hit the up arrow in my command history and replace it with the rm command I wanted to attempt. I also never use -r without intention - a lot of people use it habitually even when not deleting a directory. Lastly, I never -f, I just chmod first.

<comment><USER9> I tend to use the command line utility tras-cli instead for these reasons. So easy to screw up with a wild card.

</comment></comment></comment></comment><comment><USER10> You almost never need to use "*". Use ".", or go up a dir and type the name of the dir.

<comment><USER11> Yes thanks. I thought running rsync with a "*" looked odd, but didn't completely understand why until now.

<comment><USER12> Funnily enough, rsync is one of the commands for which you might be more tempted to use * instead of going up a directory, because the relative path names go over the wire.

<comment> em-bee besides ./* i also like to use _star_.ext or even a* b* c* depending on the contents of the directory.

rsync also used the local/only/path/./local/and/remote/path convention where the path before the /./ is not sent to the remote side

</comment></comment></comment></comment><comment><USER13> There's a lot of operations from the command line that are too easy to screw up. As much as I love having the power available and I'd certainly not give it up, I can't deny that GUIs (or even just TUIs) are much safer since you can visually validate the selection you've made and there's nothing to make a typo on. They also tend to ask for confirmation on destructive actions or provide an undo mechanism.

Maybe we need transactional file systems. At work, on our databases, when I'm running an ad-hoc update or delete on something that's not trivial to recover then in my DB tool I will often have something like:

      BEGIN TRANSACTION
      UPDATE ...
      SELECT ...
      -- COMMIT TRANSACTION

If the select validates that the update was good (and the update doesn't say "1000000 rows updated"), I'll just highlight COMMIT TRANSACTION and hit run. This isn't a perfect solution since I either need to hold the transaction open or run the update twice (first time immediately followed by a rollback), but a blip in accessibility is better than having to restore the latest nightly backup and run any processes that updated the table since it was taken.

<comment><USER14> If you're using postgres (and maybe others?) it can be handy to use the "returning" keyword -- e.g. "update foo set x = y where z returning *" \-- to get an immediate look at the updated rows. Maybe not so good though if touching more than a few dozen rows intentionally.

</comment></comment><comment><USER15> I mixed up dd's "of" and "if" args once when trying to image a disk. And of course, it failed somewhere in the middle after borking something important.

<comment><USER16> > At one point, Linus had implemented device files in /dev, and wanted to dial > up the university computer and debug his terminal emulation code again. So > he starts his terminal emulator program and tells it to use /dev/hda. That > should have been /dev/ttyS1. Oops. Now his master boot record started with > "ATDT" and the university modem pool phone number. I think he implemented > permission checking the following day.

From [https://liw.fi/linux-anecdotes/](https://liw.fi/linux-anecdotes/)

But if and of are "easy", since they stand for "input file" and "output file"?

<comment><USER17> You'd think, but a lot of people blindly follow tutorials that Google gives them.

As an example, here's my #2 result for, "Linux command line create bootable usb drive from iso":

[https://www.tecmint.com/create-an-iso-from-a-bootable-usb- in...](https://www.tecmint.com/create-an-iso-from-a-bootable-usb-in-linux/)

It instructs you to run this command, despite explaining what "if" and "of" mean in the following paragraph:

>sudo dd if=/dev/sdb1 of=/home/tecmint/Documents/Linux_Mint_19_XFCE.iso

Proofreading is harder and less profitable than SEO.

<comment><USER16> Actually that command seems accurate, because the instructions is to do the reverse of what you googled - it's telling people "how to make an image from a disk device", but in this case the image file has the ".iso" file extension.

But I agree about "copy paste instructions". I remember an intern at work asking me how to switch between virtual terminals on Linux, I told her Ctrl- Alt-Fx, I wanted to explain what virtual terminals are and how the shortcuts are probably configurable, but at that point she already stopped listening...

</comment></comment></comment></comment><comment><USER18> I had a close call one time while trying to delete a directory `~/foo` and its contents. Here's what I typed — can you spot the error?

        rm -rf ~ /foo

I realized after a second or so and hit CONTROL-C. Nothing seemed to have been deleted, so I think it may have been still winding up.

<comment> em-bee hah, i had a tool where i configured ~/something as a target directory in its config. except that the tool did not understand ~ and literally created a directory named '~'

guess what i typed to remove it?

i lost a lot of work that day.

since then i developed the habit to always only use rmdir for directories, and first go into the directory to remove files with rm.

i also avoid rm * by finding some common parts like an extension that most files share.

i don't want rm * to be in my history where i might accidentally call it.

<comment><USER19> Blender tried this on me a few months ago. I used mv to rename the directory before deleting it though, the fear caught me as soon as I realized I had a directory named ~ sitting in my home directory.

<comment> em-bee it tried to blend in ;-)

mv is a clever idea. rename to something safe, which can be undone if you get it wrong.

i use a similar approach when deleting a lot but not all files from a directory. i first move the files into a new directory, double check that every file is in the right place and then delete the new directory safely.

</comment></comment></comment></comment><comment><USER20> My friend did a "rm * -i" and got back a '-i not found'

</comment><comment><USER21> While it takes significant extra effort, it's more robust to carefully decompose patterns into exact lists of files that can be reviewed (or use "find"), and this has saved me a couple of times.

For example, expand wildcards into a separate list of files that can become controlled commands ("rm -f A/file1", "rm -f A/file2", "rmdir A", ... instead of "rm -Rf ..."). This way, if directory "A" contains _anything_ you didn't expect, the "rmdir" _fails_ at the end; and, someone can review the list of proposed files to be deleted _before_ you run. Oh, and instead of having that sinking feeling of "rm" taking "too long" to run, your command is merely in the process of constructing a list of 1000 unexpected files instead of blowing away half your disk with shocking efficiency.

Also, file lists are pretty useful when you need to make minor edits (e.g. sometimes it's a lot easier to find and exclude a few files from a list that you don't want to touch, as opposed to describing those in a wildcard or search).

Depending on the task (and assuming no filesystem caching) it can be faster to gather up a list once and pass the composed list in to a whole series of commands. This is also good if you technically want the list to remain frozen even if the filesystem is changing underneath you, e.g. new files being added somewhere in the tree.

</comment><comment><USER22> An `rm -rf ` always has the potential for some desaster. Especially if you are calling it from bash history via `Ctrl + r` and hit return too fast without editing the argument after `-rf`. Actually the rm command should move files into a `~/.Trash` folder instead of immediately removing them.

<comment><USER13> At least ctrl-r shows you what command you're about to execute. I often see advice about character sequences in bash that expand to the last command or arguments in the last command, but I have never felt comfortable using them because I can't double-check the command.

<comment><USER23> I have absolutely no clue what I've done to make it work this way (if anything), but in zsh running a command with !$ (last word from the previous command) I get the opportunity to edit the interpolated version first.

</comment></comment></comment><comment><USER24> _"Because the share contains a file named exactly "\--delete", and since it gets sorted first, rsync thinks it to be an argument and deletes everything."_

Also because Unix made the mistake (edit: calling this a mistake may be unfair) of having the shell expand wildcards. If it had provided a library for doing that, the _"rsync thinks it to be an argument"_ part wouldn't happen.

Alternatively, a file system could sort hyphens last when reading directory entries, but I'm not sure that would be a good idea. It would make problems rarer, but that also might mean fewer users would know when and how to avoid them. It certainly wouldn't help with other file systems.

<comment><USER25> Right, DOS expects wildcards to be handled by programs. Besides avoiding problems from the shell expanding wildcards in problematic ways, this also enables some neat semantics like some tools accepting wildcards in multiple locations either for recursive path mapping or for a purpose similar to regex capture groups. It also substantially reduces (but does not eliminate) the need to be careful when including literal wildcard characters in commands.

The problem is of course that wildcard handling ends up being inconsistent between tools or entirely missing, although in practice this became less common as various Win32 calls related to file operations had internal wildcard handling, so applications got a basic form "for free".

As with many things in computing it's hard to say that either approach is superior to the other. PowerShell carries on the DOS tradition of not expanding wildcards in the shell, but provides a more complete and standardized wildcard implementation as part of the API to improve consistency.

</comment></comment><comment><USER26> It's a shame that 'glob is a generator' did not become the standard way of doing things. It would save so much headache (and make writing programs easier) if

      command *

(or similar syntax) expanded to something like

      command /some/fd

where calls to

      read(/some/fd)

produced

      "expansion_one␀expansion_two␀expansion_three␀...␀"

Though exactly how one would plumb this is its own question.

<comment><USER21> This is possible if you use "xargs" (which runs a command multiple times with different subsets of the arguments), although it is most useful if commands are aware of null-separation (e.g. old-style "find ... -print0 | xargs -0", before "find" added the "+" option).

<comment><USER26> Yes, 'find -print0' / 'xargs -0' is the workaround that guided my thinking. (Which was essentially "how can I make 'find -print0 |' easy enough to use all the time, and flexible enough for more than one glob at a time?")

</comment></comment></comment><comment><USER27> I was once doing a lot of stuff to a disk with gnu parted. I popped out and popped back in like this:

      $ parted
      <do a lot of work>

whoops, all the I erased and recreated were... my root disk!

I couldn't figure otu the partition table of the running disk, but I _was_ able to rsync all the data elsewhere and recover it.

IMHO if you invoke parted - WITH NO ARGUMENTS - it should not make a choice for you.

</comment><comment><USER28> The canonical document about this sort of option injection attack:

[https://www.defensecode.com/public/DefenseCode_Unix_WildCard...](https://www.defensecode.com/public/DefenseCode_Unix_WildCards_Gone_Wild.txt)

BTW, shellcheck detects this sort of thing:

[https://www.shellcheck.net/](https://www.shellcheck.net/)

</comment><comment><USER29>
      rsync -r ./ ~/Documents/

Why would I even need to use *, if I wanted all files from a directory?

<comment><USER25> Because rsync semantics around the trailing slash are a little confusing and unusual, it's pretty common IME for people to intentionally explicitly define paths to the file with rsync, in order to avoid having to look up which way they need to write the target path.

<comment><USER10> Use a dot after the trailing slash and there is less confusion. "Blabla/." means "(everything) in the Blabla directory". Fairly self-explanatory/un- confusing and no need for "*"

</comment></comment></comment><comment><USER30> I would suggest people use the rsync --dry-run feature when using wildcards or working on something sensitive.

<comment><USER31> Or create a file _named_ —dry-run and save it everywhere...

</comment></comment><comment><USER32> Shell globbing + filenames which happen to be switches is one of the first things mentioned in the Unix Hater's Handbook IIRC

I guess every generation of Unix users will have to independently rediscover this the hard way in perpetuity.

</comment><comment><USER33> Another example of why shell languages are insane interfaces. Only someone who works on writing shell scripts all day could keep in their head all the things like this that could go wrong and how to defend against them.

<comment><USER12> Sadly this is one of the sanest answers. ./* or always using -- are _coping mechanisms_. We've internalized the UNIX warts so hard that we no longer perceive them.

I've moved to writing scripts in python instead. It's horribly verbose, but at least it's predictable and doesn't require the use of noisy disclaimers on every call to defend against rare cases.

There's definitely a need for a terser sane scripting language, but I haven't found one yet.

<comment><USER34> I've started writing in Rust, and have a small function to pass a simple string to "/bin/sh -c"

I can avoid most of the pitfalls of writing in sh, while still being able to glue external programs together.

For the record, I'm only writing it in Rust because I enjoy it, not because "Rust is the one true way".

</comment></comment></comment><comment><USER35> Another classic is something like "rm -rf /$BUILD_DIR" when the variable is undefined (maybe from a typo or from an argument not passed in).

<comment><USER2> Nowadays avoided by GNU tools, though. (requires --no-preserve-root)

</comment></comment><comment><USER36> Nobody wants to talk about msdos?

<comment><USER37> How do you provision hundreds of boxes using a UI?

...In a way that can be checked in source control and reviewed?

CLIs are not bad.

<comment><USER36> I apologize for saying CLIs are bad.</comment></comment></comment>