New FreeBSD Code of Conduct - <AUTHOR> https://www.freebsd.org/internal/code-of-conduct.html <comment><USER3> I wonder why tech communities need their CoC...

I'm a member of a local HAM radio group and we don't have any CoC and we don't have any issues at all. The male/female makeup is about 70/30 and there are people of various political/religious viewpoints, but I haven't once seen any issues over these differences. I've seen leftists amicably talk and work with conservatives because when we meet as a group it is all about HAM radio, nothing else. I'm not sure why tech communities have all these problems to be honest...it seems like there are groups that purposefully want to stir up discord because they make money (get funding) if there are issues...

<comment><USER4> I assume you have some standards of behavior, though, right? If a member of your group, say, punched another member, you'd probably kick him out, right?

If so: you have a code of conduct, you just don't have a _written_ code of conduct. You're relying on the relative homogeneity and shared context of the group to know and follow the unwritten rules.

This tends to work ok for smaller more homogenous groups with shared social values. But unwritten rules fail for people on the margins, and falls apart at scale.

<comment><USER5> > But unwritten rules fail for people on the margins, and falls apart at > scale.

How ever did society survive before written CoC's?

<comment><USER6> Badly. I for one am glad Bronze Age people had the brilliant idea to write down their laws, as I'm glad Romans and Byzantines decided to spread their legal system around.

<comment><USER5> I suspect we're the first to attempt to codify rude behavior.

<comment><USER7> > I suspect we're the first to attempt to codify rude behavior.

Many private groups have rules on good and bad behavior. There's simply nothing new about it.

<comment><USER5> I never heard of any before about 20 years ago when speech codes started appearing on campuses. I've been going to conferences for 40 years, and the first time I had to sign a CoC for one was last year.

It was simply if you behaved badly, you were asked to leave. Nobody needed a definition of rude behavior.

<comment><USER8> That's an interesting observation: a shift towards using a law-code paradigm for regulating personal social behavior, from an informal consensus-based one.

I suspect that has something to do with the fact that law codes are legislated by a select body, which is more susceptible to influence than an informal consensus.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> > Comments that reinforce systemic oppression related to gender, gender > identity and expression, sexual orientation, disability, mental illness, > neurodiversity, physical appearance, body size, age, race, or religion.

Harassment should be harassment, no? Does it matter if the perpetrator is "reinforcing systemic oppression" or just being obnoxious? Why put this clause in here? Will it be enforced when someone says "kill all men" or "apply for our speaking position if you're not a white male"?

This CoC seems sharply political, which is sad because something like FreeBSD should more or less be totally free of politics.

<comment><USER10> When "killing all men" type of behavior becomes problematic you will have a point. The problem has been that some people don't understand what "being obnoxious" is and need it spelled out for them. Because men have not been historically a target of oppression, the explanation now has the language that it does, using actual examples / lines of harassment.

<comment><USER9> And this is what I mean by dragging politics into an open source project where it doesn't belong.

> When "killing all men" type of behavior becomes problematic you will have a > point.

Every time someone "ironically" tweets this, it's a problem. I've yet to see a CoC used effectively to stop it.

<comment><USER10> Consider that from your point of view the open source project is free from politics and the anti-harassment policy is "dragging politics into it." But from the point of view of someone who has experienced harassment, politics were indeed an issue. The inconvenience to you is minor. You now have to spend an extra moment to consider another point of view. The inconvenience to your aggrieved peer was major. They were actually harassed. The benefit to them outweighs your annoyance.

<comment><USER9> Anyone can be harassed, white males included. There is a very legitimate fear of speaking out against extreme left wing political statements in the tech industry. This CoC is yet another weapon to use against people who don't agree in inherent white male privilege (a concept that is most definitely political).

The politically neutral move would be to not have a CoC or have one that excludes _all_ demographic white/blacklisting.

</comment></comment></comment></comment></comment><comment><USER11> > _Comments that reinforce systemic oppression related to gender, gender > identity and expression, sexual orientation, disability, mental illness, > neurodiversity, physical appearance, body size, age, race, or religion._

So, there's a lot of "politicking" going on back and forth over this, but I'd like to suggest a specific problem: by attempting to formalize what used to be intuition, you're opening the door for people to follow up bad behavior with legal arguments that it was actually allowed. For example, someone could say something that was obviously meant against a group, and then defend it by pointing to specific wording in the CoC. ("But can you _prove_ the oppression was systemic? Says the person who is obviously acting maliciously but is not obviously part of a system.")

<comment><USER10> Possibly. But the benefits outweigh the marginal scenario you are envisioning. I again return to the example of HN, which has higher standards of conversation than many other boards, due in part to strong moderating guidelines: [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

To draw a parallel, do you think HN would be more successful if it relied on "intuition" for norms of discussion?

<comment><USER12> The benefits of that kind of CoC remain to be proven. Meanwhile, I note that HN's moderating guidelines do not mention sex, gender, religion, food choices, or most of what FreeBSD's new CoC describes.

HN's moderating guidelines are about content whereas FreeBSD's new Code of Conduct codifies human behaviour, as the name would imply. They are different things.

<comment><USER10> To your first point: The detriments of that kind of COC remain to be proven as well. But why even bring this up? Even a perceived benefit to a marginalized group is worth it. Do we imagine the status quo as somehow harmed by stronger anti-harassment policies? There are numerous examples of sexual harassment online and in person. The potential chilling effects of stronger guidelines have to be weighed against the actual chilling effects (trauma, non- participation) of those affected.

To your second point: The BSD guidelines address content ("comments") and physical meetings, which I assume apply to conferences and hackathons. I don't see the distinction you are making between "content" and "human behavior," as content is human behavior online. There is good research on moderated communities. Anecdotally, I am talking to you here and not on Reddit because of stronger guidelines (and the resulting, to my mind, higher quality of discussion).

<comment><USER11> > _I am talking to you here and not on Reddit because of stronger guidelines > (and the resulting, to my mind, higher quality of discussion)._

That's a really interesting statement - I think that it has more to do with the actual people in the community (including the individual people moderating) than the guidelines they wrote. I think that if you took the HN guidelines and told a major subreddit's team to implement them, the discussion there wouldn't get any better. Why? Because it's all dependent on the judgment of the community and the moderators, and you either have that resource (and are already using it) or you don't.

</comment></comment></comment></comment></comment><comment><USER13> I've always read that whitelisting is more preferable to blacklisting. So wouldn't a rule like "FreeBSD projects' communication media are strictly restricted to technical and philosophical discussions related to the projects themselves, and all use of language for branding and naming must be politically and socially neutral and not-offensive" would be actually better than a list of what not to do? The law has lots of lists, and quite often we find out that those lists were a bit too short, and things like loopholes happen.

</comment><comment><USER14> If more and more groups insist on forcing their ideological agenda down the throats of contributors and users maybe it's time to start hacking on projects that don't feel the need to bring politics into software.

<comment><USER15> This is the exact opposite: It's rules for how to work on code without bringing personal crap into it. Do you want a date? Do you think there is something wrong with trans people? Do you have thoughts on race relations? Nobody cares, check that baggage at the door.

<comment><USER11> As far as I can see, the real problem here is that some forms of baggage are still allowed (an inevitable problem with any finite list of rules), meaning that you will end up with baggage imbalances and endless debate over which baggages are permissable self-expression and which ones are unacceptable.

<comment><USER16> It is not a finite list of rules. It is an explanation of the values (eg, respecting diversity) and a list of examples of things that are obviously prohibited. It is explicitly "not an exhaustive list of things that you should not do", and although it does list some _examples_ of things that are prohibited - it provides examples that are "not limited to" the ones provided.

This clearly reduces the ambiguity in the community. And even if some ambiguity does remain - which, as you point out, is inevitable - <USER2> examples of obviously impermissible behavior and a framework for conflict resolution is requisite for a community.

</comment></comment></comment></comment><comment><USER17> I very much empathize with Code of Conduct, and as many I regret that it is necessary to have to make explicit what seems fairly obvious.

On a tangent though, I feel the word "harassment" is now generalized and used for any "inappropriate conduct". It loses the meaning that I'm getting from dictionaries ( [https://en.oxforddictionaries.com/definition/harassment](https://en.oxforddictionaries.com/definition/harassment) and [https://www.merriam-webster.com/dictionary/harass](https://www.merriam- webster.com/dictionary/harass) ) or Wikipedia ( [https://en.wikipedia.org/wiki/Harassment#United_States](https://en.wikipedia.org/wiki/Harassment#United_States) ) which seems to include some specific elements that make it stand out, like "repetition" or "persistence" in a behavior, or continuing after someone asked to stop.

<comment><USER18> >I regret that it is necessary to have to make explicit what seems fairly obvious.

I don't think it was (necessary). Given the incident where someone tried to get a github user 'fired' from a project for 'transphobia' on twitter, I have no faith anything wrong even happened in FreeBSD's virtual workplace.

</comment></comment><comment><USER15> This is great: simple and easy to understand. For everyone feigning confusion about modern professional behavioral norms, just memorize this list.

<comment><USER19> Or "anyone not familiar with the fashionable norms du jour, here's a list of potential thought crimes as derived by one country's culture (and its internal conflicts, cultural politics, and religious and post-religious baggage) and imposed on supposedly global communities".

<comment><USER20> In what country is it acceptable to not treat others with basic courtesy and respect? Which is really all the list is asking for.

<comment><USER5> Why not just say that, then?

<comment><USER21> Because experience has taught us that some people need it explained in a bit more detail what constitutes basic courtesy and respect.

<comment><USER5> If they don't know it already, I doubt thrusting a CoC document at them will enlighten them. People who are rude are intentionally rude. It's kinda the whole point to being rude.

<comment><USER21> I agree with you to some extent, but note that we have all sorts of traffic laws and not just a generic "drive safely."

</comment></comment></comment></comment></comment></comment></comment><comment><USER22> This makes me sad. Do people _really_ need to be told what not to do and say like that? To me it feels insulting that I am not trusted to be nice to others.

<comment><USER20> Given that there's groups of people railing against being told not to do the things on this list, yes, apparently.

<comment><USER22> Not liking being told what not to do does not imply that you want to actually do it though. Maybe I don't want to leave the house today, but that doesn't mean I will accept being locked up.

<comment><USER7> > Not liking being told what not to do does not imply that you want to > actually do it though. Maybe I don't want to leave the house today, but that > doesn't mean I will accept being locked up.

So you agree with the contents of the code of conduct but your not going to following them just to be difficult?

</comment></comment></comment></comment><comment><USER10> I am always surprised at the backlash against such codes of conduct. One can point to numerous cases of harassment, abuse, and inequality in the tech community. Who is harmed by a stronger CoC? Let's discuss an example where CoC led to a negative outcome for some group.

<comment><USER23> What's the purpose of a Code of Conduct? If someone is abusive and harassing others, you can eject them without having some Code of Conduct giving the community permission to do so, and if you lack clout to eject someone for actual abuse and harrasment, how will CoC help you? Do you think that without CoC, people in the community believe that harrasment and abuse is OK, and it's only CoC that will make them change their minds?

Instituting the CoC is a power play. It allows you to increase your power and influence by pushing the boundaries of what counts as harrasment much further than it would otherwise be understood, for very simple reason — for most people, fighting against CoC is not the hill they want to die on, as nobody wants to be seen as defender of abuse and harrasment.

It is similar to child pornography legislation — you can go to jail for hand drawn pictures of specialized children, which is pretty stupid if you think about it, but most people don't care: they aren't pedophiles and so they aren't interested in sexualized content featuring children, and the personal gain of feeling good about defending individual freedom and liberty is not worth the status loss from, you know, defending actual pedophiles.

With CoC it is similar — you are expanding your sphere of power and influence, and everyone opposed is just dirty defender of abuse and harrasment, and so basically a harraser herself, and thus we need to eject her for the good of the community.

<comment><USER10> Let's take a starker example, for the sake of the argument. The building I live in today did not allow Jews, Asians, or people of color until the 1960s (my family would not be allowed in). An explicit Code of Conduct, now in our bylaws, prohibits discrimination based on those categories. Was it a "power play"? Would you make the same argument as above to justify not passing bylaw amendments that argue against discrimination?

The BSD rules are a softer version of that starker example. I am truly perplexed by the resistance to it. It has huge benefits for a marginalized group and marginal inconvenience for those already in power, already privy to all of the benefits.

</comment></comment></comment><comment><USER24> I wonder how short you could make a code of conduct. Here's my attempt:

1\. No politics

2\. No religion

3\. Don't be a cunt

<comment><USER25> Your rule 3 would probably create a looooot of drama.

So, attempt failed.

<comment><USER24> > Your rule 3 would probably create a looooot of drama.

I could provide a translation into US English. Asshole? Jerk? Douche?

</comment></comment></comment><comment><USER26> I like that they tried to define terms, but what does "the ways" mean? For example, would someone not be allowed to say certain things, and if so, what are those things?

> Systemic oppression: The ways in which history, culture, ideology, public > policies, institutional practices, and personal behaviors and beliefs > interact to maintain a hierarchy — based on race, class, gender, sexuality, > and/or other group identities — that allows the privileges associated with > the dominant group and the disadvantages associated with the oppressed, > targeted, or marginalized group to endure and adapt over time. (Derived from > Aspen Institute, via Open Source Leadership)

Edit: Added example ambiguity.

</comment><comment><USER27> Copied from [https://news.ycombinator.com/item?id=16377044](https://news.ycombinator.com/item?id=16377044)

Reddit discussion: [https://www.reddit.com/r/freebsd/comments/7xapx2/freebsds_ne...](https://www.reddit.com/r/freebsd/comments/7xapx2/freebsds_new_geek_feminismbased_code_of_conduct/)

Comments from one of the people responsible for creating the CoC are here: [https://www.reddit.com/r/freebsd/comments/7xapx2/freebsds_ne...](https://www.reddit.com/r/freebsd/comments/7xapx2/freebsds_new_geek_feminismbased_code_of_conduct/du7200b/)

</comment><comment><USER28> There is a reason why laws are not drafted as specific as this code of conduct.

If someone can think of another way of harassing then making "Harassing photography or recording, including logging online activity for harassment purposes" it's allowed? I doubt that's the intention. So why the oddly specific rules?

<comment><USER29> _So why the oddly specific rules?_

Not weirdly specific rules; weirdly specific examples. And the answer is "because these are things which have happened".

</comment></comment><comment><USER30> It's sad that things like this have to be explicitly spelled out

<comment><USER31> While I've been persuaded that the CoC trend is probably net positive, I am still very interested in this larger background problem.

"There is deep infantilism in the culture ... They want to be told, or, they want to decide and say, 'This is good, this is bad, I'm saying so.' Anything that in any way conflicts with that is not to be borne." -Stephen Fry

</comment></comment><comment><USER32> "Only permanent resolutions (such as bans) may be appealed." \- why?

</comment><comment><USER33> Bryan Lunduke did an episode on this: [https://www.youtube.com/watch?v=SxNdQJSlg54](https://www.youtube.com/watch?v=SxNdQJSlg54)

</comment><comment><USER34> Can someone please explain why this was necessary and what was wrong with the previous CoC?

</comment><comment><USER35> Hugs and kisses. If you don't mind.

</comment><comment><USER8> Where has the official debate or contributor feedback about this CoC been occuring? I've looked through the FreeBSD forums and mailing list archives, and I haven't seen a peep about this, not even an announcement.

</comment><comment><USER36> [https://github.com/Ybalrid/FreeHugsBSD](https://github.com/Ybalrid/FreeHugsBSD)</comment>


Explore Handshake Domains Today - <AUTHOR> https://medium.com/blockchannel/explore-handshake-domains-today-9b087ed77a25 <comment><AUTHOR> ABOUT HANDSHAKE. Handshake is a decentralized, permissionless naming protocol where every peer is validating and in charge of managing the root DNS naming zone with the goal of creating an alternative to existing Certificate Authorities and naming systems.

After less than two month of launching you can no only buy domains but now you can explore site that use Handshake to resolve their DNS.</comment>


Show HN: Bluetooth 5 and Bluetooth Low Energy – A Developer's Guide - <AUTHOR> https://www.novelbits.io/book <comment><USER2> The entire bluetooth ecosystem is an enigma, and I say that as someone that has spent the last couple of years professionally developing embedded systems primarily using Nordic Semiconductor parts, one of the flagship companies of the industry.

It is one of the most reviled protocols by developers, when they are the users. Yet, the basic goal of Bluetooth has always been to vertically integrate the entire OSI model, from Application to Physical to Application. So one might say they've taken a bigger bite than they can stomach.

I haven't dabbled with 5 yet, but I believe I could effectively tutor any HNer in 4.2, if they were willing to put the effort that learning anything worthwhile requires.

One of the largest paradigm shifts coming from the TCP/IP stack world, to the Bluetooth world, is that you are inherently creating application level "software", but since its highly embedded, "firmware" developers end up doing a big chunk of that work. Ew.

For instance in BLE, or Bluetooth Low Energy, to integrate a heart rate monitoring application, the Bluetooth specification defines a heart rate service. As the name implies, the heart rate service encapsulates all of the information that is pertinent to monitoring hearts, given sufficient sensors.

A service is made up of characteristics. As the name implies, characteristics are data structures that encapsulate a single piece of information that would likely be useful at the application level. In the case of our heart rate monitor, it is simply the frequency at which your heart beats. Your heart rate.

In the parlance of Model View Controller, the actual sensor logic to provide that heart rate, is traditional embedded development, and out of the scope of Bluetooth.

However, that Model's main deliverable to our microController is that heart rate. We don't care how he got it, we trust him to measure hearts.

At least in Nordic's implementations, and I would assume others, there is a callback you register, associated with each characteristic. This callback's job is to transfer the heart rate from the model, to the user of said heart. So the callback is calling the highest level client call into the model, uint16_t myHeartRate = getHeartRate(); Then the heart rate value is given to the radio subsystem firmware, which is almost always code written and owned by the chip vendor, whether thats TI, or Nordic, or whoever.

So, in summary, if you find that you've focussed on the View side of the MVC world for your entire career, you will likely find both the model and the controller very confusing. Your first instinct, like all novices, will be to say "I'll show these guys how its done". So you'll eschew your own Design Patterns, and attempt to bring the model and the controller back into the view. Let me know how that works out. On the other hand, if you accept that iPhones and Androids are actually just Views, you may come to realize that a separation of concerns was a pretty ok idea after all.

<comment><USER3> How does Bluetooth compare to ANT+ in that regard?

<comment><USER2> Well, I kind of think of it as a distribution, just like debian, or mint, or whatever. Even though they all say their the best Linux, as if that is somehow tautological. The nRF52832 can do both Bluetooth and ANT, because they share common lower level protocols.

I haven't used ANT in a project yet, but I've worked at places that have, just on other teams. It has a more restrictive license, and you have to sign NDAs to even get the key binaries. Thats not to say that Nordic's mainline BLE is open source, but the closed source binaries are freely distributed.

My educated guess though is that Bluetooth developers have "tricked themselves" into thinking they've mastered a design, when they've actually just learned a little more about todays implementation. But as any nordic developer knows, focusing for any measureable amount of time on SDK12 just means you're gonna be super pissed when you hear about SDK13, and thats because nRF decided to totally rewrite SDK14, which will eventually fail hard enough long enough to convince them to spin up into SDK15.

But like they always say, Trust us, we only hire the best.

Edit: something something word word

<comment><AUTHOR> What you're describing focuses too much on the implementation on a specific platform. It's true that each vendor will provide their own way of doing things (perfectly normal), and things will change as well (also expected). But you have to also keep in mind that there is a lot that can be learned about the Bluetooth protocol and technology itself that is independent of the platform its implemented on. If the developer does not understand the protocol and specification, then they will end up getting sucked into the implementation of the specific platform. I don't work for Nordic nor have any affiliation with them, but from my experience, their support is top-notch and I love the community interaction and support they offer through their DevZone site. No vendor is perfect, so it goes without saying that there will always be pros and cons.

<comment><USER2> Believe me, I stick with Nordic, and I think they stand the best chance at success. My overall point is that the system is basically at the point where it is nearly impossible to be a generalist, and very painful to be a specialist. So whats left?

The release of SDKs, and softdevices, and silicon are accelerating. If you are supporting customers on SDK12, who have heard about the shiny new features of SDK14, by the time you've signed the contract to do the migration, Nordic is imminently releasing SDK16. Forget the odd numbers in between.

<comment><AUTHOR> Some good points there. I agree that things are accelerating at a rapid pace that's hard to keep up with!

<comment><USER2> I literally put my foot down with one of my fellow developers about a year ago, because we kept wasting 30 minutes everytime we'd discuss some bug, because he'd be referring to SD132v2, SDK11, NRF52832, but since I was developing for a client that day who prefered SD132v3 SDK12 NRF52832, I kept saying "dude, I promise you that bug does not exist", while he keeps screaming "bro, I've got the breakpoint hit right now!!!".

Our solution was to standardize all of our conversations, by first saying, 52-132v3-12 has this bug, yadda, yadda. And that worked great for a couple of months, until Nordic decided to release a better product, the nrf52840, but couldn't find enough courage to make a unique name for it.

So, I predict that in the very near future, Universities everywhere will make Linear Algebra and Deep Learning prerequisites for Introduction to C and Embedded. Because thats the only way you'll ever stay ahead of anything for more than an instruction cycle.

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> Sadly this book is probably of limited use because it doesn't appear to cover getting BLE (Bluetooth low energy) to work with Android and iOS.

Using BLE according to the standards is relatively simple if you have control over both ends of the communication link. Unfortunately in most cases you have a BLE device that you wish to talk to a smartphone or tablet. In this case you have no control over one end of the link because that is controlled by the smartphone chipset and the OS (Android or iOS). Getting BLE to work well and consistently across a range of smartphones and tablets is tricky because the API has changed between OS versions, with Android becoming more focused on preserving battery life rather than offering developers a way to make BLE work in the precise way they want. In addition chipset differences means even with the same version of the OS you get different behaviours especially when multiple BLE devices are involved.

Lots of the nice stuff in the standards flat out doesn't work with iOS and Android. Out of band pairing (except NFC pairing on Android) doesn't work meaning in most cases you have to revert to insecure pairing methods because your BLE device has no user interface.

<comment><AUTHOR> First, a disclaimer that I'm the author of the e-book listed.

Yes, I agree that getting BLE to work with smartphones is not an easy task. The APIs are ever-changing and evolving and differ across different devices as well. In the end, though, they must adhere to the official specification and provide an interface to the underlying protocol.

There are many embedded developers that are looking to learn the protocol and don't know where to start (myself included, especially when I first starting learning the technology). The specification is quite overwhelming and there is a lack of resources that cover both theory and implementation together.

The book is targeted at embedded developers with the goal to help them learn the basics of the technology by guiding them through various exercises and examples. There are also many new use cases popping up where an embedded platform is used on both ends making the task easier (compared to pairing with a smartphone app).</comment></comment>


Kindleberry Wireless: A Portable Outdoor Hackstation - <AUTHOR> http://maxogden.com/kindleberry-wireless.html <comment><USER2> It's an interesting hack. I do wonder whether or not it's a little over- engineered. When you look at the costs of all the kit versus maybe an older OLPC type computer off ebay I'm not sure how well it stacks up.

Then again, it's probably pretty good in sunlight and despite the refresh rate issues considering idle time in an editor it might be a very good use of the e-ink screen. And as I said, it is a nice hack. Certainly better than most raspberry pi posts I've seen.

<comment><USER3> The issue with an OLPC is that the keyboard is terrible. And battery life at least didn't use to be much better than with netbooks.

<comment><USER2> Sorry I had a brain fart, I meant UMPC and bluetooth keyboard. No idea where OLPC came from.

</comment></comment></comment><comment><USER3> This is taking concepts like my current 'Android workstation' to the extreme: <http://bergie.iki.fi/blog/working-on-android/>

That said, I can certainly see the appeal of a device with a week-long battery life and a sunlight-readable screen for some sort of 'hacking retreats'. I could imagine writing something big on the Trans-Siberian Express with a similar rig.

</comment><comment><USER4> Nice hack. I would have liked to see some power draw measurements on this. The LiPo battery is a good source of power, however if the draw is low enough, a portable solar power source would allow for indefinite usage (perhaps even charging the LiPo, which would be used as a night time power source only).

</comment><comment><USER5> Its an awesome hack but i dont really see the benfit vs some ultrabook with a matte screen. Batterylife is worse sure, but most probably you wont be sitting somewhere without power for more than 4-5 hours anyway.

<comment><USER4> Perhaps you need to think of this hack as something that is useful not in the case of when you are stuck in a place for only 4-5 hours, but instead something for when you deliberately plan to be off the grid for more than 4-5 hours.

</comment></comment><comment><USER6> Such a fun idea. And I had no idea miniature USB-powered routers existed... definitely added to my wish list. I'm saddened to say that I haven't put my Pi to creative use since receiving it a few months ago.

<comment><USER7> If you buy this one(1) and load OpenWRT(2) on it, you can probably pretty much skip the RasPi, plus you can stick a 3G stick in the side and be online anywhere.

(1) [http://www.newegg.com/Product/Product.aspx?Item=33-704-127&#...
(2) http://wiki.openwrt.org/toh/tp-link/tl-mr3020

</comment></comment><comment><USER8> I'm convinced that e-ink displays will become ubiquitous in a not-so-far future.

A e-ink screen is a great idea for a workstation aimed at text editing, be it writing emails or programs or even using spreadsheet software.

I spend most of the day in front of a screen blasting light into my face and I find it very aggressive. I'd be ready to pay a good price for a 20"-ish e-ink display that i could plug into my PC.

</comment><comment><USER9> He says the setup means terminal only. I'm not familiar with the Kindle, but there is a browser "built in". Perhaps it is very awkward to switch between the terminal and other apps, but it should be possible to do webdev with a server on the Raspberry and test in the Kindle browser.

<comment><USER10> i am not sure if that is possible actually, since the kindle's browser's connection is routed through amazon's servers to optimise the webpage for the kindle and to compress it. therefore it might not be possible to access local pages on it. although there could certainly be a hack allowing this.

</comment></comment><comment><USER11> The refresh rate problem possibly has a neat solution from computing history. Surely those people using punched card and paper tape have some ideas that could be useful?

Maybe instead of updating the screen every keypress it could update every time Enter is pressed?

<comment><USER12> E-ink screens can do incremental refresh. <http://youtu.be/OKCDXwCmPUA?t=15s>

Though not with proper grey-scale rendering.

</comment></comment><comment><USER13> I _loved_ the screen of the OLPC XO laptop. I know we're really pushing for high resolution/Retina displays, but when it comes to laptop and mobile screens, usability in portable/mobile situations is desirable.

<comment><USER14> Someone should definitely do a Kickstarter project just to make such a screen.

<comment><USER15> Such a screen exists [0], but it's only available in raw form [1] or in overpriced, underspecced, undersized laptops [2].

[0]: <http://pixelqi.com/> [1]: <http://www.makershed.com/Pixel_Qi_display_p/mkpq01.htm> [2]: <http://www.cloversystems.com/SunBook.htm></comment></comment></comment>


JekyllConf – A free online conference for all things Jekyll this weekend - <AUTHOR> http://jekyllconf.com <comment><USER2> "Building Client-Editable Jekyll Sites 15.30 - 16.00 George Phillips (@gphillips_nz) CTO at CloudCannon"

This should be the main presentation-- it's the biggest obstacle (from what I see).</comment>


Case Study: How to Build the Best Online Appointment Scheduling Software - <AUTHOR> http://blog.scheduler-net.com/post/case-study-appointment-scheduling-software-yocale.aspx <comment><AUTHOR> A case study describing how the use of a ready calendar control contributed to the attempt to create the best online appointment scheduling software in the market.</comment>


Commodore Releases Prototype Photos Of New Commodore 64 - <AUTHOR> http://www.geeky-gadgets.com/commodore-releases-prototype-photos-of-new-commodre-64-17-03-2011/

<comment><USER2> My first computer! This brings back those good old memories of programming in Basic with only 64K of memory.</comment>


-2000 Lines of Code - <AUTHOR> http://www.folklore.org/StoryView.py?story=Negative_2000_Lines_Of_Code.txt <comment><USER2> I had a job interview once where the HR rep asked me how many lines of code I wrote a week. I responded, "On a really good week -1000, I don't remember the exact figure." She was extremely confused by this answer and wanted me to give her a number. So she said, "I'll just put down 10,000."

This is also the interview where they refused to continue unless I told them how much money I made (which I don't do anymore). The justification they told me was that they weren't going to give me a 20K raise if I wasn't making that much right now. I didn't point out that they aren't giving me a raise, they are paying me market value based on what the position is worth (to oversimplify it).

I was offered the job but decided not to take it because that plus the technical interview made me wary.

<comment><USER3> > The justification they told me was that they weren't going to give me a 20K > raise if I wasn't making that much right now

Even after 20+ years in the labor force, I've never understood that justification. "I'm a nosy bastard" at least has a ring of truth to it.

<comment><USER4> Don't be so literal about it. I used to get defensive about that question too, but the truth is they aren't asking you how much you are making, they are asking you to start the salary negotiation so they can get a feel for what it's going to take to hire you and describe you adequately to a hiring manager. It's just an opportunity for you both to ballpark the situation and eject early if there's going to be a wide disagreement about comp. It can be equally advantageous to both parties if you use it properly.

<comment><USER3> No... there are recruiters who are a lot more invasive and pushy (and a couple employers I've run across).

"Proof of previous income" was required at one place I applied years back, and I've heard similar stories from colleagues. No, of course, I don't bother going forward in those situations.

"What are you making now?" is crass. The good recruiters I've worked with phrased it as "what are your salary expectations?" or "the range is $x-$y - are you OK with that?"

I've taken it literally in situations where they actually _meant_ it literally. "We will not pay you $80k until you can prove you were making $80k at your previous job". Insane, but it does happen on occasion. How those companies ever manage to hire anyone... I'm not sure.

<comment><USER5> I've gotten "I need a number for us to continue" multiple times.

<comment><USER6> Just say "my salary expectations for this position is $XY0,000". I use it as an opportunity to set the ballpark for the negotiation. Sometimes bosses don't know what people are worth so they ask these kind of questions. Once we opened an office in a new country, and when we hired people, we asked them what they expected and gave them that + 20% because we really had no idea how much we should be paying.

</comment></comment></comment></comment></comment></comment><comment><USER7> It's not just old managers that dislike negative lines of code: Static analysis tools dislike them too, under the right bureaucracy.

At a certain huge company that sells seeds, they decided to start having both a base test coverage target, and a specific plugin that demanded that the coverage never went back more than half a percent from the high water mark on any given project. The engineering managers thought it was a good idea: As time goes by, we'd have better code coverage!

I joined a team that had an application full of repetitive code, because nobody had spent much time thinking about reuse. I decided it was bad for maintainability, and the team let me rewrite a big chunk of repetitive, well tested code. I shrunk the codebase by a good 10K LOC, and it still did the same thing. Teammates liked what I had written, and everyone was happy. But when I pushed it, the build refused to deploy, because now the code didn't meet coverage standards.

The manager was mad at me: you wrote all that code, but I guess your unit tests were sloppy! he said. But when I went and looked at the code changes, I had a 100% code coverage. Since I am not a football player, I just couldn't give 110%. So then we look at the reports, slowly, and saw that while I had full code coverage, the code I was replacing also had full code coverage, but mine was so much smaller, our total coverage percentage went down! 1000 lines of uncovered code, in a codebase with 30K lines, gave us better numbers than the same lines in our shinier 20K LOC codebase. And building tests for some really old, badly factored code just wasn't in our top list of priorities.

The people in charge of this system refused to change it, even though it was really not helping things in our case. So what did we do? Fool the tool, of course. Added a bunch of well tested dead code that was never going to get called in production, and wouldn't even get built into the binary, thanks to some packaging magic. We put it in a separate module, clearly marked as 'dead code to make Sonar happier', and we went our merry way.

<comment><USER8> Great story! You should submit this to [http://thedailywtf.com/](http://thedailywtf.com/)

<comment><USER9> Given that all I could think was "wtf?!" as that story went on, definitely!

</comment></comment></comment><comment><USER10> 4 months into a new job, and I realized I had contributed about -4000 lines of code. I thought, how weird it would be to explain (especially to someone less technical), that I'd pretty much just been deleting code since I started. I'd also added a number of important features along the way.

Since then, I've taken some pride in trying to be a "net negative" (by line count), contributor to any code base I work on. Not always possible, but it's a good mindset to strive for leaner designs/implementations.

<comment><USER11> There was someone at Google whose total code delta over his tenure was something like -2M. Yep, two million lines of code deleted. May we all be that productive.

<comment><USER12> "Oh, him? That's Chuck. He just runs our commits through a minifier and takes credit for the lost lines. Means well, but he's kind of a jerk."

<comment><USER13> This is the funniest comment I've read all week.

</comment></comment></comment></comment><comment><USER14> "If we wish to count lines of code, we should not regard them as 'lines produced' but as 'lines spent'."

\- Edsger Dijkstra

</comment><comment><USER15> One of the most interesting experiences I had very early on in my career was reducing a 12,000 line C program to a roughly 1,000 line version (in C itself) without losing any functionality.

No, it had nothing to do with my prowess as a young coder, but solely due to the fact that my predecessor did not know what a function was nor how to use parameters.

He had written unrolled versions of the same piece of code, with embedded SQL with minor variations in WHERE CLAUSE values which could be easily parameterized.

All I had to do after analyzing the code was move the code into a function and loop through it with different parameters values.

Such is life.

<comment><USER16> ... I remember deleting ~500 C++ files .. they were all classes that differed by a constant, so I just passed in a parameter. Was not popular at all, they liked lots of files.

<comment><USER17> That sounds stupid. Did they not know about inheritance or template classes or anything??

</comment></comment></comment><comment><USER18> "One of my most productive days was throwing away 1000 lines of code."

       — Ken Thompson

[http://quotes.cat-v.org/programming/](http://quotes.cat-v.org/programming/)

</comment><comment><USER19> I worked at a furniture company where in order to delete code you had to have the head IT guy, the IT Director and an outside consultant sign off on it. Yes, that is right! 2 people that didn't know how to code and an outside consultant that we paid to look over "IT" moves before we made them.

However, I didn't need anyone to sign off on commenting out code and replacing it with something else. :-)

<comment><USER20> Could you one week later delete "comments" without sign off?

<comment><USER19> I was one of 2 coders that worked there, but we did different things. We were supposed to do "code reviews", monthly with each other. We did, but we usually went to a Denny's (open 24 hours) and literally hung out there for 15 hours, ate 3 times, etc and reviewed things. We cared about code quality and not having to band-aid.

We had a saying: "Comment in a fix....". This is our way of saying to each other that we needed to re-write code and to get around "red tape" we would comment out and replace the code.

So if comments confused things, we removed them, with a comment that previous comments "were confusing" or "no longer applied" :-)

</comment></comment></comment><comment><USER21> Brings to mind the classic:

> "Measuring software productivity by lines of code is like measuring progress > on an airplane by how much it weighs." \- Bill Gates

</comment><comment><USER22> I finished up a 24-month project earlier this year on a codebase of ~1M lines in which I dropped a net of almost 100k lines of code and reduced the main Visual Studio solution from 325 projects down to 105 projects. Compile times dropped from ~40 minutes to 6 minutes. If only all my projects could be that fun.

<comment><USER23> What kind of software takes 1M lines of code and 105 project? Is it one of those Java enterprise software projects?

<comment><USER8> Banking software, hospital software, nuclear reactor software. Not all people are writing self-contained web applications.

<comment><USER22> Late reply, but yes, it's hospital software.

</comment></comment></comment></comment><comment><USER24> I worked somewhere where the support manager somehow managed to get approval to bill his costs against each product group based on the lines of code in their product. We spent part of a week refactoring and reformatting to cut it by 70% before we gave him our numbers.

<comment><USER25> That's brilliant.

I would love to know how he reacted and what happened next.

<comment><USER26> I really hope he was happy that his nefarious plan worked where he managed to make his job easier while improving the product.

</comment></comment></comment><comment><USER27> I wish the output from _git diff_ used red for new lines and green for removed lines...

<comment><USER28> Stock market indicators in China are reversed in colour from the western world (up=red, down=green). Sometimes I wonder if Github really should be flipping the colours on diffs for Chinese language users for the sake of consistency.

<comment><USER25> Do you know if that is because up is generally "bad" for them, or because red means "good" and green means "bad"?

<comment> X-Istence Red is considered good and prosperous. Hence the huge amount of red in Chinese culture.

[https://en.m.wikipedia.org/wiki/Color_in_Chinese_culture#Red](https://en.m.wikipedia.org/wiki/Color_in_Chinese_culture#Red)

</comment></comment></comment></comment><comment><USER29> Once had a compiler QA gig. Was kinda lazy. So, I wrote a nonsense code synthesizer. Just take the BNF and belch out code. Millions and millions of lines of code. A fun variant was to create a class hierarchy that would run 100's of levels deep. I showed it to marketing. They asked: "Can you do that for <competitors> compiler?" "Sure thang!". Soon, there was an ad showing how our compiler could handle a lot more bloat than their compiler. Not my proudest achievement.

</comment><comment><USER30> Imagine being a civil engineer, and your boss says "how much concrete did you use? I'll pay you to use more."

Or an electrical engineer: "How many resistors did you solder? I want them all gone."

Or an aeronautical engineer: "What does the plane weigh? I was expecting a few more tons."

Or a traffic engineer: "Why haven't you put more stop lights in?"

Or a mechanical engineer: "More gears!"

Always hard to get the bean counters to appreciate elegance.

</comment><comment><USER31> This story is about how useless LOC is as a metric.

But negative LOC alone is just as useless a metric as positive LOC. It's easy to come up with examples where deleting unused code is actually harmful:

\- Just delete all comments

\- Remove platform code you are not using now, but might in the future

\- Remove reference code because you are only using platform code

\- Remove test code that is just not called yet, but really should be

\- Remove code from a copied library that is now harder to keep current

\- etc..

<comment><USER32> _\- Just delete all comments_

This is definitely harmful, agreed.

 _\- Remove platform code you are not using now, but might in the future_

Definitely. It's in the repo if you want to get it back, so there's no reason why unused code should be in your source.

 _\- Remove reference code because you are only using platform code_

Yes. Remove everything you're not using. It's in the repo.

 _\- Remove test code that is just not called yet, but really should be_

And again. Remove it if it's not used. Or start using it. Nothing else is acceptable.

 _\- Remove code from a copied library that is now harder to keep current_

You should probably be pinning versions of libraries otherwise you're going to see things break in the future. Upgrading them is a feature.

Deleting comments aside, using negative LOC as a metric _does_ encourage people to write better code.

</comment></comment><comment><USER33> Writing code is like playing jazz. It's not about the notes you are playing, its all about the notes you are not playing

<comment><USER34> or with similar sentiment.. "Music is the space between the notes" Debussy

</comment></comment><comment><USER35> I deleted a couple thousand lines this week. It felt awesome. But you'd have to admit that rewarding based upon deleted lines of code could be even more dangerous than rewarding added lines of code.

<comment><USER36> the moral here is not to be dogmatic.

</comment></comment><comment><USER37> Porting a large piece of PC code to a console:

\- every deleted line meant we could have more content

\- the code ran faster

\- there were, axiomatically, fewer bugs (and we fixed a lot of bugs on the way)

\- the code was more understandable

</comment><comment><USER38> I work on a large Android app.

I have absolutely no idea of what my average LOC / week is and I would argue that it is a silly metric.

Last week I deleted 30k LOC from the project (~10% of the code base) :

-we used to have both the old & new version of the UI in the codebase so we could switch between the twos in production. Now that the new version is complete, there is no need for that.

-There were many deprecated parts of the app and unused resources, I did a big cleanup of these and I have even more work in that area.

This has resulted in way cleaner code, easier to apprehend for newcomers. The app is also lighter by 2 mo. Probably a very productive week overall.

</comment><comment><USER39> Folklore.org has plenty of other great stories from the Mac team. I remember reading some of these long before the Steve Jobs biography was released.

</comment><comment><USER40> I deleted 205 today. Felt good.

<comment><USER41> It's funny that other programmers feel the same way. I've never discussed it with other developers much, but I also derive a degree of satisfaction when refactoring if I leave the code with fewer lines than it had originally.

I'd say I'd enjoy deleting 200 lines to adding 200. It's like sitting down in a freshly cleaned room once you finally get your chores out of the way.

</comment></comment><comment><USER42> I was surprised when YC asked something similar in their application:

"If you've already started working on it, how long have you been working and how many lines of code (if applicable) have you written?"

My response ... "I personally believe that using "lines of code" is a crude metric as it favors the sloppy programmer who doesn't write compact code and discourages code reuse by utilizing libraries and frameworks."

<comment><USER43> I think you'd improve your response by answering:

1234 LOC, but I personally believe that....

IMO, the answer to a question like that begins with a number (if applicable) and contains commentary only after the number. (I agree with your commentary, just disagree with the value of not answering.)

</comment></comment><comment><USER44> Similarly, the number of git-commits is also a poor judge of how much work was done. When CI builds automatically build release notes based off of the git- log since the last successful build, this can be deceiving.

</comment><comment><USER45> I guess the management finally realized that deleting codes without breaking existing functionalities is more difficult than adding :)</comment>


Men do everything they do in order to get laid - <AUTHOR> http://www.psychologytoday.com/blog/the-scientific-fundamentalist/200807/men-do-everything-they-do-in-order-get-laid-iii <comment><USER2> Ok, obviously I have too much time on my hands today:

I do not think there is a single sentence in this article that does not contain some unsupported position or outright fallacy.

> The similarity between Bill Gates, Paul McCartney, and the criminals (in > fact, all men in evolutionary history) points to a very important concept in > evolutionary biology: female choice.

What similarity, precisely? Logically this claims B implies A where A is the similarity of all men and B is the principle of female choice. Yet A is a vague and unspecific. We cannot reason about the truth value of B->A when A is vacuous.

> Imagine for a moment a society where sex and mating were entirely a male > choice; individuals have sex whenever and with whomever men want, not > whenever and with whomever women want. What would happen in such a society? > Absolutely nothing, because people would never stop having sex! There would > be no civilization in such a society, because people would not do anything > besides have sex.

This is laughably false. There are two assumptions required for this argument:

1\. A man's desire of sex surpasses all other desires. Also stated as: given the choice between having sex and any other activity, a man will always choose to have sex. 2\. A man is able to have sex continuously.

Both are demonstrably false, the second is laughably so.

> This, incidentally, is the reason why gay men never stop having sex: > Sexually active straight men on average have had 16.5 sex partners since age > 18; gay men have had 42.8

First, the statistic offers no support for the assertion that the absence of female choice leads to more sex among gay males. It says nothing about the frequency or duration of the activity, just that they are on average more promiscuous. It may be the case that hetero men have more frequent sex with those fewer partners.

Additionally, even if it were true that gay males have more sex on average than straight males (because of male choice), it does not support the previous argument. In order to avoid contradicting the earlier argument regarding civilization, this assumes that all gay males contribute nothing to civilization, again demonstrably false.

> In reality, however, women do often say no to men. (In my experience, they > always do.)

So maybe the author is projecting in this article?

> This is why men throughout history have had to conquer foreign lands, win > battles and wars, compose symphonies, author books, write sonnets, paint > portraits and cathedral ceilings, make scientific discoveries, play in rock > bands, and write new computer software, in order to impress women so that > they will agree to have sex with them.

While impressing women may be a motivating factor in these endeavors, it is hardly the sole or primary factor. In my experience scientific efforts are rarely motivated by lust for women, and it is arguable that for most it's history computer science has had a chilling effect on mating. This is an incredibly myopic view of achievement throughout history.

> There would be no civilization, no art, no literature, no music, no Beatles, > no Microsoft, if sex and mating were a male choice.

This is a restatement of the central position in light of the latest claims, which are unsupported.

> Men have built (and destroyed) civilizations in order to impress women so > that they might say yes. Women are the reason men do everything.

The first sentence may be true. But the second sentence does not follow from it. This comment itself is a counter example: it is in no way motivated by a woman.

> For a man to walk into a bar and have his choice of any woman he wants, he > would have to be the ruler of the world. For a woman to have the same power > over men, she'd have to do her hair.

Nice quote, but not logically supported. Just an humorous anecdote by a comedian. Maybe this article is satirical comedy?

> In other words, any reasonably attractive young woman exercises as much > power as does the (male) ruler of the world.

Again demonstrably false, even limiting this argument to sexual choice, the most powerful man can take by force what he wants while many attractive young women today have trouble finding a match acceptable to them, even temporarily.

> Put differently, every woman has the power to predict the future, while very > few men do.

Even in the limited sense claimed by the article this is obviously false.

> If a man wakes up in the morning and says to himself, "Tonight I will get > laid," the prediction will fail a vast majority of the times, unless he's > incredibly handsome.

False. I am married and my wife has a higher libido than I do. Even if she was not in the mood, if I really wanted it, she would not deny me. I am not incredibly handsome.

> If a woman -- any woman -- wakes up in the morning and says to herself, > "Tonight I will get laid," the prediction will always come true every time.

Again he stretches his statement so far that it is laughably false. Any woman will find a partner for the night, every time? Yeah right.

</comment><comment><USER3> _This, incidentally, is the reason why gay men never stop having sex..._

Except that gay men _do_ stop having sex for long enough to have careers as thespians, musicians, software executives, etc ad nauseum.

This undermines the whole point of the article.

</comment><comment><USER4> Isn't this fairly obvious?</comment>


Apple retires Snow Leopard from support, leaves 20% Macs vulnerable to attacks - <AUTHOR> http://www.computerworld.com/s/article/9246609/Apple_retires_Snow_Leopard_from_support_leaves_1_in_5_Macs_vulnerable_to_attacks <comment><USER2> Can you imagine if Microsoft did something like this? Leaving 20% of all Windows users unsupported!

For me, it's just another example of the kinds of things Apple can get away with and no one bats an eye. 20% of all Mac users must upgrade or risk being unsecure. So what the upgrades are free? What if you have a critical piece of software that isn't compatible with the latest OS X? Or what if your hardware can't support an upgrade?

EDIT: Some people are making comparisons to MS dropping XP support, but I don't think that's a fair comparison since XP was released in 2001 and Snow Leopard in 2009.

<comment><USER3> I assume you're referring to the 30% of Windows users (XP) that will be left unsupported and unprotected in April of this year?

<comment><USER4> Snow Leopard release date: August 28, 2009

Windows XP release date: October 25, 2001

<comment><USER5> Also, hardware bought that had Windows XP on it would be ancient today. We're talking Pentium 4s here.

Mac hardware from 2009 is still very capable for what most people use it for: office suite, email and web browser.

(I could argue a optimized Windows XP computer from that era could still do well with today's software, but if someone is still using Windows XP on 10 year old hardware, it's probably running subpar)

<comment><USER6> Mac hardware from 2009? My early 2011 MacBook Pro came with Snow Leopard and it has an i7. It's still plenty fast enough to run several VMs, an IDE and do real(TM) work on it.

</comment></comment></comment></comment></comment><comment><USER5> What legitimate reason does Apple have for not updating Snow Leopard? All I see is a company trying to force unnecessary hardware or software purchases on people. Most people just need a web browser and an Office suite, they don't need the new features of Mavericks or the latest hardware.

It's only 4 years old. Microsoft's Windows XP is still supported until April 8th, after 12 long years. Disappointing for Apple.

</comment><comment><USER7> That titles seems alarmist. It could also be stated that the users who aren't upgrading are leaving 20% of Macs vulnerable.

<comment><USER8> Lion requires a 64-bit Intel CPU. All of the initial Intel Macs cannot be upgraded past Snow Leopard. All PowerPC Macs cannot be upgraded past Leopard.

<comment><USER9> Even the 64-bit CPU won't run Lion if the EFI is 32-bit.

</comment></comment></comment><comment><USER10> It was already high-time for upgrading my second-hand Core 2 Duo 1.8 GHz Mac mini from Snow Leopard to Linux. The hardware is still running strong, so there's no reason to hold it back in OSX-land...

<comment><USER11> Snow Leopard is still the best OS X I know (now being on Mountain Lion), it was fast and efficient.

It still works wonders on the old Core 2 Duo and I wouldn't upgrade any of the older machines I have.

</comment></comment><comment><USER12> So now we have afternoon and morning versions of HN? [https://news.ycombinator.com/item?id=7310404](https://news.ycombinator.com/item?id=7310404)

</comment><comment><USER13> To me the bigger news here is that this bug has been in the wild for at least 5 years.

<comment><USER14> It hasn't. The 'gotofail' bug doesn't exist in 10.8.5 or earlier.

The 'news' here is that Safari6 & 7 received updates but Safari5 didn't. Piggy-backing 'gotofail' is just alarmism.

</comment></comment><comment><USER15> Apple is a hardware business. It pays to make their hardware obsolete.

</comment><comment><USER16> Great, so now there will be another army of zombie computers. Thansk very much Apple. Perhaps I should start forwarding spam I get.

<comment><USER17> Wait, was this an arbitrary code execution bug?

<comment><USER16> Encryption bug could be used by malware, but there were also several others bugfixes in that patch:

> The update, the first since mid-December, patched 32 other vulnerabilities > in various versions of OS X, including six in QuickTime, Apple's media > player, and more disturbing, four bugs that could be used by attackers to > bypass the application "sandbox," an isolation technology designed to > minimize damage when malware does make it onto a Mac.

</comment></comment></comment><comment><USER18> No, customers leave themselves vulnerable.

<comment><USER19> No, they bought a device that was secure, or least supposed to be. They didn't do anything to change that. If a flaw is discovered now that existed back then it should be addressed to recover to that state again.

Let's be honest: Apple is making money selling new hardware, so they have no incentive to provide support over a long period of time that does not generate new revenue. Nothing more, nothing less.

<comment><USER18> Exactly. I stated above that it is a user's fault for not keeping up to date and making poor technology choices.</comment></comment></comment>


Expedia preaches connectivity and productivity in new Seattle HQ - <AUTHOR> https://www.geekwire.com/2019/wi-fi-rock-high-tech-place-expedia-preaches-connectivity-productivity-new-seattle-hq/ <comment><AUTHOR> I'm curious whether my opinion is the minority on this one. I like having my own desk - where the chair is adjusted the way I like, cleaned as often as I'd like, the desk moves to my presets, my keyboard and mouse don't have to be retrieved from a locker on a daily basis, and I don't have to worry each day about where I'll be sitting. But maybe there are benefits I'm not aware of.

<comment><USER2> Whether you're in the minority I can't say but you are not alone at least. The description of their workspace sounds absolutely horrid.</comment></comment>


Are you a programmer with chronic headaches? If so please read - <AUTHOR> http://jacquesmattheij.com/Programmers+with+chronic+headaches+please+read <comment><USER3> _Until I was 30 the word 'headache' didn't even exist for me. I never really understood what other people were going on about._

There are two phenomena that never cease to amaze me. One is this one: You go through life hearing about Problem X ("migraine headaches are really debilitating!") but you never quite know what the fuss is about. Then you _get_ your first migraine headache and as you're sitting there in the dark feeling nauseous and miserable you suddenly think to yourself "oh, _this_ is what my friends were talking about! Hey, they weren't kidding!"

Every time this happens it somehow takes me by surprise. I guess that, however much you try, you can't easily imagine the actual experience of pain. You have to be shown.

The other phenomenon is that you get _used_ to your own pains, and then find yourself unreasonably surprised that other people don't intuitively understand them. I've worn glasses since I was eight years old, contacts for a couple of decades off and on, and I've been a professional laser scientist (i.e. "someone whose eyes are in chronic danger") so Jacques' story surprises me: You mean other people _don't_ go to the ophthalmologist every year? Oh, right, they probably don't. I only know that intellectually; I don't really remember that from day to day until I read a story like this one.

Human communication, empathy, and imagination are astonishing abilities, but you do discover their limits.

<comment><USER4> Great comment. And it's even worse with less common ailments like Asthma or Chronic Fatigue Symptom. My wife has Asthma that is triggered by a number of different things including perfume and smoke. People often dismiss concerns she raises about perfume or smoke as her just being picky when it's really a health issue. But you can't see it and most people never experience it so that makes it harder to take seriously.

<comment><USER5> 1) eat a healthy breakfast

2) sleep at least 7-8 hours a day

3) exercise

<comment><USER6> These are great advices, good for everyone, but it won't cure asthma. I eat healthy breakfasts, sleep generally enough and exercise at least 1 hour a day, and I don't suffer from asthma thanks to inhaled corticosteroids I take every single day.

</comment></comment></comment></comment><comment><USER7> Ah, the "I don't need glasses, it is only that my arm is too short" effect. That's a well known ageing process. The lens of the eye is an elastic body that bounces back to a more spherical form if you focus on something in the near, but over the years the material becomes less and less elastic, so the nearest point you can focus on moves further and further away. (That is on reason why small children trying to show you something hold it right in front of your nose: for them it is the distance where they can see small things best.)

<comment><USER8> Thanks for that note about kids holding things close up. I had never thought that better flexibility of their lens might be the reason.

</comment></comment><comment><USER9> That's spot on. Also known to cause headaches:

* Lack of sleep

* Lack of magnesium or iron

* Too much sugar/fat

* Caffeine withdrawal symptom (and the cure isn't more caffeine ;) )

* Bad position (especially in the neck)

* Flu, cold, etc.

<comment><USER10> > Caffeine withdrawal symptom (and the cure isn't more caffeine ;) )

I don't know about that, actually. Caffeine is the active ingredient in (low- power, over-the-counter) migraine medication, because it has anti-inflammatory properties. People who have chronic headaches may be unintentionally self- medicating with caffeine; for them, the caffeine withdrawal period becomes concurrent with their _regular_ headaches returning.

More anecdotally, when I don't drink caffeine (and I do go off it for months at a time), I get headaches on and off, about once per week or so. When I _do_ drink caffeine, though, I literally never get headaches.

<comment><USER9> [http://en.wikipedia.org/wiki/Health_effects_of_caffeine#With...](http://en.wikipedia.org/wiki/Health_effects_of_caffeine#Withdrawal)

If I remember correctly, caffeine's purpose in migraine medication is to accelerate the delivery of the payload.

<comment><USER11> It was my understanding that it is included because many people taking headache pills don't actually realize that they are caffeine addicts and don't recognize the withdrawal symptoms for what they are. This makes the pills more effective in making that class of headaches go away by eliminating the withdrawal symptoms, sort of how heroin is an effective cure for heroin withdrawal.

<comment><USER12> > It was my understanding that it is included because many people taking > headache pills don't actually realize that they are caffeine addicts and > don't recognize the withdrawal symptoms for what they are.

If true, I would find that rather disturbing.

<comment><USER11> Many things about the OTC drug market in America are rather disturbing. 26k people per year are hospitalized from acetaminophen poisoning, and about two die every day. It's the scumminess of the pharma industry, with less adult supervision.

</comment></comment></comment></comment></comment></comment><comment><USER13> I have a -18,50 D in my right eye, and -18D in my left, with a small non- progressive cataract in both pupils (it's in the genes, mother has them also). Not to mention the spherical abberation and the PVD I've had in both eyes, due to a combination of kickboxing and my eyes being so bad, It triggered the condition at young age.

I can't look at white screens for too long, the floaters in front of my eyes will start to give me headaches because they distract me from my focus point. I've been getting chronic headaches for a year and a half now, but even though I'm pretty handicapped in my eyesight, here are some tips:

\- Make sure you're not staring into bright daylight/ not sitting right next to a window, which will make it harder for you to focus. \- Use as much black as possible, a black theme is a must for your editor! I hated Zend studio when they stopped being easily to configure in the theme department. When I found Apatana Studio I fell in love with the default dark themes.

\- Make sure your monitors are up to date. Your resolution and sharpness of Fonts must be adequate. And if you feel yourself leaning over to read something on your screens. We have a problem... I'm sporting two 27" monitors right now at EYE HEIGHT. Which leads me to...

POSTURE POSTURE POSTURE POSTURE POSTURE. \- Leaning forward is NOT good. Better, angle backwards a little bit if your chair allows it. If you start leaning forward, your back muscles will tense up, which will tense up your shoulders, which will tense up your neck...which will tense up your scalp, and there we go, chronic tension headache. Relax your shoulders, make sure they're not shrugged up when you're using your keyboard and mouse. Otherwise fix your chair/desk height.

\- Ok so we can also get the migraines out a little bit, they are more often caused by eye strain, or poor circulation. Quit smoking, leave your work area for a short stroll from time to time. I get the sharp migraines a little bit less.

\- Tension headaches might also result from a misconfiguration in the bedroom area. Wrong mattress, wrong cushions: headache.

<comment><USER14> -18D is well in the legally blind territory, correct? I'm around -5D in my worse eye and I can't imagine something three times worse.

</comment></comment><comment><USER15> I've always had headaches but some months are worse than others. I wear glasses for driving but generally not for every day wear (it's a psychological thing) and I've generally put it down to that.

After 3-4 days of a constant splitting headache which felt like I'd been hit with a cleaver, I noticed a lump at the back of my head/neck. This was finally enough to make me go to the doctor (obviously fearing brain cancer or some other deathly disease). The doctor diagnosed "Occipital Neuralgia" [1] which is basically the compression of one of the scalp nerves as it exits the spinal column. As I often end up slumped forward in my chair, head angled up, this was compressing those nerves and causing the pain. It had never occurred to me that the pain could have a physical cause. Since then, better posture control has meant very few headaches.

The lump it turns out is just a swollen glad, possibly from an unrelated minor infection or from the swollen nerve itself.

[1] <http://en.wikipedia.org/wiki/Occipital_neuralgia>

<comment><USER16> This.

My osteopath calls it "programmers bump" :)

Pains in the back of the head, or down the side of the face it is almost certainly neck/back related. After suffering a couple of years with on/off head pain I finally figured this out & it literally took a couple of sessions to work the tightness out.

(I had a scare too because the trapped nerves in my neck caused lumps to appear all up and down the length of it :S not fun!)

So, yeh, I second the recommendation to get a medical professional to look at posture.

</comment></comment><comment><USER17> I have frequent headaches that were made a lot worse by a motorcycle accident a decade ago, and I've spent a lot of time experimenting with different things.

 _In my case_ , the biggest factor seems to be muscular, and doing trigger point massage has _almost_ eliminated the problem. There are an _amazing_ number of muscles that can cause some kind of headache (not just including neck muscles but also a bunch of jaw muscles reachable from the inside of your mouth...) It's now gotten to the point that depending on which type of headache (temple, top of head, stabbing in the eye, etc.) I get, I pretty much know which muscle to massage.

So, my obligatory reference for people who have chronic back pain or headaches: The Trigger Point Therapy Workbook ww.amazon.com/Trigger-Point- Therapy-Workbook-Self-Treatment/dp/1572243759

</comment><comment><USER18> Every time I get more headaches than "normal" I go check my eyes.

For the last year I've had neck pain and terrible headaches many times a week and often the whole weekends.

Turns out it's not my eyes, it's how I sit, stand and walk. I've tried swimming(with glasses so I don't bend the neck further). Not much luck with swimming, gonna try going to the gym and exercise shoulders and my back.

The doctor applied some "body tape" to my back, shoulders and neck so I could feel in my skin if my posture was outside a normal posture. If you have headaches, try that.

Next step is to try to be aware of my posture when working, surfing and playing games. That's really hard, and I keep forgetting how I sit. :-( If you have any tips for me I'd be glad.

<comment><USER19> Have you tried rowing? It exercises your whole body and helps reinforce good posture when you make an effort to maintain good form. I plan on buying my own indoor rowing machine next month.

<comment><USER18> I have tried it occasionally, it's nice exercise. Since you mentioned it and I've happened to read about it on reddit I think rowing might be a the exercise for me. I'm going to try it a few times and see how it feels. Thanks for the tip!

</comment></comment></comment><comment><USER20> With my left eye, I can't focus on objects closer than 12 inch.

With my right eye, I can't focus on objects further than 26 inch.

I have glasses to correct this, but without glasses I can comfortably use a computer at a 'sweet spot' distance of 18 inch ;-)

Any closer and my left eye image begins to become blurred. Lately I've done a lot of fine soldering work, and then it becomes really obvious. I think I need reading glasses, too.

<comment><USER21> My left eye is "lazy" (sorry, I don't know what's the equivalent term in English) that means that most of the work is done by the right one. If you have the same condition, it would explain the acute difference.

When it was diagnosed, they told me that it was too late to correct. For children "pirate patches" are used to blind the good eye and train the lazy one.

<comment><USER22> I'm the same.

If everyone reading this discussion takes only one thing away from it, I hope it is to watch out for their kids in case they develop a bias towards one eye. You can do something about it, but only until they are about 7 years old. After that, the problem is to do with the development of the brain rather than of the eye, and today's medical science has no way to correct it.

BTW, there is definitely an English term "lazy eye", but I don't know whether it has the same meaning or refers to another specific condition.

<comment><USER23> My guess is that like lots of other medical wisdom/folklore about the adult brain, we'll eventually find workable exceptions to the idea that favoring one eye is irreversible after a certain age. Physical qualities of the eye that contributed to the initial imbalance can now be surgically corrected; neuroscience has found that creation of new brain cells continues far later in life than previously thought; some drugs (including SSRIs) have been found to trigger neurogenesis in adults, as does exercise.

</comment></comment></comment></comment><comment><USER24> I was getting terrible headaches for a few months before I tried turning my screen brightness down around 20%. Daily headaches instantly became monthly headaches.

Getting new glasses might be the solution for some people, but for others, it could easily be something like having your screen brightness just a little too bright or dim.

</comment><comment><USER25> Here's the thing about headaches though - what triggers it for one person is not always the same for another.

The motivation to share advice is admirable but it's just as mistaken as similar "this is the path to my success, you should do it too because it should work for everyone".

<comment><USER17> What you say is true, but it's better to try and see if it helps than not to.

</comment></comment><comment><USER26> As someone who deals with eye strain daily due to vision problems that can't be corrected, some days, it just wear me out and leave my physically exhausted. It's unbelievable how physically tiring it can be.

To combat this, I do a few things:

\- Try to take frequent breaks, even if it's just closing my eyes for a couple of minutes

\- Keep the room lighting at the right level - not too bright, not too dark

\- Use larger fonts and good contrast - a black background on my text editor, where I spend the majority of my time and light grey, almost white, but not quite as stark, text seems to be the best balance.

\- Try and get plenty of sleep - If I start the day tired, then my ability to focus on what I'm looking at and my visual stamina are both going to be shot by noon.

</comment><comment><USER27> Eye testing can pick up a bunch of stuff early, so regular eye tests (especially when you get older) are important.

Don't forget that in England your employer makes a contribution to the cost of eye-tests and glasses if you're a monitor user.

([http://www.direct.gov.uk/en/Employment/HealthAndSafetyAtWork...](http://www.direct.gov.uk/en/Employment/HealthAndSafetyAtWork/DG_10026668))

Plenty of pages that get linked to from HN are pretty bad for readability - awful contrast or weird font choices. User side CSS is nice, but it's a shame to have to fix so many sites.

</comment><comment><USER28> I had the same problem - late afternoon headaches, tiredness. It was a colleague who took one look at how close I sat to the monitor to tell me to get my eyesight checked. Diagnosis: long-sighted in one eye, short-sighted in the other, which caused quite significant muscle strain while my eyes constantly fought eachother for focus, causing headaches and tiredness. Prescription goggles and the problems vanished.

Get your eyes checked, at best you get told you have 20/20 vision and you're mad, and to drink more coffee. At worst you're in line for glasses

<comment><USER29> "Get your eyes checked, at best you get told you have 20/20 vision and you're mad, and to drink more coffee. At worst you're in line for glasses"

I'd turn that best/worst around. Glasses are easy to get, cheap, and work deterministically and measurably. If you have 20/20 vision and still have headaches, you probably have bigger problems than the relatively minor nuisance of wearing reading glasses.

<comment><USER28> I struggled when deciding how to place that best/worst haha, I think you're right :)

</comment></comment></comment><comment><USER30> The simple thing he didn't mention as the cause of his headaches -- other than alluding to it -- is eyestrain. As programmers we are consistently straining our eyes. I'm always in the doghouse with my optometrist because I am always breaking her rules. She understands programmers and what they do to their bodies (fingers, wrists, eyes, posture), but obviously her bias is the eyes so she has a few rules that I should live by:

\- don't strain the eyes reading small text. Smartphones are especially bad at this.

\- don't always look at the same distance. It strains the muscles. We were meant to look at short and far distances, but monitors are always 2-3 ft from our face.

\- Take A LOT of eye breaks. Every 10-15 minutes just look somewhere else. That's all.

\- Blink. When people read screens, they blink less. If you don't blink, your eyes don't lubricate themselevs and you can develop sores under your eyelids (especially so with contact lenses).

\- Get more sleep.

\- Wash around your eyes every night. This is good advice for women as well as men. If you mistreat your eyes, you can get protein build-up around the eyelids and follicles. Make sure you gently clean all of it away with a warm compress.

Basically, treat your eyes like precious little jewels. Pamper them and they'll last a long time.

<comment><USER31> My laptops resolution is 1920x1080 which makes HN text look almost microscopical, and I spend reading HN 1/3 of my day. I think from this day on I will ctrl++ :) Thanks for advice!

</comment></comment><comment><USER32> Make your font bigger. Most people I see stare at tiny text.

<comment><USER29> Eh, no - just get glasses. Even big letters are still blurry when your eyes start deteriorating. You can still turn up the font size, but first make sure that everything you see, you see it sharp.

</comment></comment><comment><USER33> I'm at the point of needing to replace a pair of glasses. Has anyone had useful experience with online purchases of glasses (in the U.S.)? There are a number of options; perhaps I need to find some recent issues of _Consumer Reports_ , if they've included online retailers in their reviews.

I'm fussy about comfort and appearance, but the prices that are charged especially for the frames nonetheless seem ridiculous.

<comment><USER34> Don't think, just do it. I've had much better experiences online than I have with local and chain eyeglass shops. The prices charged by most shops are an insult. Do your part to disrupt this monopoly, while saving yourself a lot of money.

If you're cheap (I am) I'd recommend Goggles4u. If you search for coupons, and you can get a basic CR39 backup pair for $10 ($5 if you're willing to 'Like' them on Facebook first), a decent polycarbonate AR pair for $25, and a great pair for $40. Interface is awful, communication is awkward, shipping is slow, but prices are great and product quality is generally high.

If you want less hassle, try EyeGlassDirect. They are US based, respond to email, and are a fraction of the cost of your local shop. You can get two pairs of AR polycarbonate for about $100, no coupon searching necessary.

Both of these places will put new lenses in your existing frames for about the same price. I've even gone so far as to order designer frames from Ebay, and have them shipped directly to Eyeglassdirect to have lenses put in.

If you want more info, www.eyeglassretailerreviews.com and glassyeyes.blogspot.com are good starting points. But don't get bogged down. Skip the research and do it!

ps. As another poster points out, Costco isn't bad, but once you start buying online even their prices will seem extreme. But they (and Walmart Optical) are good places to get a prescription and exam.

<comment><USER33> Thank you for the informative response. Currently, I have a rather nice (and pricey, but I received superb follow-up service from the local, non-chain shop over a period of several years) Italian frame with polycarbonate lenses. One thing that has slowed their replacement is that this model is no longer offered, as of some years ago. But both the frame and the lenses are reaching an unavoidable end of life.

The shop has changed hands, it appears, and also, extrapolating prices forward to today, they would simply be more than I'd be comfortable paying right now. But I'd still pay relatively more for something similar -- just without the final round or two of high markup.

This pair has lasted well over a decade. So I don't view the past expenditure as a waste -- both for the resulting durability and for the consultation that led me to this model. But, again extrapolating in my imagination, looking at upwards of a grand for a pair of glasses just seems extreme.

I'll have a thorough look at your recommendations. Thanks again.

</comment></comment></comment><comment><USER35> Also, everyone should install F.lux

<http://stereopsis.com/flux/>

This is another migraine-stopper.

<comment><USER36> I found that f.lux actually makes my eyes hurt when used with LED backlit screens.

<comment><USER35> Do you use the "gradual shift" setting? I've noticed that a lot of people don't realize it's there, and they use the "sudden drastic change" setting, which is very jarring. Also, make sure it has the correct coordinates/zip code for your location!

<comment><USER36> I get the same issues when I dim my screen manually. I read somewhere that certain people are affected by the power cycling used to "dim" the LEDs. Not sure if I believe it but nothing else has changed in my setup, and I never had any problems before. Otherwise, maybe I'm just getting old.

</comment></comment></comment></comment><comment><USER37> There are lots of things that can result from bad eye sight.

I didn't get headache from my bad eyesight (around 1/2 dioptrin), but easily got completely tired during work (no matter how much I've sleeped during the night). Since I've got lenses this issue disappeared, no more tiredness at all during the day.

<comment><USER38> If you are tired and your eyes are ok, you might want to check for allergies (at least mine didn't have any effects on throat/nose, so it might not be obvious). Or bacteria infection (teeth, etc).

</comment></comment><comment><USER39> I'm in the same boat and just got a set of progressive tri-focals. But I've found that there are other things that help.

1) I got a bigger monitor (for times I'm not using the laptop's screen.

2) I sit about four feet away from the monitor now ... that's classified as intermediate distance and doesn't require your tired eye-muscles to work nearly as hard to focus.

3) Eye exercises ... the rule-of-thumb is to look at something 20 feet (or more) away for 20 seconds every 20 minutes.

Ergonomics can help too ... because the same guideline that helps you avoid neck strain will put the monitor in the sweet-spot of your eye-glasses (ignore this for contact wearers). Level vision should put your gaze one-third from the top of your monitor. Most people have their monitors too low!

I hope this helps someone!

</comment><comment><USER40> Here's a counter point (sort of). At some point I began to suffer from eye strain - they were really hurting. I went to an optometrist and got a checkup, explained the symptoms. Since I was staring at a computer all day (and all evening - this was during my special time with WOW) she prescribed computer glasses.

Turns out, I didn't need them (and still don't). What happened was that the refresh rate on my CRT monitor was reset to 60Hz (probably due to a driver update). Once I returned it to the highest setting, my eye strain/pain went away. Of course, with LCDs it's not really a problem anymore, but keep this in mind if you're still on a CRT.

</comment><comment><USER41> Even I was suffering from headaches for a few months and then I went to the optician and was prescribed to wear glasses.

Am still trying to get used to wearing them. And the first time I wore my glasses everything seemed so much clearer.

<comment><USER37> I suggest to try out lenses. At the beginning it's a little bit difficult to put them in or to remove them, but (at least for me) they work much better than glasses.

If you are lucky and the lenses work well for you, you won't even notice that you have them inside (except for the fact that your vision is much better).

<comment><USER41> The only problem I see with lenses is the constant cleaning and the extra care that they require.

<comment><USER42> They also don't play well with air conditioning, which tends to be prevalent in offices.

I went back to glasses anyway, because I missed the way they look on my face.

</comment></comment></comment></comment><comment><USER43> Last week I bought a Macbook Air with 13" and I haven't been able to sit in front of it for that long, the resolution makes everything too tiny specially because I work on a lower resolution laptop the whole day and only use the MBA at night. I have no idea if I will get used to it or if I just have to return it. I've been thinking about how wrong the future is going to be to our eyes if we keep improving the resolution of screens when operating systems don't deal that well with it. (I use Windows 7 on the MBA and I can't just go for a smaller resolution because type gets blurred.)

<comment><USER44> You can change the text scaling in Windows whilst keeping the screen resolution native: Control Panel\Appearance and Personalization\Display - <USER2> setting it to Medium.

<comment><USER43> I know about this but as a web developer/designer I would prefer not to mess with anything other than the resolution. I too am thinking the possibility of using an external screen and use the Macbook Air as a desktop because it's really fast. But I'm very sad about this outcome.

You know when I tried setting it to Medium or Large it almost looked like Metro!

</comment></comment></comment><comment><USER45> I just got progressive lens glasses for the first time a few months ago. And made the mistake of using them while working on my PC. Result: BAD recurring headaches for the first time in my life. I switched back to my old single- vision glasses til now, but all the providers I deal with are pushing "computer progressives" as the default solution; they look at me like I'm crazy when I ask for a single-vision prescription for use with the computer.

Any experiences with "computer progressives" out there in HN-land?

</comment><comment><USER46> Kicking the caffeine habit was what did it for me. Don't go cold turkey: I titrated slowly off the caffeine over the course of a month, and still had some withdrawal symptons (ie, headaches).

I still get headaches, but they're much less frequent, much less severe and it's usually much easier to track down the cause. (It's usually lack of sleep combined with too much screen time).

As a bonus, if I avoid computer & TV screens for the 2 hours before bed, I fall asleep within 30 seconds of my head hitting the pillow.

<comment><USER47> Sometimes when I'm focused I forget to eat, not sure if this is common among others but the concept of hunger doesn't always strike me if im in the zone. Remembering to eat and to eat healthy reduced the amount of headaches greatly.

</comment></comment><comment><USER48> Protip from personal experience: If your method of identifying someone at distance relies on recognizing the gait of a blurry outline of a person, you may need glasses.

</comment><comment><USER49> TLDR Just scroll to the bottom:

 _"If you have headaches, especially chronic ones do yourself a favor and have your eyes checked, you might need glasses without realizing it."_

<comment><USER50> It's under 450 words which, for an average native English speaker, will take about a minute and a half to read without skimming to find the important bits. It's rather disappointing if something so short needs to be summarized.

<comment><USER51> His summary is under 25 words; you can read a lot more such summaries in 1½ minutes.

This is why Google SERPs return a snippet and not the whole page of text for every page. Summarising is a very useful thing. What is it about saving time that disappoints you?

<comment><USER50> TLDR... can you summarize?

<comment><USER51> TL;DR

His summary is short.

Brevity is useful.

</comment></comment></comment></comment></comment><comment><USER52> I've had similar symptoms, and finally got around to getting an eye test. Bottom line I need glasses too. I started getting very bad headaches in my late 20's, I'm early 30's now.

Glasses make a World of difference, esp as I am usually looking at more than one screen and switching between them. I went for a very light frame, like Lindberg for example as these were most comfortable.

</comment><comment><USER31> For me it's usually intensive focus on something, be it complicated problem or just routine work. I don't feel headache while being within the activity, but after I stop and try to take some rest, my head nearly exploding, and the only way out is vomiting.

</comment><comment><USER53> I never understood how glasses are supposed to help. Glasses only help you see better while wearing them, but don't actually help you see better after you take them off, right?

I have mild hypermetropia, but it hasn't bothered me so far, so I'm not wearing glasses.

</comment><comment><USER54> I used to have very bad headaches when working and found out that it was due to a bad position of my neck. I've since changed my office chair, made sure that the screen is positioned so that I don't look down and the headaches have disappeared...

<comment><USER55> > made sure that the screen is positioned so that I don't look down

Guys working on laptops should pay attention to this. Looking down (tilting the head forward, even slightly) means the muscles in the back of the neck now have to hold up the weight of your head (3 kilos?), instead of merely balancing it, as when the head is upright. This can cause serious neck tension.

</comment></comment><comment><USER56> My headache solutions:

1\. Don't forget to breath. When I'm coding sometime I'll concentrate on the problem so much that my breathing slows down and becomes extremely shallow.

2\. Don't let the code/problem take you away. Practice self-awareness.

This will prevent the tension for building up.

</comment><comment><USER57> What timing, I went through this process over the last two months. My new glasses will be ready on Thursday. I can read anything, even the smallest type without them. But after 8 hours, it hurts. Hopefully it won't soon.

Heed this advice - just be aware!

</comment><comment><USER58> In my case I get headaches due to lack of sleep. Normally when I get small(2 secs) but powerful bursts of pain on the back of my head with an interval of 6-20secs, I know it's time to sleep...

</comment><comment><USER59> | "If you have headaches, especially chronic ones do yourself a favor and have your eyes checked, you might need glasses without realizing it."

Glasses are a good way of weakening the eyes even further. Eye exercises are a better way of keeping you vision in good shape. Keep your arm extended, focus on thumb, slowly bring it as close as possible. Extend again.

When reading a page on the computer, avoid scrolling line by line with a mouse as you read. Better for the eyes to use the space bar to do page scrolling.

If you find reading a book is out of focus, you might wait for 10 seconds or so, for the eyes to focus. Happens if you are not used to focusing on near objects.

<comment><USER60> _Glasses are a good way of weakening the eyes even further. Eye exercises are a better way of keeping you vision in good shape._

Source?

<comment><USER61> Not sure about the scholarly literature on it, but my eye doctors (several different ones over the years) have almost always mentioned how it's better to slightly undercorrect the vision, so that the eyes still have to work a bit at focusing. They implied that to do otherwise could speed the degradation of your vision.

</comment></comment></comment><comment><USER62> Conversely, I strongly suspect that wearing my new myopia glasses in front of the computer was giving me headaches. They never told me about that.

</comment><comment><USER63> Ha, knew you were gonna say glasses, same problem. The eyes slowly get weaker, glasses helped.

</comment><comment><USER64> Is this just general "getting old" advice?

<comment><USER65> Getting old while staring at a screen.

</comment></comment><comment><USER66> not that I don't second what you say...but is this really popular on HN?</comment>