German Government Warns Key Entities Not To Use Windows 8 – Links The NSA - <AUTHOR> http://investmentwatchblog.com/leaked-german-government-warns-key-entities-not-to-use-windows-8-links-the-nsa/ <comment><USER2> This is among the sillier NSA stories I've read. First of all, the "link to NSA" was basically invented out of thin air. The original article in Die Zeit as well as this one are basically just reporting that TPM COULD be a "backdoor" for the NSA but not actually supporting the idea that it IS.

And beyond the issue of baseless speculation as a replacement for journalism, it's a little hard to understand why NSA (or anyone else) controlling TPM is a special threat to users. Despite what the article claims, I don't think TPM is a "backdoor" and it certainly isn't a "surveillance chip". And the articles don't explain how control over TPM gives someone a special advantage over computers with TPM support, an explanation I'm not holding my breath for.

<comment><USER3> Excuse moi, man, but TPM IS a backdoor.

How would you define that when MS wants it could enter your computer and control it without you ever realizing.

Then if something is proven is that if Microsoft can, then NSA can too.

Why Microsoft controlling the crypto keys to your computers is a problem? Are you serious?

Why American companies controlling all the computers of the rest of the world is an issue?

Europe for one should not depend on American companies for basic use of their computers. This is obvious, if you are not American.

<comment><USER4> > This is obvious, if you are not American.

This should be obvious, regardless of nationality.

<comment><USER5> It is. Just look at the GP's comment history and it becomes pretty obvious that it's a shill adamantly defending the NSA.

<comment><USER4> > adamantly defending the NSA

Is it even possible?

</comment></comment></comment></comment></comment><comment><USER6> The story is false, and the BSI (Federal Office for Information Security) has declined the rumours and explicitly does NOT warn of Windows 8: [https://www.bsi.bund.de/DE/Presse/Pressemitteilungen/Presse2...](https://www.bsi.bund.de/DE/Presse/Pressemitteilungen/Presse2013/Windows_TPM_Pl_21082013.html)

it was just a story made up by a german site (zeit.de)

<comment><USER7> The story seems to be from leaked internal documents. Haven't we learned better over the past 2 months than trusting the "official statements" afterwards, that inevitably deny it whether it's true or not?

At the very least, I think this deserves more exploring. It's not the first time I saw the Germans weren't happy with Windows 8 and its "secure boot". This is from last November:

[http://www.linuxbsdos.com/2012/11/21/german-govt-comes- out-a...](http://www.linuxbsdos.com/2012/11/21/german-govt-comes-out-against- trusted-computing-and-secure-boot/)

And it seems the source for that is _your_ source. So are they contradicting themselves now?

[http://www.bmi.bund.de/SharedDocs/Downloads/DE/Themen/OED_Ve...](http://www.bmi.bund.de/SharedDocs/Downloads/DE/Themen/OED_Verwaltung/Informationsgesellschaft/trusted_computing_eng.html)

<comment><USER8> Those are different sources. BMI = "Bundesministerium des Inneren", interior ministry. BSI = "Bundesamt für Sicherheit in der Informationstechnik", federal office of IT security. And they are not contradicting themselves. The statement they just issued reiterated Windows 8 is not safe for government and critical infrastructures.

</comment></comment></comment><comment><USER9> Previous discussion

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

<comment><USER10> And the most important comment on that thread, which is unfortunately not at the top:

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

</comment></comment><comment><USER11> Wrong.

[http://www.heise.de/newsticker/meldung/BSI-Trotz- kritischer-...](http://www.heise.de/newsticker/meldung/BSI-Trotz-kritischer- Aspekte-keine-Warnung-vor-Windows-8-1940081.html)

<comment><USER12> From that article:

 _However, this means no all clear in terms of Trusted Computing. While the publicly available TPM 2.0 specification includes no back-doors, any implementation might do so, either by malicious intent, due to implementation errors or government pressure. This risk can be met only if implementations are scrupulously tested and certified by independent bodies. This is not the case with the integrated TPM of current Windows 8 tablets, to name just one example._

</comment></comment><comment><USER13> Can't tell fact from fiction these days. What is the credibility of investmentwatchblog.com ?

<comment><USER14> The sentence "Microsoft [...] informs the US government of security holes in its products well before it issues fixes so that government agencies take advantage of the holes and get what they're looking for." kind of suggests how credible the source is.

<comment><USER15> That was reported in a bloomberg story also: [http://www.bloomberg.com/news/2013-06-14/u-s-agencies- said-t...](http://www.bloomberg.com/news/2013-06-14/u-s-agencies-said-to-swap- data-with-thousands-of-firms.html)

It obviously gives the Govt time to protect themselves, but could also exploit it on other systems.

<comment><USER14> I'm aware of the fact that they were informed first but I'm not aware of instances of gov't agencies using these exploits to get 'what they are looking for'.

<comment><USER16> > I'm aware of the fact that they were informed first but I'm not aware of > instances of gov't agencies using these exploits to get 'what they are > looking for'.

Were you aware of NSA surveilance before Snowden?

It all comes down to trust, and once there is no more trust (like in case of US gov) then the burden of proof they are not doing anything wrong is on them.

<comment><USER14> Sure. At the same time, even if trust was broken does not imply that NSA was using <0 day exploits which is what the article was saying. Or can I start posting blog posts about NSA developing super-AIDS since it has not proven that it is not?

<comment><USER16> No need to pull up AIDS "conspiracy"/conspiracy theories.

NSA has been already caught spying on everyone in the world. The method explained allows them more spying. Would you risk your country security, or your own business relying on a piece of technology that NSA or anyone else _can_ use for spying on you? Given a choice between multiple platforms why would you choose one vulnerable to spying and inherently unsecure?

<comment><USER14> Your comment if off-topic. Article said, "Microsoft gives NSA exploits which they then use to spy on people". I pointed out that there is not a single recorded instance of that.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> Seems very sensational. Where in my 6 year old Core2Quad machine would I find these fabled chips? Or for that matter, where on a modern motherboard would I find one?

<comment><USER7> This is what the "trusted environments" on chips can be used for, which are currently at least used for DRM (but who knows what else). This is something people like Richard Stallman and Cory Doctorow have warned for _years_ \- that allowing them to DRM your machine at the hardware level, inevitably means the machines will eventually be used against you for different purposes, including surveillance or censorship.

This is exactly what the NSA is implying when they say they want to be the "anti-virus of the Internet". TPM will allow Microsoft and/or NSA to _remotely_ disable viruses from every computer - and course anything else they want - anywhere in the world, and that's how they will promote it to normal people: "It will make you safe".

<comment><USER18> All that is correct, but it needs (a) support in software and (b) the outside party having secret values mathematically related to the "attestation key" embedded in the TPM. The OS designed for this kind of system then uses the TPM to verify the signature, hash or whatever of software, and would either shut down any unapproved software or deny access to the DRM'd data.

I don't know whether Windows 8 is like that, but anyway you can opt out of it by using an OS that doesn't support any remote control. In many BIOS's you can turn TC support off.

Here is the formerly canonical, maybe dated now, overview of TC [http://www.cl.cam.ac.uk/~rja14/tcpa- faq.html](http://www.cl.cam.ac.uk/~rja14/tcpa-faq.html)

</comment></comment></comment><comment><USER19> I still don't know why people limit the scope of surveillance products/services to Microsoft.

There are a handful of companies to avoid that work with the NSA.

If you have missed the list, check out the slides: [http://www.theguardian.com/world/2013/jun/08/nsa-prism- serve...](http://www.theguardian.com/world/2013/jun/08/nsa-prism-server- collection-facebook-google)

<comment><USER20> It is not about Windows 8 but about TPM 2.0. Which basically limits the control over your computer, it might be mostly harmless for private users but for governments and critical infrastructure it is not.

</comment></comment><comment><USER21> "It allows Microsoft to control the computer remotely through a built-in backdoor." Like every other mobile OSes...

</comment><comment><USER22> So.... Linux everyone?

<comment><USER23> This would be the time for Canonical to move in and pitch Ubuntu.

</comment></comment><comment><USER24> if hackers wants to hack your server it doesn't matter what OS your using.

<comment><USER4> True. But you don't have to provide a nice backdoor for them to use, do you?

Every system has a set of exploitable vulnerabilities. Each of those vulnerabilities is known by a set of parties other than you. With Windows you can be sure those sets have at least one element each.

</comment></comment><comment><USER25> what about 'Intel inside' do you not understand?</comment>


Save Money By Deleting Your Cookies--A Case Study - <AUTHOR> http://www.appscout.com/2009/01/save_money_by_deleting_your_co.php "the room at bally's started at 69 bucks.. then it was 59 bucks.. i just rebooked it again at 50 bucks! i figure if i keep going they're going to pay me to stay there. meanwhile, i also think i figured something else out.. that rate came up after i had been doing some housecleaning on my laptop.. and deleted all the cookies and the web browser history. i wonder if that made me appear on the bally's web site to be a totally new customer?" <comment><USER2> don't delete your cookies. just temporarily use a different browser than your normal one (opera, camino, chrome, or whatever)

<comment><USER3> Or when you are doing this use Safari's Private Browsing so that whatever cookies are added get removed automatically.

<comment><USER4> This is not the problem Private Browsing solves.

Private browsing still lets your browser show cookies that it already has, it won't store new ones (except it doesn't have control over plugins, so they might).

What that means is if you are a regular Amazon user then decide to pop in as a stranger by turning on private browsing, Amazon will still know you.

What Private Browsing does do, is on window close get rid of all the cookies, history, field autofills, and such that you accumulated in two hour private browsing session searching for an opened, boxed, Luke Skywalker figure for your girlfriend. It doesn't stop the web sites from keeping track, for instance eBay might still show them in the recent items if you were logged in.

</comment></comment></comment><comment><USER5> Get the web developer toolbar addon, and choose delete domain cookies. That way you don't loose cookies you want.

</comment><comment><USER6> Deleting cookies is also an effective weight loss method!

</comment><comment><USER7> Much commerce depends on offering different deals to different sets of customers, to extract the highest price from each individual instead of relying on the "market price".

Airline tickets are a good example.

In such markets, there may be an advantage to consumers banding together to aggregate pricing information. If all users of priceline style "reverse auction" or whatever they call it shared bid info, it would turn it into a "treasurys style" auction where everyone got the best price that gave the seller the required volume of sales.

Another way to break the attempted segmentation of a market is to make the product fungible, so that a secondary market develops if there is any inefficiencies in the first market. It used to be common to re-sell unused airline tickets via newspaper classified ads, and airlines got rid of that after Flight 800 blew up (because of electrical failure) on anti-terrorism grounds. You can get back the exchangability of airline tickets through some tricks, and sell and buy airline miles on sites like points.com and flyhub.com, but that must account for a miniscule part of the market.

Back to deleting your cookies to compare amazon and hotel offerings -- wouldn't a firefox plugin that showed you what prices other people were seeing for rooms or books or whatever, when you browsed to that page, be pretty useful ? Maybe it could be monetized by commission or referral fees of some sort ?

</comment><comment><USER8> open a new window in incognito mode for chrome.

<comment><USER9> If you don't want to leave firefox for a second you could try the stealther addon until 3.1 comes out.

</comment></comment><comment><USER10> No need to delete cookies. Whether you're on Windows, Linux or OS X... just create a new user account for the particular purchase you are interested in. When you use the browser from that account it will have no cookies. When you've finished, delete the account. Next time you want to opt-out of their 'previous customer' pricing, just create a new account.

<comment><USER11> Wouldn't it be easier to use a different browser instead of creating multiple accounts?

<comment><USER10> I have FF and 1 other browser installed on each of my computers, and use each browser for different activities. But I see no need to delete cookies (and lose potentially useful information), when I can just create another user and use fast-user switching to go to that account. And certainly if someone only has a single browser installed, then I think creating a new user is probably easier than locating a new browser & installing it :-)

<comment><USER12> just run:

        firefox -ProfileManager

</comment></comment></comment></comment><comment><USER13> This is news? I figured most people on HN would have been doing this for years when booking anything online...

<comment><USER14> I, for one, didn't know.

</comment></comment><comment><USER15> If you use Firefox and don't want to have to re-login everywhere, you can get the same effect with CookieSwap: <https://addons.mozilla.org/en- US/firefox/addon/3255> . 3 cookie profiles... pretty neat.</comment>


A Long Way to Robot Domination: Will AI Have Human Rights? - <AUTHOR> https://lawless.tech/a-long-way-to-robot-domination-will-ai-have-human-rights/ <comment><USER2> No robot should have any rights considered until it is self aware</comment>


The CRAPL: An academic-strength open source license - <AUTHOR> http://matt.might.net/articles/crapl/

<comment><USER2> This is fantastic. The author is absolutely correct: academic software is crap. I've used software written by someone who wrote a well known tutorial on Haskell, and his code was a pile of junk. This is the right way to do it in academia -- you are only rewarded for publishing so good academics write the minimal system necessary for publication and then dump the code.

As a side note, Matt Might's backups suck if he could only find that one program ;)

As another side note, the PLT group behind Racket are exceptional for publishing lots and writing good code.</comment>


CenturyLink 911 outage was caused by a single network card sending bad packets - <AUTHOR> https://twitter.com/GossiTheDog/status/1079144491238469638 <comment><USER2> I was visiting my SO's parents in Portland for the holidays when this happened. Their cable TV stopped working for at least two days and we all got an emergency services text with the local emergency number because 911 wasn't going to work. (At least their Internet through CenturyLink remained working.)

This also happened to coincide with them receiving a notice of a $50/month increase on their bill from CenturyLink, as well as my SO giving them a Roku for the holidays and setting them up with streaming services, which they got lots of practice using in the two whole days the cable TV didn't work.

Guess who's cutting the cord and switching to Internet-only service from Verizon FIOS at a much cheaper rate now?

This is what happens when you treat IT like a cost center and don't provide the necessary funds to tackle technical debt and keep your services up and running: You get huge costly outages revealing your basic incompetence and customers fleeing to superior competitors forever.

<comment><USER3> Honestly, if you had FiOS as an option why would you stay with CenturyLink in the first place? Verizon is just as assholish, but at least they can deliver.

<comment><USER4> centurylink fiber is pretty great as well

<comment><USER5> Yeah, my experience with Clink's fiber offerings has been a good one. It's definitely "Gigabit" — there are many fiber splitters in play, which means (a) your downstream traffic is broadcast to everyone on the same splitter network in plaintext and filtered at individual ISP-owned termination devices, much like cable networks, and (b) you definitely never reach 1000 Mbps down, but often can reach 900 Mbps up. Typical is 500-600 Down, 900 Up; the highest I've seen down on e.g. fast.com is 900 Mbps. And the price is extremely competitive with Comcast ($80/mo for "gigabit"), unlike their DSL offerings, which are complete crap.

The major downside is that their IPv6 support is nonexistent and they have no plans for rolling it out.

<comment><USER6> I've been getting perfectly adequate IPv6 via their 6rd gateway (on fiber, in Seattle). I wrote some nerd notes on using one's own wifi router and setting up IPv6: [http://b.tra.in/2015/07/notes-on-centurylink- fiber.html](http://b.tra.in/2015/07/notes-on-centurylink-fiber.html)

<comment><USER5> 6rd is pretty awful, generally, and I couldn't get Centurylink's to work last time I tried. I appreciate the notes and will take a look, thank you.

(One big problem I've experienced in the past is that any time you configure both IPv6 and IPv4, all programs prefer IPv6. But tunneled IPv6 has much worse performance than the native IPv4, so you really want applications to prefer IPv4 in a tunneled v6 environment.)

<comment><USER3> I still use Hurricane Electric tunnels fir my v6 and ping times/throughout are so close as to be in the noise for most everything. It probably helps that I'm using a tunnel endpoint literally 10 miles from my house however.

<comment><USER5> My IPv4 ping times to Google and Facebook are 2.6 milliseconds. I suspect any HE tunnel is going to be worse than that (in a statistically significant sense). I don't know that latency would necessarily be perceptible the majority of the time, but I strongly suspect outliers would be worse and more frequent.

Also, I doubt HE's ipv6 tunnel is going to carry anything close to 1Gbps for me for free ;-).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> How does a single network card emitting bad packets effect other sites?

> investigations into the logs, including packet captures, was occurring in > tandem, which ultimately identified a suspected card issue in Denver, CO. > Field Operations were dispatched to remove the card. Once removed, it did > not appear there had been significant improvement; however, the logs were > further scrutinized .. to identify that the source packet did originate from > this card.

> Support shifted focus to the application of strategic polling filters along > with the continued efforts to remove the secondary communication channels > between select nodes.

And then

> By 2:30 GMT on December 29, it was confirmed that the impacted IP, Voice, > and Ethernet Access services were once again operational. Point-to-point > Transport Waves as well as Ethernet Private Lines were still experiencing > issues as multiple Optical Carrier Groups (OCG) were still out of service.

And finally

> The CenturyLink network is not at risk of reoccurrence due to the placement > of the poling filters and the removal of the secondary communication routes > between select nodes.

Looks like the root cause analysis has a way to go. Addendum says:

> The CenturyLink network continued to rebroadcast the invalid packets through > the redundant (secondary) communication routes.. These invalid frame packets > did not have a source, destination, or expiration and were cleared out of > the network via the application of the polling filters and removal of the > secondary communication paths between specific nodes. ____The management > card has been sent to the equipment vendor where extensive forensic analysis > will occur regarding the underlying cause, how the packets were introduced > in this particular manner. __ __The card has not been replaced and will not > be until the vendor review is supplied. There is no increased network risk > with leaving it unseated. __ _At this time, there is no indication that > there was maintenance work on the card, software, or adjacent equipment._ > __The CenturyLink network is not at risk of reoccurrence due to the > placement of the poling filters and the removal of the secondary > communication routes between select nodes.

<comment><USER8> From the book "Release It!", the author describes an incident where an airline's entire check-in system went down for three hours, grounding its hundreds of planes and causing a pretty big backlog for hours more. The 'root cause' was code on the flight search server:

        lookupByCity(...) {
            ....
            try {
                conn = connectionPool.getConnection();
                stmt = conn.createStatement();
                ...
             } finally {
                 if (stmt != null) {
                     stmt.close();
                 }
                 if (conn != null) {
                     conn.close();
                 }
             }
        }

close() can throw, and in the circumstance of the outage it did for stmt, leading to the connection not getting closed and eventually the pool being exhausted with every thread blocked waiting for a connection. It's an interesting chain of failures, arguably the presence of such a chain is the real root cause, rather than the unhandled sql exception.

<comment><USER9> _the presence of such a chain is the real root cause, rather than the unhandled sql exception._

This is really interesting and something which bugs me about root cause analysis and it's a neat coincidence that this has been quoted relative to an aviation incident.

In aviation, incidents and accidents are investigated with the understanding that there is never a single cause of an accident. It's known as the swiss cheese model. All the holes in the swiss cheese have to line up for something to go wrong. Even in a seemingly simple "pilot error" accident, there are years of initial and recurrent training factors, ergonomic and human factors and so on which all lead to the event. It's exceedingly rare for a single "root cause" to be the whole story.

Medicine is starting to adopt techniques learned from aviation like checklists, crew resource management and no-blame, swiss-cheese accident investigations. I am hopeful that the software industry will take similar lessons over the next decade or so.

<comment><USER10> > like checklists, crew resource management and no-blame, swiss-cheese > accident investigations. I am hopeful that the software industry will take > similar lessons over the next decade or so.

The software industry that programs space craft?

The software industry is vast and not every system involves copious amounts of human decision making. Often the idea of the root system cause, and the root process cause(software construction, operations, etc) cause is separable.

I would say that aviation is almost inverted in the that regard compared to booking systems, banking systems, and most of what software engineers are exposed to. A person can not fly from Dallas to Chicago without many, many human decisions being involved. However, a packet traveling from Dallas to Chicago involves nearly zero new human interactions.

</comment></comment></comment></comment><comment><USER11> They're now filtering bad packets so this can't happen again.

No mention of fixing the design flaw in the system that allows a single piece of malfunctioning hardware to knock out 911 service for millions of users for _two days_.

<comment><USER12> Worth giving some credit though - mitigation is important for something as critical as 911 service.

 _Hopefully_ they're also tracking the design flaws, and yes that's worth following (and asking whether they're planning to do so?), but bear in mind people have limited time and resources, so don't be too hard on them (or they'll be less willing to help and investigate in future).

<comment><USER13> I completely disagree. Mitigation with a patch applied in a few hours is acceptable, but mitigation DAYS after a multi-day outage of critical services that have life or death consequences is completely unacceptable.

</comment></comment></comment><comment><USER14> >"A CenturyLink network management card in Denver, CO was propagating invalid frame packets across devices"

This is of course gibberish. A "frame" is ethernet or L2 concept, packets are transport layer. Using the term "Frame packets" in an official RFO is laughable.

A NIC on their management subnet disrupted their entire network? There are so many levels of absurdity to this.

A mangled ethernet frame would be dropped if the CRC was incorrect. A "show int" on a switch would have shown drop counters incrementing. If it was a broadcast storm it also should have been obvious which device was sending an outsized amount of traffic to the all 1's address. Management networks are generally low traffic - ssh and some SNMP. It would have should have been obvious looking at interface graphs by TX on the management network.

Further any modern switch from a major vendor has a storm control setting which disables a port when it goes beyond a certain threshold for either broadcast, multicast or unicast. Even if storm control wasn't enabled it would have been trivial to do so, find the offending port and work backwards from there.

>"A polling filter was applied to adjust the way packets were received in the network equipment"

"Polling filter" is not even an idiomatic network engineering term. I'll assume this means an access list. So it took them 50 hours to apply an ACL? And this required engaging the hardware vendor?

This is a garbage RFO even if its not meant for a technical audience. It sounds like the real RFO is due to incompetence, bad network design and probably a horrid corporate culture shaped by fear, silos and CYA at this company.

<comment><USER15> > A "frame" is ethernet or L2 concept, packets are transport layer. Using the > term "Frame packets" in an official RFO is laughable.

OTU also has frames. Optical gear is generally happy to pass along mangled packets :/

> any modern switch from a major vendor has a storm control setting

Look at the switches embedded in optical transport gear. They are pretty rudimentary.

Optical transport gear (L1 networks) are full of impressively clowny behavior.

<comment><USER14> >"OTU also has frames."

Yes but STS "frames" and OTN are layer 1 concerns. There would still never be "frame packets." It's just as egregious.

Also do you believe anyone would use DWDM for their management network? Management interfaces seldom require anything more than a few megabits of bandwidth. Burning an entire wavelength for a management network would be pretty crazy.

In the RFO Centurylink also mentions - "A decision was made to isolate a device in San Antonio, TX from the network as it seemed to be broadcasting traffic and consuming capacity." Lightwave gear most certainly does have any concept of broadcasts.

<comment><USER15> > Also do you that they would use DWDM for their management network?

Yes, in the form of the Optical Supervisory Channel (OSC), which is built into DWDM gear and generally implemented as Ethernet over SONET.

The OSC can also carry management traffic for other devices (aka datawire).

It's Ethernet, so it has broadcasts...

<comment><USER14> Even if its OCS we're talking about the supervisory channel is truly out of band in that its generally on a proprietary wavelength isolated from your other channels carrying customer traffic.

In this sense its no different than how a copper ethernet management VLAN should not be able to take down your entire production network.

<comment><USER15> "should not be able to" being the operative phrase :)

Optical control plane generally hasn't benefited from the hardening that's happened in the IP world.

Things like CoPP haven't become common practice yet.

<comment><USER14> >"Optical control plane generally hasn't benefited from the hardening that's happened in the IP world"

OK, but I imagine we can probably both agree that proper network design is orthogonal to the pace of development in optical transmission gear ;)

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> The descriptions so far about this problem are either at 30000 foot vagueness or they're in technical shorthand that just assumes the audience is 100% pro network engineers.

Don't "bad packets" get dropped at the first switch? Isn't that one of the main benefits of packet based switching?

Was this even an ethernet packet or something else like an optical transport protocol (eg OTN)?

<comment><USER17> They generally only get dropped if they have an invalid checksum.

Since checksums are hardware accelerated, the invalid packet probably had a valid checksum applied to it.

<comment><USER18> If cut-through is enabled in the switch, it won't even drop on bad checksum, since by the time the switch can tell the checksum is wrong, it has already forwarded the entire packet.

<comment><USER5> It is really unfortunate that the checksum is on the opposite end of the frame from the routing information on Ethernet frames.

<comment><USER19> Why? If it was at the start it'd remain useless until the whole frame was received anyway.

Makes sense to have it at the end.

<comment><USER20> It also allows you to calculate the checksum as your serialising the packet data onto the send buffer, without having to get the whole packet in memory, checksum it, write the checksum, then finally write the packet data.

</comment></comment></comment></comment></comment></comment><comment><USER21> Someone was displeased - [https://fuckingcenturylink.com/](https://fuckingcenturylink.com/)

I'd love to see an in-depth technical analysis of the outage.

<comment><USER22> This is probably the same guy from fuckinglevel3.com. We used level3 for years and sent each other that link almost daily. I guess he had to update after CL bought them :]

Don't expect a technical report from CL/L3. We had 60+ mpls/vpls circuits from them and all our reports were very high level.

Source: am neteng

<comment><USER23> I always heard L3 was quite good. Who is if they're not?

<comment><USER24> There is no such thing as a good national carrier right now, L3 just happened to be the least shit of the group to deal with. Your best bet is to try to find a decent local/regional carrier as your primary circuit provider and then use L3/The Devil/ATT (in that order) as your secondary. Yes your regional/local is still going to hand off to those guys but at least they'll be doing all of them and you get real support for local issues.

</comment></comment></comment></comment><comment><USER25> I had faced something like this a few years ago: [https://dynamicproxy.livejournal.com/46862.html](https://dynamicproxy.livejournal.com/46862.html)

Summary: the specific Symantec disk imaging software was partly loaded via PXE boot, and that machine started to flood the network with bad packets. Switching the computer off for a few seconds didn't help, since the SMPS capacitors still held current - enough to keep the card alive and for the sysadmins to not suspect that computer!

</comment><comment><USER26> Makes you wonder how secure their backhaul really is?

If the whole thing is a single flat logical network (one that could allow bad packets to propagate as we witnessed) that would suggest it is also quite vulnerable to malicious actions.

It is all well and good applying a filter, but that seems like a bandaid fix. Why is equipment even able to talk that has no reason to do so? Seems like they've put convenience over good network governance.

<comment><USER27> Much networking equipment is not designed to handle malicious or bizarre traffic. TCP/IP is amazingly brittle, and often fails on me in surprising ways that the standards say should never ever happen.

<comment><USER28> I don't think that's fair to say. Billions of people unlock their phone or log in to their computers every morning and everything works, pretty much all of the time.

<comment><USER27> If you're a hipster in a major city near fiber, sure, it all works great. For the rest of us, no, daily failures are the reality.

<comment><USER28> That´s not a failure of TCP.

</comment></comment></comment></comment></comment><comment><USER29> This is infrastructure on which lives depend. Who exactly is liable here outside of a FCC fine? Its just insane how software errors are apparently more or less considered equivalent to "higher power" losses. This all not mentioning the lack of a backup plan for a 50h outage.

</comment><comment><USER30> Reminds me of an AT&T outage 30 years ago:

[https://catless.ncl.ac.uk/risks/9.62.html#subj2](https://catless.ncl.ac.uk/risks/9.62.html#subj2) [https://catless.ncl.ac.uk/risks/9.63.html#subj3](https://catless.ncl.ac.uk/risks/9.63.html#subj3)

</comment><comment><USER31> Packets or frames? The report mentions both (including "packet frames", which, ugh)

<comment><USER19> These terms are interchangeable. Although typically one or other is used when speaking about a specific technology.

Also see datagram, cell and probably others I'm forgetting right now.

<comment><USER32> > terms are interchangeable

No, use frame when your talking about layer 2, packet when your talking about layer 3, and segment for layer 4. Datagram and protocol data unit (PDU) are general terms that can apply to any layer.

A switch forwards frames, while a router routes packets.

[https://stackoverflow.com/questions/31446777/difference- betw...](https://stackoverflow.com/questions/31446777/difference-between- packets-and-frames)

<comment><USER33> You are technically correct. However, the term "Ethernet packet" is commonly used colloquially... it does not seem worth arguing about.

<comment><USER32> Yeah, but the point is you wouldn't expect a competent network engineer to use the words "packet frames". And incompetence would seem to fit with the facts of the case, i.e. 911 was down for 2 days.

<comment><USER33> It was probably down because the only person who knew how to use tcpdump (or equivalent) was on vacation. ;)

</comment></comment></comment></comment></comment></comment><comment><USER34> I once took down an entire network with a Dev node running a misconfigured DHCP server. Second time with a snmp v2 ddos.

If your network isn't properly configured these things can happen easily.

<comment> yjftsjthsd-h > If your network isn't properly configured these things can happen easily.

Absolutely true. However, if you are an ISP, then not correctly configuring your network is... _unimpressive_.

</comment></comment><comment><USER35> One NIC?

I have tracked that kind of thing down before. "Line noise adapters", otherwise known as former NICs, can be a pita.

But taking down the whole service, or for a pretty big region?

I am off to read the details!

</comment><comment><USER28> Needing to dispatch local field engineers is telling because it shows they do not have/prioritise remote login capabilities in their access layer switching infrastructure. A single interface shutdown command would have been all that was needed if they had remote access.

<comment><USER36> > Needing to dispatch local field engineers is telling because it shows they > do not have/prioritise remote login capabilities in their access layer > switching infrastructure.

Or that said infrastructure may exist, but not redundant... I mean, RS232-over-IP or RS232-over-ISDN boxes are no secret sauce, but when their access line is routed over the same thing the box is supposed to remote- manage, then one has problems.

</comment></comment><comment><USER37> Did the network card in question also send blue flashes up into the sky?

<comment><USER38> They got the gaming branded network card with all the RGB.

</comment></comment><comment><USER39> Wonder how they found it... I bet that was some unhappy hours looking for it.

<comment><USER40> That's the "I found a 15-year-old bug in our NIC" story that I'd love to read but which will probably never be told. And whoever designed the system is busy obfuscating that on their resume this morning.

<comment><USER41> I's more likely the card went rogue and failed.

</comment></comment></comment><comment><USER42> What is amazing here is not that a single network card caused this mess, but that most folks here actually believe this story.

</comment><comment><USER43> Shocking that

a. There was no error monitoring.

b. That a SPoF existed.

c. That it wasn't found sooner.

The FCC, with their Verizon lackey Ajit Pai, should fine them $100 million bucks to get their attention, but they won't because corporate welfare.</comment>


Occupation Growth and Decline Since 1970 - <AUTHOR> https://flowingdata.com/2019/12/16/occupation-growth-and-decline/ <comment><USER2> I'm not sure how everyone else feels about this, but a nice interactive graph created with D3.js really increases my enjoyment of visualising data.</comment>


I want to get into programming - <AUTHOR>

I have no background in programming but after a fruitless search for a software program i decided to write it myself.

  ==what i need to do==
 write a program which will run sort of like most games do today
    -I want to make a 2D graphic interface, and there will be hefty amounts of physics, object editing, pre-scripted simulation and the possibility of editing objects and rules as the program is running
    Eventually i would like to make a 3d version but that seems like it would be very hard.
    Could I get some direction with this? What program language would be best to use? is it an impossible goal to do this with no experience? I appreciate any help <comment><USER2> I cannot figure out what it is you are trying to do. You say you want a 2D graphic interface but you don't say what to. You say you will utilize a "hefty" amount of objects and physics but you don't say why.

Lack of experience isn't going to kill this project, lack of a spec will. Learning to program is like any other skill, put the time and effort into it and you can learn, but if you have no idea what you are trying to do you'll get no where.

<comment><AUTHOR> i have a very specific idea in mind, but im not going to divulge it to the world. i described what i thought was relevant to one of my questions: which programming language would be best/easiest to write my concept in.

<comment><USER3> You claim to have no background in programming. Then how can you know what is "relevant to one of my questions: which programming language would be best/easiest to write my concept in"?

Programmers (I'm generalizing here) don't like to be presented with XY problems[1]. What you've done here is decided that the best solution to your problem, X (which you haven't described to us) is Y (learn a programming language), so you're asking us about what programming language to learn.

The reason we don't like these sorts of questions is because there could be a solution to X, that is more effective, or much easier to explain than Y. You're not going to get helpful answers to your question "what programming language should I learn" because we absolutely don't have enough information to decide if learning to program is your best bet. Let alone how you should go about learning to program.

It's like you're asking us "I have a great idea for how to win at racecars, it involves taking apart the engine. What socket set should I buy?" Sure, there are better and worse socket sets, but that's not really the relevant question at this point.

All of that being said: Learn Python.

[1] <http://www.perlmonks.org/index.pl?node_id=542341>

<comment><AUTHOR>
         Then i guess i should have a much more vague yet precise question.

         Going off your last sentence, it seems that you may have misunderstood me. I know that there is no such thing as the 'best' tool, best strategy or best language or what have you.
         My dad owns a workshop filled with hundreds of tools and machines. There is simply no best tool, each tool or machine is designed for a very specific use in a very specific situation and from what I have read on HN that seems to be the case with programming as well.
         I remember reading an article linked on HN discussing different programming languages and one quote in particular shocked me, "what can be done in one language may take two lines of code, but done in another the same task can take a thousand lines of code." This is what led me to ask the question 'what language should i learn.'
         I'll do my best to further describe what i want to accomplish, but first watch this video of a program called gource    http://bit.ly/UHcc9w

         From what i have read about gource it seems that two rules define the interaction between the dots and the lines to create very complex and sometimes mesmerizing behavior.
         A) All dots project a repelling force which only affects other dots
         B) Lines, which represent file directories, provide a sort of skeleton between dots. They are modeled with an attracting force affecting each dot on either end of a line.

         What I want to do is create (or find) software which allows users to quickly and easily create simulations of objects in an environment which can also be defined by the user. (think mine-craft, but you can now play god with the laws of physics, create new sets of rules, forces ect.)

<http://bit.ly/UHentV> But i would want this program to operate on two levels of complexity. I would want to have fun and experiment with familiar concepts, like gravity, wind, light, ect. but in an easy and accessible way. However i would also want the ability to create abstract system with odd rules defined by modifiers, object archetypes, environmental effects and object states. I want to replicate the behavior of a light wave with all the glorious physics equations which would come along with that. I would want the software to be flexible. For a _very_ rough idea of what i have in mind look at the scribblenauts unlimited object attribute editor here <http://bit.ly/11ts1n7>

sorry for the wall of text, i did my best to explain.

<comment><USER3> > sorry for the wall of text, i did my best to explain.

No need to appologize, I definitely asked for it.

I'll get back to your original questions in a little bit, first I want to talk about your list of inspirations:

> Gource > Minecraft > scribblenauts unlimited object attribute editor

And your description of what you want to do:

> simulations of objects in an environment > Physics > experiment with > familiar concepts, like gravity, wind, light, ect > create abstract system > with odd rules

What you want sounds fun, but complicated. If you _really_ want to do this, it will obviously be possible. It may take a lot of work, but from here out, I'm going to assume you'll be willing to put in a lot of work. Even with that assumption, I think the best advice anyone can give you is unrelated to any technology: Limit your scope.

I've started a significant number of projects, super excited about all the possibilities, and started writing everything for the general, most abstracted case. When I do this, I invariably get bogged down quickly. When I'm more focused on one small feature, things turn out better. You want something that is immediately fun, even if the scope is tiny.

You can see this in your inspirations as well. Minecraft started development on May 10th, 2009[1]. It was playable by May 16th 2009 (First officially numbered version). That seems like a ridiculously short development time, but note that inventory management (the ability to pick up and place blocks) wasn't added until August 4th 2009. It's clear that Minecraft started with the smallest kernel of something that would be playable, and slowly grew from there, accumulating things that make it more fun.

So, the best advice I can give you, is to find the tiniest kernel of your idea. What is the smallest, simplest part that could still be fun? Your goal should be to narrow your scope as much as possible and then make that.

The next piece of advice is going to relate more to specifically what you want to do, and the tools you'll need to do it, also though, narrowing your scope further. There are going to be two sides to the software you're trying to write. The first is the physics simulation aspect, and the second is the graphical display. You should decide whether you are more interested in simulating novel physics, or displaying whatever simulations you do. That is, to begin with, would you rather see ugly graphics and deep physics or simple physics and beautiful graphics (obviously, I'm using physics as a generic term for whatever rules-engine you want to work with initially). Ultimately, what you're most interested in should inform what sorts of technologies you pick up.

If you really want to see beautiful animations of simple rules, you're not going to have fun building physics simulations in FORTRAN. If you want to precisely model the behaviour of subatomic particles, you're not going to have much fun with processing.

This brings me to your concern:

> what can be done in one language may take two lines of code, but done in > another the same task can take a thousand lines of code

I'm pretty sure you understand that this quote means that some environments are well tailored to a given domain. One line of Mathematica could do more than thousands of lines of assembler (in the extreme case). I think it's important to recognize, though, that if you're doing anything that's even remotely novel, you're going to be writing thousands of lines of code. So I would simply pick something that you find fun, to start.

Processing might be fun. It's built on top of Java, so there's a lot of room to integrate it into a larger application. Play around with some of the examples [2] [3] [4].

Box 2D is a pretty interesting physics engine for games [5]. It's a primarily C++ project, but has bindings to other languages as well.

Start small, keep learning and experimenting, keep writing code, good luck.

[1] [http://www.minecraftwiki.net/wiki/Version_history/Classic#Pr...](http://www.minecraftwiki.net/wiki/Version_history/Classic#Prior_updates)

[2] <http://processing.org/learning/topics/flocking.html>

[3] [http://processing.org/learning/topics/smokeparticlesystem.ht...](http://processing.org/learning/topics/smokeparticlesystem.html)

[4] <http://processing.org/learning/topics/follow3.html>

[5] <http://box2d.org/about/>

<comment><AUTHOR> Thank you, really. I don't think i have ever seen someone provide citations outside of power-point presentations at school lol, definitely appreciate the response and thanks again.

</comment></comment></comment></comment></comment></comment><comment><USER4> If you want to develop a desktop/downloadable game for Windows/Linux/Mac I can recommend you BlitzBasic (<http://blitzbasic.com>) . It's Basic, it's very easy to learn and allows you to create 2D and 3D games. The compiled code runs very fast. You can check out a lot of examples on the website.

</comment><comment><USER5> You want fast results while learning the good foundations of any programming language, so learn BASIC, seriously. You have ZERO hope of achieving what you want in a reasonable timeframe with any other language that anyone may suggest here. They'll suggest python, javascript, C++, some will even suggest LISP but dream on :)

Download DarkBASIC here: [http://www.thegamecreators.com/?id=2000&m=view_product&#...
It's free, fast, it has 3D, 2D commands and everything you might wish for.

<comment><AUTHOR> or ill do something stupid and try to learn 2 languages at once :) thanks

</comment></comment><comment><USER6> Since you are concerned about revealing what you have in your mind, it would be preferable to talk to someone in you network directly. Because without any proper spec, giving direction might take to entirely other path which might not take to your goal.

</comment><comment><USER7> I'd choose Processing for quicker results. <http://processingjs.org/> <http://processing.org/>

</comment><comment><USER8> Watch this video and see if it can help you explain better what you want to do. You might also do a Google search for terms like: HTML5 canvas physics game

</comment><comment><USER9> Start with C SDL if you only want to do 2D stuff. Pygame is pretty good, too!</comment>


Git: A Guide to Proper Use - <AUTHOR> https://jacopocascioli.com/blog/git-a-guide-to-proper-use <comment><USER2> Conventional Commit Standard [0] aims to solve this problem. Added to it is a good ecosystem of tools like Commitlint [1], Commitzen [2], Semantic Release [3] etc.

[0] [https://www.conventionalcommits.org/en/v1.0.0-beta.2/](https://www.conventionalcommits.org/en/v1.0.0-beta.2/)

[1] [https://github.com/conventional- changelog/commitlint](https://github.com/conventional-changelog/commitlint)

[2] [https://github.com/commitizen/cz-cli](https://github.com/commitizen/cz- cli)

[3] [https://github.com/semantic-release/semantic- release](https://github.com/semantic-release/semantic-release)

</comment><comment><USER3> TL;DR "a guide to proper git use: write clear commit messages"</comment>


Driving Mr. Albert: A Trip Across America with Einstein (1997) - <AUTHOR> http://harpers.org/archive/1997/10/driving-mr-albert/

<comment><USER2> He turned this into a book: [http://www.amazon.com/Driving-Mr-Albert-America- Einsteins/dp...](http://www.amazon.com/Driving-Mr-Albert-America- Einsteins/dp/038533303X)</comment>


Stop adding email tracking links to phone numbers - <AUTHOR> https://shkspr.mobi/blog/2020/02/stop-adding-email-tracking-links-to-phone-numbers/ <comment><USER2> Clickbait title that implies that tracking links are commonly added to phone numbers, while there's probably just that one bug he noticed.

</comment><comment><USER3> From one of the comments, this FF add on rewrites links to remove tracking parameters:

[https://addons.mozilla.org/en-GB/firefox/addon/remove- fbclid...](https://addons.mozilla.org/en-GB/firefox/addon/remove-fbclid-and- utm/)

Too bad ssl makes it hard to this at the router level (similarly to Pi Hole, but for HTTPS, not DNS).

<comment><USER4> There's this addon as well that Firefox marks as "recommended", for whatever reassurance that may give you:

[https://addons.mozilla.org/en- GB/firefox/addon/clearurls/?sr...](https://addons.mozilla.org/en- GB/firefox/addon/clearurls/?src=featured)

"Recommended extensions are curated extensions that meet the highest standards of security, functionality, and user experience. Firefox staff thoroughly evaluate each extension before it receives Recommended status."

[https://support.mozilla.org/en-US/kb/recommended- extensions-...](https://support.mozilla.org/en-US/kb/recommended-extensions- program)

(presumably any extension like this has access to every URL you visit, which is enough to give me pause)

<comment><USER5> It requires all kinds of weird permissions, which also gives me pause. I'll trust it because it's recommended, but ... why does it want access to all data on every website?

<comment> yjftsjthsd-h How else would it rewrite links on every website?

<comment><USER6> It just has to modify the links you follow. You could get most of the way with a regex in the URL bar.

<comment><USER7> I'm not sure about FF internals, but if you want to stop the tracker bits from being sent, doing in the URL bar might be after the link gets sent to the server, in which case they still get the tracking info.

So you need to rewrite it before it gets clicked.

</comment></comment></comment></comment></comment></comment><comment><USER8> Tracking links are why I never just click on links anymore. I copy/paste them so I can edit out the spying nonsense.

<comment><USER9> I copy and edit, and then paste into a different private browser instance.

<comment><USER10> And I open them in a disposable virtual machine on Qubes OS :)

</comment></comment></comment><comment><USER11> For use cases where one wants to track calls, length or connection, the better way to do this is the click-to-call approach.

Have a button that says, "Call Me". If you have the user's number place a call to them and connect it to the destination number. If you don't have the user's number then collect it before placing the call.

There are much better tracking benefits and data collection for phone numbers.

If one is doing marketing and wants a person to call, there usually isn't much of a difference in conversion rate between a call to action like "Call 800-555-1212" and a form that will call you.

Source: An employer powered a metric shit-ton of advocacy call campaigns - like the STOP SOPA & PIPA stuff that took over the internet a few years ago.

</comment><comment><USER12> Is this common? Or is this a bunch of folks "doing it wrong" and not really getting anything out of it anyway?

<comment><USER13> It's most likely a bug. Some dev added tracking to all the href's and just didn't think about phone numbers. The title of the article sounds like they did it on purpose, which i doubt.

<comment><USER14> I'd argue that it is not a bug - it is a wrong assumption (that all URLs are http/https) based on limited experience.

With a typical bug code works not as author intended it to work. Numbers of such bugs can be reduced by testing and better tooling. But software development as an industry creates incentive to be overconfident and not to question own assumptions: developers who don't stop to read documentation/standards/gather information in anther way deliver more features in less time.

</comment></comment></comment><comment><USER15> > So, if you're writing link tracking software, please make sure only to add > parameter to URls where it makes sense.

Also take a moment to consider if you to track what links people are clicking on at all.

<comment><USER12> Internally at least I like to know how the web apps I write are being used.

Like if the first thing everyone does is open their "messages" ... maybe give them an option to just do that automatically.

Send that info to a third party ... no I'm not down with that.

<comment><USER16> So just look at the logs? Why is tracking link crap required?

<comment><USER12> I'm not sure it is "required".... depending on what you're talking about.

I was speaking more generally about what folks think of as "tracking" being a really wide topic that can involve totally innocuous "tracking" that is actually to their benefit, and far worse that is more of a dark pattern.

<comment><USER8> True. But tracking is so common and so widely abused that I think it's entirely reasonable to take the stance of blocking it all anyway.

</comment></comment></comment></comment></comment><comment><USER17> Is there another example of a company doing this? The title seems to imply that this is a widespread problem.

</comment><comment><USER18> As a marketer in a former life, I can't understand why somebody would do this. It's very cheap to get a separate phone number for each inbound channel and there's tons of software that will track which channels are working for you, starting at the low end with an intern and Excel.

<comment><USER19> It's just a bug. Somebody made a script that appends tracking codes to every <a href=".."> in the document.

</comment></comment><comment><USER20> For non-marketers here: you aren't supposed to use utms for internal links anyways. Doing so will break your analytics and there are ways to track button/link clicks without utms.

</comment><comment><USER21> Maybe just stop adding tracking links altogether.

<comment><USER22> Damn, you were faster. I was gonna write: "I can shorten the title: Stop tracking."

</comment></comment><comment><USER23> shhh.. if they figure it out they'll start to provision single use numbers (or LRU style churning) to track specific behaviors.

</comment><comment><USER24> I would argue that it's your phone that is in the wrong. The dialer should know that a `?` is not a valid DTMF tone, and strip all invalid characters.

There are plenty of use-cases where having tracking metadata is useful. I can't think of a single one where having a dialer interpret a `?` is.

<comment><USER3> As the article says, the standard for tel: urls specifically forbids the behavior you're describing.</comment></comment>


Ask HN: Facebook is making profit? Please help me here. - <AUTHOR>

You are smarter than me. Please help me here. I'm getting insane.
I read in many posts that "Facebook is making profit".
Where could I find at least a link to read 'reliable' information about this Facebook's profit?
Or does someone know at least how much profit they actually do? (And if you do, from where did you get this info?) <comment><USER2> A quick googling will yield plenty of articles that say that Facebook is profitable, from reliable news sources like Reuters and Techcrunch, but these all cite "inside sources" so we can't be sure. The problem with privately held companies is that they don't have an obligation to report their financial like publicly traded companies do. These sources could be guessing or exaggerating.

<comment><AUTHOR> Yes. "A quick googling will yield plenty of articles that say that Facebook is profitable".

But sadly this sounds to me the same as "most of the oil in the Caribbean just disappeared". Also "Beer is good" and "Angelina Jolie is beautiful" can be read in many web pages.

<comment><USER2> That's exactly my point...you'll find plenty of articles that say Facebook is profitable, but you'll notice that all of these articles quote "inside sources" so you can't be sure where their info is coming from or whether it is reliable.

I remember lots of stories about how profitable Demand Media was, even quoting the CEO saying it, but when they filed papers in preparation for an IPO, the profits were nowhere to be found.

<comment><USER3> as the first commenter posted, you won't find anything reliable as its better for them if they don't disclose their real numbers.</comment></comment></comment></comment>


Ask HN: A (free) Rails editor for newcomers - <AUTHOR> I recently made a career move and ended an eight year run of Lisp development. As you might have guessed I used Emacs exclusively.
On my first week in Ruby I've been trying out different editors to see which suits me most: Emacs, Atom, and Sublime.
I would like to know which other editors do you rubyists suggest to newcomers'?
(Thanks in advance. :-)
Edit: Although I'm looking for a free editor feel free to mention paid ones if you don't like any of the free ones. <comment><USER2> Try RubyMine by JetBrains..

<comment><USER3> Not free though. You can also add VSCode to the list. It's faster than Atom but slower than sublime (Which is also not free). Also it may be good to start with a plain editor than a fancy one like JetBrains and later purchase a fancy IDE when you have learned the inner workings to improve your productivity.

<comment><AUTHOR> I wasn't aware Sublime has a trial period thus I included on the list.

I edited the post a bit to accept non-free editors as well.

</comment></comment></comment><comment><USER4> VIM Emacs</comment>


Ask YC: A Hacker's Dilemmaa? - <AUTHOR>

I spent the last few hours working on a little script (http://fiemster.name/code/quikthot) that I hoped would solve the problem of writer's block.
There are plenty of sites out there are supposedly sites where people come and submit ideas of what to blog about, but all of the ones I have seen are entirely too convoluted.
After I finished this hairbrained attempt to simplify the whole process, I took a step back and immediately saw absolutely no redeeming value of what I had just done, and this made me feel incredibly sad.
Have any other hackers ever spent time on something they genuinely wanted to create, only to feel completely empty after they actually create it? <comment><USER2> For my very first attempt at online success, I spent the entirety of my 8 weeks of Easter holidays back in 2000 working my nuts off on a prototype that ended up not bringing one penny of return and was blasted out in just one presentation (though I learnt some powerful lessons in the process of failing miserably).

Seriously man, grow some skin. Wtf? "I feel incredibly sad that I wasted a few hours doing something that I can't see any value in, in hindsight"? I mean come on.

I'm really not trying to be overly harsh, but if you can't take the emotional turmoil of wasting a few hours on a _hare_ brained idea, then you might want to bury yourself in a coffin filled with cotton, because this world is too harsh for you. Life is full of defeats and failures - and that's when everything goes well. A life without setbacks would be as bland and boring as an over-boiled cabbage leaf.

 _Have any other hackers ever spent time on something they genuinely wanted to create, only to feel completely empty after they actually create it?_

If you've not done that a 100 million times, you really shouldn't call yourself a "hacker" - or even a "man", for that matter.

PS: Otoh, if you have a tendency to go through very deep/high ups and downs with no apparent relationship with reality, you might want to get yourself checked for bipolar disorder.

PPS: Oh, and btw, it's _dilemma_.

<comment><USER3> 8 weeks? Try 8 months of feverish work and in the end, nothing came from it. Sure, I know now that it probably was a wasted effort as a _product_ , but as a learning experience, it was invaluable. Failure is a part of life. You're right. You have to get over it and keep producing. Seriously, man up

<comment><USER2> Oh, I've done the 8 months failure thing too, I was just referring to my first attempt...

</comment></comment></comment><comment><USER4> I think I know what you're talking about. It actually sounds like an aspect of depression. Have you asked yourself if anything else is happening in your life that might contribute to your feeling sad? Are you in basically OK shape physically - getting _some_ exercise, _some_ sleep, _some_ nutrition?

The other thing is positive thinking. I don't mean "happy" thinking; I mean positive in the sense of foreground vs. background. Foreground is something that can help you get where you want to go; background is something you don't have that would have helped you. When building something, you attach things to what you've already got - not try to attach things to space! Trees grow this way; crystals do too. And lots of people talk about building or growing software.

There's a framing issue too: I find it really helpful to compare what I have now compared with what I had before (to highlight the fact that I've had _some_ impact). This is to counteract the frame of comparing what I've done with something that was better, was perfect.

Funny thing is, when I approach things in this "positive" way, I feel a lot more encouraged and inspired. Exciting ideas come to me from nowhere, and I have lots of energy. So, even though it seems like a fun, easy way, it results in much higher productivity. For me, anyway.

PS: there's a school of thought that depression is caused by formal reasoning errors ("cognitive distortions"). As a form of mind-hacking. I find it extremely fascinating: [http://www.amazon.com/Feeling-Good-Therapy-Revised- Updated/d...](http://www.amazon.com/Feeling-Good-Therapy-Revised- Updated/dp/0380810336)

</comment><comment><USER5> Better to create stuff and throw it out than to either not create it or to hang on to every little thing you do.

</comment><comment><USER6> Sure, it happens. But you almost always learn something from the experience, and get a bit or two of reusable code. This applies not just to code hacking... I have a lot of other hobbies (woodworking, electronics, cooking, etc.). There have been countless times some big effort didn't have the intended effect in the end, but rarely if ever has the experience been a "loss".

I would say though that I got over the whole "completely empty" thing afterwards a long time ago. Life is too short to get hung up on petty shit. Take what you can from the experience and move on!

</comment><comment><USER7> Generate quantity. Fail. Learn. Rinse. Repeat. The quality will appear. Success (and money) follows thereafter. Rate of return usually wholly dependent on the value to users generated. Don't worry about wasting a few hours/days as long as you make progress. Most important lesson, keep moving forward, keep going, even if slowly.

<comment><USER8> This is good advice. My grandfather had a saying, "If you have no failures, you are not doing enough."

<comment><USER4> "The man who never made a mistake never made anything"

</comment></comment></comment><comment><USER9> A few hours? I've had projects last years that I was eventually forced to scrap due to realized worthlessness...

</comment><comment><USER10> I write lots of stupid little projects that rarely get used, but by writing them I'm improving my skills and learning new things, so they're not a complete loss.

Plus I enjoy writing software. Sometimes it's more about the journey than the destination, blah blah blah...

</comment><comment><USER11> _I took a step back and immediately saw absolutely no redeeming value of what I had just done, and this made me feel incredibly sad._

I would rephrase that as, "...absolutely no redemming value _at this time_..."

You have just planted seeds. Of course you can see no "redemming value" right now. If you just planted seeds in your garden out back, you wouldn't see any results there either, _today_.

But just as the seeds in your garden will deliver results in a few months (provided you care for them), the seeds you just planted in your little "hairbrained" project, will also reap dividends. You just don't know when or what.

Sometime in the future when you least expect it, the lightbulb will go on and you'll figure out a cool solution to some other problem. What you don't know now (and probably won't even realize then) was that what you did today stirred a few neurons to enable that light bulb to go on in the future.

As hackers, _everything_ we do is either planting seeds or reaping harvest. If you didn't see a harvest today, that's because you were planting seeds. Just keep on working and trust the process; that's how we all get better at what we do.

</comment><comment><USER12> For what it's worth, I have searched for topics to blog about before only to find a crapload of websites trying to sell me articles.

I would love to see a simple, nicely designed site that I can just click to and get a great idea for a blog post. Your little script seems half way there, so it has value to me.

Do you intend to continue with it?

<comment><AUTHOR> I do. Got to add flagging capabilities and a few other things.

</comment></comment><comment><USER13> It's ironic that you were working on a script to solve writer's block, because this whole phenomenon of "immediately after I finished I saw the poor quality of my work and got depressed" you're talking about sounds an awful lot like writer's block.

I spent a couple of years in grad school before I decided to quit the field of computational biology. All that learning about DNA analysis was worthless, and I was sad about it. But in the years since then I frequently come back and draw analogies and use the things I learned. Just yesterday I was discussing the problem of developing a map from a large corpus of gps paths and realized, hey this is a lot like shotgun sequencing. A lot of stuff will end up being pretty useful.

</comment><comment><USER14> Not to belittle how you feel. Our feelings to ourselves are very important, but if you look at history and see what some of the greatest hackers have created, such as the atomic bomb, you might be able to get some perspective. Enrico Fermi said, in response to how could you create something so horrible, was that they were intoxicated but what the human mind could do.

</comment><comment><USER15> fortune cookie fortune that stays on my laptop:

"the benefits of our efforts are not always obvious"

this helps to remind me that any new project I work on helps me learn from simply the experience of creation. Additionally, there's no way to know how whatever you create (or half-create!) will benefit you in the future.

</comment><comment><USER16> I usually feel elation at having made something beautiful. Whether it is actually beautiful is debatable, but I think it is, and that buzz keeps me going.

I get sad when I make a toy and no one plays with it. Is that what you're feeling? I added some ideas to it. It's not a bad concept--just a limited, single-serving app.

</comment><comment><USER17> Why must all web apps have kewl spelling nowadays? How long before it's fashionable to put back the "E"?

<comment><USER16> Try and buy the domain with the "e" and see how much it sets you back. The e is not coming back until the domain name system changes such that .com is not assumed, so maybe with the new domain extensions, or just as likely, never.</comment></comment>


Boom in satellite ship tracking - <AUTHOR> http://www.bbc.co.uk/news/science-environment-28372461

<comment><USER2> Being a pilot, this technology reminds me of "Mode S" transponder systems transmitting to SSR and ADB-S to identify a civil aircraft by its call-sign and exchanging various other information with the recipient (e.g., to avoid collision). Here's the ICAO specs [http://www.icao.int/isbn/Lists/Publications/DispForm.aspx?ID...](http://www.icao.int/isbn/Lists/Publications/DispForm.aspx?ID=2052)</comment>


Anyone ever use codemyconcept.com for psd to html?  - <AUTHOR>

UI designer here, and was wondering if anyone had any experience with them? They seem pretty popular, html/css looks good, but anyone have an experience? <comment><USER2> So, this is a submission that names a URL for a paid service in the title of the post, and it was submitted by someone who JUST SIGNED UP for HN. Then there are two "supporting" comments in the thread, and they're both from users who JUST SIGNED UP.

If anyone else reads this, could you please help by flagging this thread? Thanks.

<comment><AUTHOR> Dude, im not spamming anyone. I just wanted to find out about a service.

<comment><USER2> Well then, welcome aboard! You might find more open-ended questions helpful (both in terms of getting an answer you want and in terms of avoiding it looking sketchy). For example, "I'm looking for a PSD-to-HTML/CSS service. I've looked at a few, including COMPANY X and COMPANY Y, but I'd love to get anecdata from any of you that have used them. Can you recommend them? Someone else? For this project, price is the most important factor; code quality is second-highest priority; speed isn't as big a deal. Any tips for how to make it a smooth process would be great as well." Or something like that.

<comment><AUTHOR> Sorry, didn't know. Trying to edit my title/description - how do I do that?

And to be honest...I just wanted to know about peoples experience with codemyconcept. I like there prices. I saw psd2html also who looked good, but they were too expensive for me. But any other recommendations that's cool too.</comment></comment></comment></comment>


App Sketcher released - a new way to do HTML prototypes - <AUTHOR> http://www.appsketcher.com

<comment><USER2> I'm starting to loose track of all the HTML/wireframing and prototyping tools - now i am on overload and dont know which one to use.

<comment><AUTHOR> I am with you:) I hope App Sketcher can bring in some fresh air. It's not using images or graphic objects to emulate web - it uses real HTML elements and jQuery UI components as building block on top of a webkit based design surface. So in a sense it gets you covered from concept/wireframe to prototypes and even into early phase of development.</comment></comment>


Ask HN: What's the strangest place you wrote code? - <AUTHOR> <comment><USER2> In the field at Aberdeen Proving Grounds, next to old WWI style bunkers that were prob. full of mustard gas or chlorine gas 100 or so years ago, in a tiny trailer filled with server equipment ... with a failing AC unit, in the August heat of Maryland.

Did I mention the power line run to this trailer couldn't handle the load we were putting on it, and the circuits would break every 15 minutes or so?

So yeah .. I am sweating, literally, and our field test is about to begin. This was an anti-IED system, using passive biometric collection capabilities. I had written a big piece of the software to integrate everything.

Then ... 10 minutes before we begin, we get a nasty bug. General Such and Such is arriving, followed by Cnl. Whomever. Then the AC cuts out. I am in this trailer, and have to code up a fix in 10 minutes, literally, in 105 degree heat, dripping in sweat, with PMs and more important ppl staring over my shoulder.

I did it ... while dripping sweat all over the keyboard. Hooray for me! I saved the day!

Craziest ... most intense coding I have ever done.

Still fail white board interviews though. =/

<comment> ryan-allen That's pretty bad ass. Were you part of the military or a contractor?

<comment><USER2> Contractor ... Biometrics firm. I loved this company and would still be there today had they not lost so many ppl with the draw downs in Iraq and Afgh.

BTW ... this is a true story. One of my career's shining moments.

<comment> ryan-allen Ah, I was asking to try and figure out the fear level, if enlisted, I would imagine there would be more fear? Either way. LOTS OF FEAR! Cool story :)

</comment></comment></comment></comment><comment><USER3> Bathroom of 7/11\. I was doing freelancing while still in college and we were traveling for a tournament in Lewisburg. I realized that I let a bug slip into production and had to get a fix out immediately. So there I was middle of nowhere, PA, connected to nearby Wendy's committing code fixes, while the guy in the stall next to me had crazy stomach problems. Somehow I still believe that the smell of Wendy's burgers that guy had were responsible for me writing about 50 lines + couple of tests in less than 10 minutes.

<comment><USER4> I wasn't in the bathroom, but I've had critical bugs pop up on side project while I was on vacation. Luckily I don't store code locally, my dev machine is on an EC2 instance. We pulled over and switched drivers while I pulled out my phone and loaded up vim over SSH and fixed the bug and pushed the update.

Not ideal, but it's one benefit of coding remotely.

</comment></comment><comment><USER5> The maternity ward waiting for and after my wife gave birth. Don't judge if you haven't been through it: with real life labor there is a LOT of waiting before the big dramatic moment you see in the movies, and afterward, a lot of sleeping for both momma and baby. You can go a bit stir-crazy from all the excitement and confinement. Gotta calm down the nerves with something.

<comment><USER6> I've done it twice, you're wife is a saint to deal with you and your addiction. But they all are because men seem to have zero understanding of how not to be self-obsessed and "in the moment".

Induced vaginal births are horrifically time-consuming though. If she can speak or hold her eyes open, it's not time to go to the hospital (from my experience, i'm not responsible for your baby being born in a taxi, I live in a suburb with multiple major hospitals within 5 minutes. Will Smith is not going to show up and pull that little alien out of you.

<comment><USER7> "I've done it twice, you're wife is a saint to deal with you and your addiction. But they all are because men seem to have zero understanding of how not to be self-obsessed and "in the moment"."

OP's wife may well be a saint, but you certainly aren't. FYI it's normally a bad generalisation if you're calling half the population of the planet "self- obsessed"

</comment></comment></comment><comment><AUTHOR> For me, it was on the NASA KC-135 zero-gee simulator aircraft, better known as the "Vomit Comet". Between parabolas, while experiencing 2 gees. While throwing up.

<comment><USER8> Q: why were you writing code there and not afterwards?

<comment><AUTHOR> We were collecting microgravity data. Found a bug. Couldn't waste the flight, they cost $20,000 per flight.

</comment></comment></comment><comment><USER9> I had an assignment in a group project in school, and a few hours before the assignment was due, people started all saying that they weren't going to be able to get their part done. Since I didn't want to bomb that assignment, I started working on it, but then the internet at my apartment went out. So it's like 9pm, assignment is due at 12am, and I didn't know where to go to get internet, so I take my laptop and go to campus but all the buildings were closed except one. So I got into the building, and then realized my laptop was almost out of power. So I went searching for an outlet and finally found one in the bathroom. So I wrote the rest of the group's assignment on the counter top in the bathroom.

<comment><USER10> Did you make it?

</comment></comment><comment><USER11> I coded every day I went to work on New Jersey transit into New York City with the following setup:

\- Ipad Mini in a case on the coat hook on back of the seat

\- Amazon Essentials Bluetooth keyboard

\- RasepberryPi3 with two wifi cards

\- IPad connected to one wifi card from above and other wifi card hooked into my phone's hotspot

It was great because I could have the IPad at eye level and my keyboard in my lap.

<comment><USER12> Great! I am new to this and this might be a stupid question as well. But I wanted to know that how did you get the wifi working in the subway station as the cellphone signals are not that great for phone's hotspot to work.

Please let me know.

<comment><USER11> To be clear: I was doing this on the NJ Transit above ground commuter rail.

The setup was like this: -Pi WiFi card #1 acting as hotspot

-IPad connected to network above

-ssh into Pi from the IPad

-Do coding and local git commits in the shell on the Pi

-Running IPhone with local host spot on

-Pi's 2nd Wifi card connects to the IPhone hotspot

-Pi also has packet forwarding/routing turned on so the IPad can connect through the Pi (acting as a router)

I would do the coding logged into the Pi from the IPad via ssh and do local git commits.

The cell service was generally good enough for git to connect to GitHub so I could do pushes etc

In turn, the Pi's 2nd wifi card

</comment></comment></comment><comment><USER13> Patched production via a blackberry on a merry-go-round at the state fair. My daughter insisted on ride after ride and production was down.

<comment> ryan-allen You may have won this one!

</comment></comment><comment><USER14> Standing on top of Berkeley Lab's Advanced Light Source storage ring.

My group managed a number of clusters around LBL, some belonging to scientists who felt more comfortable being able to see and pet their cluster, than if it were hiding away in a datacenter.

For clusters belonging to some of our beamline scientists, this meant hpc staff got to wear hard hats and dance around "Caution: Radiation Area" signs should the cluster need to be locally serviced.

[https://i.imgur.com/PeLI0Ls.jpg](https://i.imgur.com/PeLI0Ls.jpg)

[https://i.imgur.com/3SzSfOi.jpg](https://i.imgur.com/3SzSfOi.jpg)

[https://i.imgur.com/SJtpj1m.jpg](https://i.imgur.com/SJtpj1m.jpg)

</comment><comment><USER15> Programming a last minute fix on an SGI Indy on top of the ticket booth in a porn theater (Club Casa Rosso) in Amsterdam minutes before a live stream from the stage went out to the unsuspecting internet with the theater full of press. First live stream to the web on record. A hilarious moment involved some Hells Angel that apparently did guard duty there discovering me and thinking I was burglarizing the place trying to pull me down. Fortunately someone intervened before he succeeded :)

</comment><comment><USER16> Hollowed out mountain in Switzerland owned by a Russian oligarch somewhere in the world's top 100 richest people. Real James Bond villain style; elevator that rises out of the ground, several stories down etc.

I was working on his tennis court computer. When it was sunny, the roof of that section (several stories high to allow for a decent game of tennis) could slide open to let the sunshine in. He took us to a local restaurant for lunch afterwards.

</comment><comment><USER17> Me, as an Air Force Staff Sergeant, on a USAF C-141 parked on the tarmac at Elmendorf AFB, AK. In 1986, we had flown out of Wright-Patterson AFB, OH, as part of a "fly-off" antenna test on two C-141s, and the software was HP Basic on an HP 85e. We found a bug in either the RS-232 tape controller piece of the code, or the IEEE-488 frequency input selector code, so I had to patch in on the fly before the next two flights (Elemendorf to Thule AB, Greenland, then Greenland to RAF Lakenheath, England). Once patched, I copied the code and installed it on the similar C-141 parked next to us, and it worked fine for the rest of the trip.

I was just a small cog in a big machine, but it was a big career confidence builder, and has stayed with me over the years. Our base office was the Rome Air Development Center Propagation Branch at Hanscom AFB, MA.

</comment><comment><USER18> Halfway up a radio tower on a butte in Arizona. I was fixing some networking code on a network radio that we were developing and I just had a close encounter with a mountain lion on the ground, so I worked on my laptop while strapped in with a harness up high while I waited for someone to come pick me up.

</comment><comment><USER19> \- 1000m below the surface in an active underground mine, pitch black, surrounded by operating heavy diesel machinery, only illumination was the "think light" on my IBM thinkpad x60

\- On a remote glacier in the Yukon

\- In the Amazon jungle, fairly remote, being serenaded by monkeys and swatting mosquitoes and huge ants

</comment><comment><USER20> In some old security shack next to a Helipad in downtown Baghdad. Writing software to help track training of Iraqi soldiers as a contractor. Surprisingly fun work with people from all over the world.

An occasional explosion or mortar/rocket attack had us put on our armor, but overall it was pretty safe.

</comment><comment><USER21> I was coding a lot basically everywhere around 2008-2010 on my Neo Freerunner. In a tram, on a school break or boring lesson, in a shopping mall, on a beach, in a forest, in a hospital, near the church; basically anywhere I had some idle time (mostly waiting for someone else or commuting) and the battery wasn't flat.

The on-screen keyboard took some time to get used to, but having a complete GNU/Linux system with full development environment all the time near you was awesome. I've coded mostly in Python there, but not only. Ocasionally used SSH and VNC, but most of it was local - internet access wasn't as common and cheap back then as it is now, so basically used it mostly for quick fixes on the server while on-the-go.

Awkwardly, when I switched to Nokia N900 it turned out that its hardware keyboard was actually a disadvantage when it comes to coding - while great when typing natural language, it was too much hastle when reaching to special characters compared to typical qwerty on Illume's keyboard in SHR, with a rest point for the finger on Freerunner's screen bezel, which also was missing on N900.

Of course this all was when I was very young (15-20 yo). Now I have learned to apprieciate some rare idle time with just idling :)

</comment><comment><USER22> In a stuck elevator in a run-down medical office on the way to a dentists appointment.

</comment><comment><USER23> Fixed a bug while on honeymoon. Got a text message something was wrong; was at the forum shops at Caesars Palace. Googled for the closest Apple store (laptop was back in the hotel room at Mandalay Bay and I wasn't about to walk all the way back to get it - store was in the Forum Shops / 5 min away). Got on a laptop at the store; installed the software I needed (transmit trial, sublime text, etc...); fortunately I had all passwords memorized; fixed the bug; removed the software, cleared browser cache (and they say their wiped every night anyway) and went back to shopping with the wife.

</comment><comment><USER24> I fixed a one-line bug while on a plane using my phone through the plane wifi, remoted into a desktop machine that actually had the permissions and power to do a build, test it, and kick it over to the CI system.

I would not recommend it!

</comment><comment><USER25> In the shower. Realised I had committed an out by one error the previous night. Fixed it on my (waterproofish) phone.

</comment><comment><USER26> literally, sitting in the street, next to the Vatican to fix a bug before a demo with the Holy audience

<comment><USER27> If you don't mind my asking, what was the demo?

<comment><USER26> a web-based administration software to handle various things related to the Vatican's library and university, like physical access, people registration, accounting etc. kinda boring but still exciting for the good and the bad of working in that environment

</comment></comment></comment><comment><USER28> You might find this interesting, a story about the development of a popular ZX Spectrum emulator Warajevo:

"The grenades fell everywhere, there was little electrical power (at one time even the hospitals didn't have power for two months!). When we had electricity it was only for 2-3 hours during the night."

[http://www.worldofspectrum.org/warajevo/Story.html](http://www.worldofspectrum.org/warajevo/Story.html)

</comment><comment><USER29> I was failing over a web application/services to another datacenter from my house during Hurricane Sandy. The power had went out and I was tethered to my cell phone.

</comment><comment><USER30> Was working as a research assistant for my university's NLP department. Had a script to process a few gigabytes of text, knew it was going to take all night, so I ran it before I left. The code was still rattling around in my head on the bus and I realized I had made a mistake that would cause the output to be useless. Opened up JuiceSSH on my phone, logged into the server, fixed the code and ran the script, next day everything was peachy.

</comment><comment><USER31> In the back of the van, parked up on the side of the runway at an airfield. We were flight testing a UAV and the data logging system that should have been finished weeks before....wasn't. So we were bodging stuff together so that there would be at least some data logged from the flights.

Right in the middle of summer too, but luckily in Wales so actually quite a pleasant temperature in the back of the van.

</comment><comment><USER32> A lecture hall in front of a couple hundred students of "Topics in Mathematics for Engineers" (i.e., grab-bag of ODEs, PDEs, and linear algebra). I hadn't prepared a lecture for the day, so instead I did a live implementation of reduction to reduced-row-echelon form, in C.

</comment><comment><USER33> Inside fumarolic ice caves on top of Mt erebus, Antarctica. Also many other caves and erupting volcanoes.

<comment><USER34> Wow more info please

</comment></comment><comment><USER35> Not a code to deploy but on the address bar of an old kiosk browser. An ugly JavaScript script to escape the computer lockdown and access the filesystem. Always nice to debug a one huge line of JavaScript that outputs HTML/ActiveX.

<comment><USER21> My parents used to leave me near the computers in shopping malls when I was little. Shopping bored me to death, but I liked to fiddle with all the computers on the display. Trying to bypass some locks, just for the fun of it (and sometimes even succeeding! :)) and typing JavaScript into IE's address bar to display some fun stuff was always my main occupation :D Plus I didn't have to go with parents around the whole shop and they knew where to expect me.

I also vaguely remember escaping some "internet cafe" kiosk at some hotel during one of the abroad school trips. The kiosk had "broken" sticker on it and seemed actually broken, but some functionality still worked and after escaping the kiosk UI I was able to actually fix it (as we actually wanted to use it) - don't remember what was it though :( Some technician was probably either grateful for a null job afterwards, or lost an order due to me ;)

</comment></comment><comment> github-cat Is this place strange enough? [https://www.pixelstech.net/fun/58-How-hard-is- programmer-wor...](https://www.pixelstech.net/fun/58-How-hard-is-programmer- working)

</comment><comment><USER36> I had been brung almost by force in a karaoke place in SF where we were the four only customers. When I noticed that production was down the engineering team was sleeping in Europe, so I opened the laptop.

</comment><comment><USER37> In a Conex shipping container on the side of a mountain outside of Portland, OR. Was at a customer installation site and had to do some custom work on-site to implement a feature for them.

</comment><comment><USER38> On the porch of a the mud hut in a Bahir Dar, a village in the north of Ethiopia. Getting wifi from the neighboring hotel. The power would go out intermittently, and they would start the diesel generators. Fighting off mosquitoes. Eating toasted chickpeas and plum tomatoes. Drinking super strong fire-roasted ethiopian coffee. Good memory. And I finished up the code for the system I demo'd a few days later in Addis.

</comment><comment><USER39> While in the hospital receiving chemotherapy. But I don't think this even comes close to beating blackberry + merry-go-round.

Also, does "in a dream" count?

</comment><comment><USER40> Inside a church while it was at service. Good thing there weren't many people attending otherwise I guess it would be quite uncomfortable.

</comment><comment><USER41> While driving, typing on a remote connection using my phone. One key-press per minute (I was late to an urgent appointment).

Also, while sitting on a beach on my birthday with the wife of the CEO screaming at me down the phone line (Still not sure why she was involved, but it was a small family business).

Both outcomes were positive, but stressful (and in the first case, illegal) at the time.

</comment><comment><USER42> I regularly code on my phone in the park these days -

[http://www.instagram.com/p/BicfdE6AwsK](http://www.instagram.com/p/BicfdE6AwsK)

</comment><comment><USER43> In the back of a limo, tethered to a Motorola Q device, fixing ticketing code for a non-profit film festival which was kicking off that night.

</comment><comment><USER44> During the university we had to write code on paper for exams. Nowadays I think how weird it was.

<comment><USER45> In Soviet Russia, paper executes the code.</comment></comment>


Ask HN: Do you read partnership/distribution proposals? - <AUTHOR>

Ask HN: Do you go through several pages of distribution and partnership proposals or do you prefer receiving a short email that describes the nature of the proposed joint venture?<p>Thanks <comment><USER2> I think you almost always have to do both. The brief e-mail/discussions outlining how the two groups will be working together, and then the long- winded proposals which gets further into the details of what each side offers etc.

You'd be amazed at how two groups can differ in their expectations they have of what the other would be offering, therefore the long stuff is needed.

</comment><comment><USER3> Both.</comment>


Orthographic Pedant: Bot that scans popular repositories for common typos - <AUTHOR> https://github.com/thoppe/orthographic-pedant <comment><USER2> Hit one of my repos. Thought it was a grammar nazi friend trolling me at first. In the end I merged it. I now have a README.md with auxiliary spelt correctly.

</comment><comment><USER3> Theo Hultberg is grumpy: [https://github.com/iconara/cql- rb/pull/127](https://github.com/iconara/cql-rb/pull/127)

<comment><USER4> In the case of cql-rb, patches are most certainly _not_ welcome.</comment></comment>


Greenkeeper.io Enterprise partners with npm - <AUTHOR> http://blog.npmjs.org/post/141094613245/introducing-greenkeeper-for-npm-on-site?utm_campaign=20160315greenkeeper <comment><AUTHOR> Even though I try to be diligent about keeping my dependencies up-to-date, they tended to always drift away from truth -- updating is a sometimes frightening chore that's easy to put off.

I'm enabling Greenkeeper.io on all my OSS projects, and it makes this chore _much_ easier.

</comment><comment><USER2> The old adage goes: you can only fix what you can measure. In the same sense, Greenkeeper measures the churn in your dependencies, and allows you to manage (fix) the requirement for change that comes with it.</comment>


Malcolm Gladwell: Age Before Beauty - <AUTHOR> http://www.davidgalenson.com/malcolmgladwell-lecture.pdf

<comment><AUTHOR> From <http://news.ycombinator.com/item?id=268710>

</comment><comment><USER2> fascinating stuff.</comment>


Classic craigslist coding job ad Not to follow up - <AUTHOR> http://washingtondc.craigslist.org/doc/sof/1997496290.html

<comment><USER2> It gets even better when you follow the link to his page: <http://craignelsen.com/iphone_app.php>

He gives 4 "hints" as to what he wants this app to do (sounds like a real-time dating app, but who knows!?). He then asks you to not only give a Total Cost estimate, but also a completion date.

Next time you go to your doctor for a routine physical, ask him/her when the surgery will be complete and how much money it will cost. Do not offer additional details (such as any plausibly surgical conditions that you might have) if your doctor asks for them.

<comment><USER3> You don't give him any credit for having a web form to fill out?

</comment></comment><comment><USER4> So, I take it Hacker.com is one of those sites for the initiated where those "in-the-know" can sit around and disparage the uninitiated--where the experts can gather and imbibe that tasty brew of in-crowd mockery and self-satisfied contempt for their non-expert lessers?

Perhaps, then, jv22222, since you have made me the public target of your scorn, you'll add substance to your ridicule and teach me where went I wrong with my post seeking an app writer on craigslist (different Craig).

I should tell you, first of all, that this was not my first time placing an ad for coders on craigslist, nor will it be my first time hiring someone who answers an ad. They would tell you that I pay well for good work, that I pay on time (half up front and the remaining half immediately upon completion), and that I am flexible, responsive, and accessible. I also have at least a passing familiarity with coding (there isn't a lick of javascript on this page I wrote, for example, <http://craignelsen.com/>).

I thought the craigslist ad was good, but you obviously disagree. You don't say exactly what it is you find so objectionable, but, if I read between the lines, my description of the job was flawed, comprising merely "hints". Perhaps you can teach me how I could have described the job so that I met your standards without actually posting my idea on the Internet (it is not, btw, a real-time dating app).

If your beef was with the fact that my ad directs to a web page with a form to fill out, then I should tell you that, as someone who hires coders, I find the form eliminates a lot of the off-shore spam responses from companies that mass-reply to ads on craigslist. If you are not an off-shore company, I should think you would be appreciative of my approach, rather than disparaging.

Also, btw, a little public criticism of your post on grounds more in line with my field of expertise:

Your doctor analogy is untenable.

Craig Nelsen Washington, DC

<comment><USER5> You site craignelsen.com is objectionable - why are you busy loading thousands of little gifs to form a picture of yourself?

Maybe if you had included some of your previous experiences hiring craigslist coders with references, you would be received more warmly.

As it stands, your ad is crap in that it doesn't provide any useful information about the job or compensation. In addition, you're either a Director at "Buddy Clubs" or a Independent Non-Profit Organization Management Professional, whatever that means. Neither title inspires much confidence in programmers.

<comment><USER4> Since I didn't ask to be publicly identified--let alone skewered--on Hackers.com, my manner of approach is irrelevant, in my view. I won't be so rude as to call your post "crap", but why don't you give an example of the "useful information" you say is missing from my ad that justifies you calling my ad "crap".

I haven't read any other thread on this site, but I assume "HN's approach to comments" is widely ignored?

<comment><USER6> Cnelsen, the major problem with the listing is it lacks any detail about the project or how you expect to execute it. If you think a program is summed up by 4 bullets you have no understanding of what is involved, thus, you are in short 'the nightmare client'.

</comment></comment></comment></comment><comment><USER7> Compensation: tbd.

All I needed to see.

<comment><USER4> Because this is a bid job, if you'd bothered to see a little further. Maybe you should brush up on your job-hunting skills.</comment></comment>


4 Reasons why Bitcoin is not serving its core purpose - <AUTHOR> http://trustmelady.com/2017/06/24/4-reasons-bitcoin-not-core-purpose/ <comment><USER2> I agree. I would envision a world currency that can be used by everyone, no matter what, that is not affected with conversion rates, but can be used by everyone. Unfortunately, Bitcoin has taken on more of the form of a penny stock that just got lucky.

<comment><AUTHOR> Actually, I really liked the concept of crypto currency that we can use to buy a coffee at Starbucks or can have a beer but, as of now it is not feasible anyway.</comment></comment>