The limits of my language are the limits of my world (2011) - <AUTHOR> https://geopolicraticus.wordpress.com/2011/06/03/the-limits-of-my-language-are-the-limits-of-my-world/

<comment><USER2> This is amusing to me, because it nicely encapsulates some recent thoughts. Note: This is in its application to coding, not my life in general.

I've spent quite a bit of time recently branching out into new programming languages, writing significant works in each one. And each time I do so, I come back to my day job and realize just how limiting it is to only work in one "blessed" language. There are things which are can be eloquently expressed in Rust or Haskell which do not translate nicely over to Python. Sometimes I can do in a single expression what it would take an entire module of confusing metaprogramming to achieve in Python!

Sadly, that street runs both ways. Some of these new languages want to be so safe that they hobble you down with the chains of explicit types and memory protection; making you write pages of boilerplate to do some of the simplest things.

It's true, when writing code, your world is limited by your language. The flip side of that is also true: by choosing a language, you define the world in which you live.

<comment><USER3> We write with lots of DULs (Domain unspecific languages) in our "blessed" language of Unix, which even Windows speaks a dialect of. The unix language is the one which speaks of "files" and "processes", with a grammar known as "the shell", which is what we use to glue together our DULs (which happen to be files and processes). The reason we need "metaprogramming" in the first place is because there's this artificial boundary called "runtime" where all code must be put into a file, because once you warp the file into a process, it's too late to change the code. Fortunately, some clever people have found a way around this, by making processes which can read other files and simulate the operating system.

When writing code, your world is limited by your operating system too. Heck, we're even limited by the hardware, which hasn't changed conceptually since it was created in the 1940s. We're all under the spell of "instructions to the beat of a clock".

</comment></comment><comment><USER4> Sounds like the strong Sapir-Whorf Hypothesis[1]. When I studied linguistics, back in the 90ies, it was pretty discredited with strong evidence against.

"The Sapir-Whorf hypothesis is the theory that an individual's thoughts and actions are determined by the language or languages that individual speaks. The strong version of the hypothesis states that all human thoughts and actions are bound by the restraints of language, and is generally less accepted than the weaker version, which says that language only somewhat shapes our thinking and behavior." [2]

[1] [http://en.wikipedia.org/wiki/Linguistic_relativity](http://en.wikipedia.org/wiki/Linguistic_relativity)

[2] [http://linguistlist.org/ask-ling/sapir.cfm](http://linguistlist.org/ask- ling/sapir.cfm)

<comment><USER5> I think Wittgenstein's idea maybe more broadly applicable, meaning it isn't limited to natural languages like the Sapir-Whorf hypothesis. The author states: "One way to construe this Wittgensteinism very broadly would be to think of it as the limits of my idiom are the limits of my world, with "idiom" construed broadly to include any way of talking about the world, and not merely a particular language." So e.g. any kind of formal mathematics or anything that we can somehow represent syntactically and which we can understand (semantics) could be seen as an idiom.

</comment></comment><comment><USER6> Related to this, there was that recent article about a classical interpretation of the famous double-slit experiment (pilot wave theory) that helps bring quantum physics back closer to more intuitive descriptions [http://www.wired.com/2014/06/the-new-quantum- reality](http://www.wired.com/2014/06/the-new-quantum-reality)

And this can help for pedagogical purposes, too. Another example is infinitesimals in calculus, which were dismissed in favor of Weierstrass's epsilon-delta definitions over a hundred years ago, but found to be more understandable to students in more recent studies: [http://academic.brcc.edu/johnson/Projects/Calculus%20with%20...](http://academic.brcc.edu/johnson/Projects/Calculus%20with%20Infinitesimals/Calculus%20with%20Infinitesimals.html)

</comment><comment><USER7> What does this say about the Chinese language, then? Chinese has approx 10,000 words in regular usage. Does the apparent low word count have an impact on thinking? It would appear to me that the relatively low word count (ideographs) has not impeded Chinese from thinking about the world around them in a negative way...

<comment><USER8> In practice, the Chinese language typically represents concepts in 2 or 4 ideograph segments. Not every possible combination is in regular usage, but the number of potential linguistic "words" is closer in order of magnitude to the 10000 choose 2 binomial coefficient, i.e. 49995000.

<comment><USER7> So basically when they don't have a word for a new concept they devise a new one made of existing radical+ideograph+ideograph.

</comment></comment></comment><comment><USER9> The saphir-worph hypothesis is thoroughly discredited, i.e. psychophysics shows that your ability to discriminate colors does not depend on the words you use for them. Language is dynamic and adjusts to reality even if people use words as weapons (ex. Illegal aliens)

As for interpretations of quantum mechanics that is a topic for 1970s popular books by drugged out authors and for the marginal fringe of physics journals.

<comment><USER10> The hypothesis as a whole is not thoroughly discredited; color is an extremely specific case: "The main strand of domain centered research has been the research on color terminology, although this domain according to Lucy and admitted by color terminology researchers such as Paul Kay, is not optimal for studying linguistic relativity, because color perception, unlike other semantic domains, is known to be hard wired into the neural system and as such subject to more universal restrictions than other semantic domains."[1]

[https://en.wikipedia.org/wiki/Linguistic_relativity#Empirica...](https://en.wikipedia.org/wiki/Linguistic_relativity#Empirical_research)

</comment></comment><comment><USER11> (Wittgenstein)++</comment>


Rclone – Rsync for Cloud Storage - <AUTHOR> https://rclone.org <comment><USER2> I see a lot of people using Rclone for restic. What advantages does it provide over using cloud storage providers like S3 or GCS directly with restic?

Otherwise this looks like an awesome project!

<comment><USER3> One of the advantages is to be able to put the destination as 'append only', reducing the risk in case an attacker gained access to the backed up server and wants to delete the backups. Another one to easily switch to a different backend or copy data between them.

</comment></comment><comment><USER4> This is one of my favorite open source projects, I use it all the time.</comment>


IRobot Rolls Out Pocket-Sized, One-Pound Machine, Ready to Swarm - <AUTHOR> http://www.wired.com/dangerroom/2009/05/video-irobot-rolls-out-one-pound-machine-ready-to-swarm/ <comment><USER2> I was at iRobot when this proposal was written. Very cool application for mesh networking.

Radio comms are so bad when deployed. This kind of ad hoc network builder is awesome.

That said, this is the first new robot that the Government & Industrial division has put out since I left. I really want to see a deployed Warrior (PackBot's big brother). iRobot is a perfect example of a company that seems to be suffering from inability to innovate as a public company. The talent is there though.

<comment><USER3> Do you know if it has only one motor?

<comment><USER2> As you can see from the video, it has flippers and wheel that power the treads. I don't know much about the internals.

<comment><USER3> Yeah, but I never saw the flippers running at the same time as the main treads, so it could be a possibility.

</comment></comment></comment></comment><comment><USER4> Is it just me or has the military been going through a complete revolution in the last decade?

Robotics, UAVs, etc. all take the human equation out of the surveillance and even the fighting. This is a completely radical departure from the past.

I just wonder where it will all lead.

<comment><USER5> What happens when two enemy countries/entities have sufficiently advanced robotic troops to have robots fighting robots?

<comment><USER2> Like two robotic missiles that can attack the other country automatically? Like ICBMs? Or landmines?

Automated tools of warfare aren't new.

That this is brought up every fucking time a robot comes within a mile of the military is a really tired meme. Seriously. Go read every single issue of wired. I dare you to find a mention of robotics that doesn't bring up Terminator.

It's just lazy thinking.

<comment><USER5> Wow... didn't mean to set you off like that. Can you expound on why my comment is an example of lazy thinking?

<comment><USER2> It was more the trend for discussions about robots in the military to degrade that annoyed me. This thread is going down that path.

You specifically were lazy in that we already have automated tools of killing each other and each others automated tools. It is heavy influence of hollywood that makes us think something without a human on board is fundamentaly different.

Robot armies fighting each other and super AI taking over military robots are two of the most common topics brought up in the context of military robots, and two of the least realistic or likely.

It's particularly irrelevant in a story about a mini robot used as a radio relay, 100% human controlled, with no weapons. This thing is a wi-fi repeater with a camera on top of an RC car.

<comment><USER6> You're not alone. The over-hyped "terminator case" is not only tiring, its also ridiculously unlikely and not even very scary. These _are_ just wifi AP's on rc cars. With openWRT, and $40 at the Rat-Shak, you could make one too. And that's whats really scary. It only costs $40 now to make the land mines walk.

<comment><USER2> I'm much more concerned about suitcase nukes and a grad student that could make a super virus. I'll almost certainly die of the latter :(

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> This looks very similar to the "Eye Drive"[1] mini robot developed by the Israelis, and already in use by the IDF (according to an article[2] in the Jerusalem Post). The company's promotional video[3] of the robot shows it in action.

[1] <http://www.odfopt.com/eyedrive/Eye_Drive_home.htm> [2] [http://www.jpost.com/servlet/Satellite?pagename=JPost/JPArti...](http://www.jpost.com/servlet/Satellite?pagename=JPost/JPArticle/ShowFull&cid=1233304811438) [3] <http://www.odfopt.com/Movies/eyedrive_new_movie.wmv>

</comment><comment><USER8> I just want to know how that thing got OVER the rail road track into the middle of the tracks.

</comment><comment><USER9> Reminds me of the spiders from Minority Report.</comment>


New cloud storage with privacy first approach - <AUTHOR> Hello,
We are about to launch treasure, a new cloud storage and aggregation platform for all you existing cloud storages (GDrive, Dropbox, Box, One drive) with Privacy First approach.
You can try it in the following link:
https://treasure.cloud/auth/signup?code=M2RkMTNiNjgtNjgzMS0xMWVhLWJjOTItODkxZjEzMmUzNDliOmYyZWI4ZGNhLWEwMmMtMTFlYS05NDE2LWYzNDkwNjI5OTE2OA==
Will appreciate you honest feedback. <comment><USER2> You'll get more feedback if you submit the link as a "Show HN" post. Looks great though

<comment><AUTHOR> Thanks! will try</comment></comment>


All YC Companies Sorted by Alexa Traffic Rank - <AUTHOR> https://docs.google.com/spreadsheets/d/16OYQfKWQVJgYkGKJdpabY_59WGjlSqKR05J3ATgg6mw/edit#gid=0

<comment><USER3> If I'd have gotten into YC, I'd be at #14 right now.

<comment><AUTHOR> This is the reason I made this! Strangely we'd be at 14 as well! I was quite impressed and surprised at how low most ranking are. Alexa isn't exactly the most accurate measure but still, I've seen ours rise suitably with traffic.

<comment><USER3> Hah, nice! I run PortableApps.com, ranked on Alexa at 8,171. We get 1.5 - <USER2> million visitors a month. We've never done any advertising or major partnerships, it's just been word of mouth and organic press coverage. What's your #14?

</comment></comment></comment><comment><USER4> Um, where is Reddit? At first I thought they were excluding exited companies, but then I saw Heroku at #15.

</comment><comment><USER4> Also interesting: Hacker News itself (a YC "product/service" if not exactly a YC company) would come in at #6.</comment>


Mechanical Principles Ca. 1930 - <AUTHOR> http://blog.makezine.com/archive/2011/02/mechanical-principles-ca-1930.html

<comment><AUTHOR> An extremely interesting video. Every few seconds I felt myself saying, "Oh, so that's how it works!"</comment>


WTF, HTML and CSS? - <AUTHOR> http://wtfhtmlcss.com/ <comment><USER3> > Internet Explorer 9 and below have a max of 4,096 selectors per stylesheet.

The reason for that is a rather cute implementation explained here:

[http://blogs.msdn.com/b/ieinternals/archive/2011/05/14/10164...](http://blogs.msdn.com/b/ieinternals/archive/2011/05/14/10164546.aspx)

(...and IMHO 4K selectors is a _lot_ more than any sane page should use...)

<comment><USER4> >The root of the limitations is that Internet Explorer uses a 32bit integer to identify, sort, and apply the cascading rules. The integer's 32bits are split into five fields: four sheetIDs of 5 bits each, and one 12bit ruleID

Is there a reason for this? Why not just use 3 shorts?

<comment><USER5> Presumably this also leads to an upper limit on the number of stylesheets.

<comment><USER6> Its 32.

</comment></comment></comment></comment><comment><USER7> > _Table rows, trs, cannot be styled unless you set border-collapse: separate; > on the parent table._

I don't recall any trouble applying styles to tr elements without having to do anything special to the parent table.

Setting the border-collapse to "collapse" explicitly just to test:

[http://jsfiddle.net/x3Pkd/](http://jsfiddle.net/x3Pkd/)

What am I missing here?

<comment><USER8> Apologies for this, I was trying to be brief and lost most of the meaning in that one last night. I've updated it to better communicate the potential problem folks can run into.

<comment><USER7> Aha! Your clarification makes a lot of sense. Thanks!

</comment></comment></comment><comment><USER9> Awesome list! Thanks for providing it.

It would be nice to add a bit more of an explanation for some of these things. eg:

\- There's a bold warning about float elements with display: block set - "Do not set both". Why is this so important?

\- "Skipping the doctype can cause issues with malformed tables, inputs, and more" \- some examples of what could go wrong would be really handy here. Or a link to a more in-depth explanation?

In general some more links would be great.

<comment><USER10> > some examples of what could go wrong would be really handy here.

One small example that I've seen go wrong, elements don't center with CSS if you skip the doctype. Seems to ignore margin-left and margin-right.

Omitting the doctype basically sends the browser into "quirks mode" and then the page is rendered with old browser rendering bugs.

[http://en.wikipedia.org/wiki/Quirks_mode](http://en.wikipedia.org/wiki/Quirks_mode)

</comment></comment><comment><USER11> Good insights into voodoo problems. Slightly unsure about the sweary angle though, I love a swear up as much as the next man, but in this it feels unnecessary.

<comment><USER12> Agreed. It's a shame that swearing has to spoil a potentially good resource. I won't be able to share this will my little brother, who could benefit from this while learning to code, purely because of the amount of swearing.

<comment><USER13> What amount of swearing? There is exactly one "wtf", exactly one "fuck" and the rest is polite.

If you do not want to show it to brother, more power to you and you got my respect for thinking about what language he picks up. Really. However, the resource has exactly two impolite words in it, so it is hardly huge amount.

<comment><USER14> There's 2 "shit"s too.

Maybe the author feels obliged to curse a little bit, and mostly in jest / for its own sake because the domain name includes a simulacrum of obscenity (WTF) in it.

</comment></comment></comment></comment><comment><USER6> This pairs well with his HTML and CSS Code Guide: [http://mdo.github.io/code- guide/](http://mdo.github.io/code-guide/)

<comment><USER15> That's more of a style guide rather than a list of gotchas.

</comment></comment><comment><USER16> Thank you mdo - wish more people wrote up best practices / gotchas like this in HTML / CSS like folks do for code.

(Or perhaps they do and I'm just not running into them or they are buried underneath the W3Schools sewage?)

<comment><USER17> I haven't seen much in the way of HTML/CSS best practices articles either, it would be helpful if other commenters could post such articles that they have run into.

<comment><USER8> If you like this, you might like my Code Guide: [http://mdo.github.io/code- guide](http://mdo.github.io/code-guide).

</comment></comment></comment><comment><USER18> About the problem with `rem` in media queries, see [http://stackoverflow.com/q/12201003/449288](http://stackoverflow.com/q/12201003/449288) . It contains a description of the problem and links to the relevant bugs.

</comment><comment><USER19> Let's not forget absolute positioned elements inside table cell in Firefox:

[http://wisercoder.com/firefox-displaytable-cell-and- absolute...](http://wisercoder.com/firefox-displaytable-cell-and-absolute- positioning/)

<comment><USER20> Good point. Headsup: this issue should be gone from the Trunk build of Firefox after July 2014; relevant bug [0] is resolved and fix shipped to Nightlies already. [0] [https://bugzilla.mozilla.org/show_bug.cgi?id=63895](https://bugzilla.mozilla.org/show_bug.cgi?id=63895)

<comment><USER21> June, actually. The fix landed for Firefox 30.

</comment></comment></comment><comment><USER22> Border-box is great, but whenever I have to use 3rd party code all hell breaks lose. You can mix both, but only applying border-box to your own code is tricky and the mental overhead is quite annoying. Even then some minor glitches can occur which you might not even spot in most cases. For example nanoScroller.js exposes Firefox's scrollbars when zooming because there is no way to hide them via CSS and the code to hide them underneath other elements breaks when using border-box.

Not even sure how to handle such problems.

</comment><comment><USER23> I'm surprised this didn't mention stacking contexts, which threw me for a loop a couple times:

[http://philipwalton.com/articles/what-no-one-told-you- about-...](http://philipwalton.com/articles/what-no-one-told-you-about-z- index/)

[https://developer.mozilla.org/en- US/docs/Web/Guide/CSS/Under...](https://developer.mozilla.org/en- US/docs/Web/Guide/CSS/Understanding_z_index/The_stacking_context)

</comment><comment><USER24> Does "tidy" catch these problems or is it out of date by now? Is there another lint tool that is recommended for HTML (and CSS)?

<comment><USER25> HTML Tidy only catches structural issues with HTML (e.g, mismatched or missing start/end tags, invalid attributes, etc). It barely knows about CSS at all, and it certainly doesn't try to do any validation on it.

</comment></comment><comment><USER6> Its an ok start. As a collaborative effort it could actually be useful. Clearfix doesn't need a space character. content: "" is sufficient. Edit - <USER2> the github page he encourages contributions. [https://github.com/mdo/wtf-html- css/](https://github.com/mdo/wtf-html-css/)

<comment><USER26> He links to the guy who came up with that particular clearfix technique, and there is documentation on why and when that space is necessary.

</comment></comment><comment><USER27> > _Fun fact: Years ago, we had to set display: inline; for most floats to work > properly in IE6 to avoid the double margin bug. However, those days have > long passed._

I wish those days were long passed. There are definitely still a lot of IE6 users. I recently worked on a project which services the Chinese market. [http://www.modern.ie/ie6countdown](http://www.modern.ie/ie6countdown)

<comment><USER28> If 4.4% IE6 usage rate in China is accurate, that doesn't seem worth the effort.

<comment><USER29> Acording to Wikipedia: As of 2012, China had 568,192,066 internet users. 4.4% of that would be 25,000,450 users. Depending on what you're doing, leaving out 25M potential users might not be a good idea (again, depends on what you're doing).

<comment> loup-vaillant Well, it's not like a double margin would prevent them from seeing your text at all. They only lose out on pixel perfection.

Leaving a few million users out of pixel perfection doesn't sound so bad. (And out of those millions, how many will actually stumble upon your web site anyway?)

</comment></comment></comment></comment><comment><USER30> Interesting reading. However, I don't like non-semantic CSS class names - parent, float and clearfix. There are better names like used here: [http://stackoverflow.com/questions/14874341/how-to- clearfix-...](http://stackoverflow.com/questions/14874341/how-to-clearfix- without-markup)

<comment><USER31> IMO that just leads to less reusable CSS and more stylesheet spaghetti. I see a class "clearfix" in HTML and I know what it's doing; I see ".clearfix {" and I know what it's doing; but I look at "article:after, .article:after, .group:after, col-2:after, {" and have to figure out what's going on. In terms of code, I think you should be semantic from a _developer 's_ perspective.

</comment></comment><comment><USER32> Hopefully this will work as a means to beating my W3Schools education to death once and for all.

</comment><comment><USER33> The portability of the web. Write once, debug in every single browser version.

</comment><comment><USER34> Great tips, but it seems like a fairly random selection with basics about positioning and good gotcha tips like <tr> styling. I feel like there could be a whole page dedicated to floats.

</comment><comment><USER35> This is great. Even if you're familiar with most of the items it's nice to have such clear and concise problem descriptions and solutions.

</comment><comment><USER36> Would love to have the list of all the conditions under which a vertical margin will collapse.

<comment><USER37> [http://www.w3.org/TR/CSS2/box.html#collapsing- margins](http://www.w3.org/TR/CSS2/box.html#collapsing-margins)

I don't know if that's the whole story, but at least it's official.

</comment></comment><comment><USER38> a fun one that i ran into yesterday, that maybe is basic but i hadn't known before: z-index can only be applied to positioned elements. if you need to z-index something, it can't be position:static

</comment><comment><USER39> Thanks. Some are exactly what I found annoying most of the time.

</comment><comment><USER40> CSS sucks

</comment><comment><USER41> It would behoove the author of this list to learn HTML and CSS so such things are not so shocking and mysterious to him.

I should start a blog about the horrors or C where mysteries are explained such as "You must declare variables before you use them!!" followed by appropriate horror music.

<comment><USER42> The author, @mdo, also wrote Bootstrap.

<comment><USER43> Funny how the comment author hasn't replied yet eh?

<comment><USER8> Didn't really see the need to honestly :).

</comment></comment></comment></comment><comment><USER44> Is so hard not to use the "F" word for some people?

<comment><USER45> You only dislike that word because someone told you to dislike it. Get over it.

<comment><USER46> I don't know about the grandparent, but I dislike the word in many contexts because it makes other people extremely uncomfortable. It was probably more frequent than "the" or "a" in my casual speech while I was in the military, but I'm not in the military at the moment, and other people matter.

<comment><USER47> the key is to not give a shit about those people

<comment><USER46> No, the key is not to offend people who don't particularly need to be offended. You aren't talking about "freedom", you're talking about being abrasive for no good reason. There are rude words that you may freely use to describe that sort of person, should you wish.</comment></comment></comment></comment></comment>


How to survive an open office - <AUTHOR> https://blog.dijit.sh/how-to-survive-an-open-office <comment><USER3> I really wish this open office trend would just die already. I like all my coworkers just fine, but the combination of conference calls and casual conversation (don't even get me started on how bad it gets during the World Cup) and people constantly coming and going from the office ends up being really distracting.

What I find more frustrating is all of the open-office apologists, that claim that they work _better_ in an open space. Statistically, this seems unlikely, but even if that's true, a vast majority of people work measurably worse with this kind of setup [1].

This isn't everyone, but what's worse is that there isn't actually any kind of cafeteria/sitting-area to eat at my company, and living in NYC, going out to eat every day gets kind of pricey, forcing me to eat at my desk.

I've been debating asking if I can work remote for three days a week.

[1] [http://www.theguardian.com/money/work- blog/2014/sep/29/open-...](http://www.theguardian.com/money/work- blog/2014/sep/29/open-plan-office-health-productivity)

<comment><USER4> People can even feel different from you. The shock! Personally, I really don't care about open office. I get my stuff done one way or another. However, working remotely is definitely my preferred option, mostly because I don't feel any need to be in the office and I am just more comfortable at home.

What I never even want to imagine is having to go work in a office where then I have to feel lonely. That's the worst of both worlds.

<comment><USER5> I have the impression that people who are not afraid of open offices did not work in an office that was particularly bad. When the manager joins in the constant chatter, talking all the time about video games or sports, it's very difficult to do get work done. You have no one to turn to because the management is in on it.

I worked in open offices that didn't bother me. Generally large companies with more than 60 employees. The noise becomes an indistinguishable background sound and long conversations are almost non-existent.

It's the smaller ones that annoy me. Those with 10 to 15 people. Conversations are easy to hear and understand, so your brain picks up on them. Since it's small, it turns into a bunch of little friend groups who have constant conversations.

...

Describing it just now, I notice that I am describing a high school class versus a university class. That's exactly how they feel. It only takes one or two disruptive agents to ruin everything.

<comment><USER6> Yes, I worked in a small office 2 weeks ago, and every conversation made it into my ears. Now I'm in an open office with 60+ people and it's like sitting in a fast food restaurant, noisy chatter that I can tune out. If there's some conversation particularly loud/annoying I just put on my headphones. It's not that bad, but I have the ability to tune it out, and I feel other types of people can't do that.

<comment><USER7> I'm glad for you. You can tune it out. Some of us can't tune it out, no matter what.

Well, not until we either put on our maximum NR headphones and play our music at hearing-destroying levels. Maybe by the time we are completely and totally deaf, we will be able to tune it out.

</comment></comment></comment></comment></comment><comment><USER8> > How to survive an open office

Step 1: Instead of working, write a blog post about how you don't like it and post it to Hacker News.

Step 2: Cash your $5,000 paycheck and spend it on service employees who live with 3 roommates in order to make rent.

(I call the latter concept "open homes," and I plan to write a blog post about it later)

<comment><AUTHOR> This was advice for those who might struggle like I do.

I even admit that it's the first worldiest of first world problems. But that doesn't make it not a problem.

I don't make $5,000, and I have made it part of my negotiations when entering companies before but there aren't any non-open-office companies anymore. So I make my peace and live with it.

The point of the blog post is to bring this topic up because there might be advice I'm missing, obviously I'm not the only one, others must have other coping mechanisms.

<comment><USER8> I honestly can't figure out what's wrong with open offices. If they've got carpet and enough conference space they're golden.

I've been in a state government cube center, you don't want that.

As they say, silence is deafening. So are awkward doctor's office calls taken in cubicles.

Being around that level of dust and hoarding wasn't my jam, either.

<comment><USER9> Noise and distractions. You must be one of those lucky people who can think without the narrative of others talking over their internal narrative. I can't program if I can hear people talking, or any other kind of intrusive noise.

</comment></comment></comment></comment><comment><USER10> I'm becoming more and more vocal in my office about noise-cancelling headphones.

The problem as I see it is that NCHs keep you from being aware about how much external noise you are making that bothers others. Most do not have any sidetone† enabled by default, so users that start to engage in conference calls and chats while wearing NCHs begin to raise their speaking volume to disruptive levels...and they don't know it.

When this is brought up as a complaint, the answer is "well, you should get your _own_ pair of NCHs". This is not a solution.

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

</comment><comment><USER11> Interesting read. I agree with a lot of it.

I find noise cancelling headphones uncomfortable and claustrophobic. I have really bad tinnitus, so all noise cancelling headphones do for me is amplify that.

I find that coming in early and leaving early does work. Getting in before others and getting a couple of hours work done is effective, then taking a proper hour for lunch off-site helps as well.

</comment><comment><USER12> I'm not against collaboration, and maybe open offices can be good if they are treated like public libraries. People can go and discuss things in a room somewhere where they won't bother everyone else. The problem is finding someone (HR, management, etc) who will enforce this policy and actually provide consequences to violating the quiet zone rule.

How about a 0.5% salary pay cut every time you randomly interrupt someone's flow via tangent conversation or unwarranted shoulder tap?

Open office plans originally exist purely to save on costs. If a company doesn't do it to save on costs, is it appropriate to blame cargo culting in the name of "synergy and collaboration"?

If I really need to concentrate and think about something, I need complete silence. No music (even if it is instrumental or repetitive), no headphones, no coworkers taking phone calls, arguing over their code review, or discussing how everyone died in last night's TV episode.

My brain for some reason decides it has to eavesdrop on every single conversation within audible range, and trying to re-align myself to the task at hand becomes excruciating since every 5th word I hear is like a call to `Thread.interrupt()`. If you put me next to a jet turbine or some other white noise, I'd do much better. It might even solve my problem permanently by making me deaf.

If I already know what I need to do and it's just a matter of hitting the keys on my keyboard, I can tolerate the noise.

I commonly joke to my peers that perhaps management is doing us a favor by slowing us down day-to-day so we don't automate our jobs away too quickly. We should all be thankful!

Previous HN discussion: The open-plan office is a terrible, horrible, no good idea - [https://news.ycombinator.com/item?id=17513843](https://news.ycombinator.com/item?id=17513843)

<comment><USER13> Making open office essentially a nunnery never works. We tried many times.

If you tie salary to noise levels people _will_ quit. Bonus points if you benefit people for being team players, talk about conflicting priorities.

About the only half workable solution is isolation headphones - like for shooting ranges, or earphones for those who prefer it. Enhance online communication too. (For our purposes, Mattermost or Slack work well, with code review tools second.)

<comment><USER12> Yeah Peltor earmuffs are about the only thing that have worked for me. And you're right, a salary or fine is never going to work out practically - <USER2> wishful thinking on my part :)

</comment></comment></comment><comment><USER14> I am kinda happy that open offices exist. The collaborative kind of setting really helps in creating a nice vibe (I am a weirdo in that I like my team, my teammates and my job in general) as opposed to being stuck in a room.

But more importantly, as an ex-FB employee I am glad that open offices let companies give nice perks to employees even in extremely expensive real-estate markets like the valley. I would rather have a well-equipped onsite gym and a roomy cafeteria and a free ice-cream shop than that space being filled with 100 'offices'. The former are what make the office space fun and distinctive. The latter is the equivalent of a concrete jungle.

<comment><USER15> I come to work to work - it's not for the fun perks - the perk is being paid. That's the one perk that keeps me working. Do I think having "fun" takes away from that work? No. But I don't particularly care - I'm a professional, doing professional work, and if I could get 4 walls and silence, I'd happily light the ice cream machine on fire myself. If you want to collaborate, sure, do that - go to a meeting room, or meet in your own pod, and if you really want that open office charm, go work in the lunch room.

<comment><USER14> FAANG style employees get the best salaries in the world AND the best perks in the world. What exactly is the tradeoff here, if salaries is all you care about? Also, if all companies in the bay area moved to giving each employee an office, where do you think that money is coming from? It will cause depression in salaries.

Open offices work in favor of your salary. And despite the weekly posts on HN about open offices, hardly any employee uses it as a bargaining chip. Microsoft has open offices, and yet not once I have heard anyone on HN saying they would chose MS because of that.

<comment><USER15> > I am glad that open offices let companies give nice perks to employees even > in extremely expensive real-estate markets like the valley. I would rather > have a well-equipped onsite gym and a roomy cafeteria and a free ice-cream > shop than that space being filled with 100 'offices'.

You're saying companies trade out having open offices for perks. I'm saying I don't care about those perks, and would rather have less perks and 4 walls.

<comment><USER16> It feels like we're being astroturfed by SV recruiters. It blows my mind when I see people playing ping pong, pool, and arcade games at work. Why would anyone spend an hour or more playing games in the office rather than just getting their work done and leaving to spend time with family, friends, pets, or hobbies?

<comment><USER17> > Why would anyone spend an hour or more playing games in the office rather > than just getting their work done and leaving to spend time with family, > friends, pets, or hobbies?

I worked for a SV company with a ping pong table, video games, board games etc.

If you don't participate you're seen as "not a team player"... It's the same with lunches etc. They want you at the office as much as they can get/keep you there, and now they're doing their best to create "inclusive social environments".

It creates an "in" and an "out" crowd, and if someone decides you haven't hit your monthly Go Karting/drinking event/fancy dinner quotas you're the office outcast. Managers love this because it's all under the guise of "family" or "team building" etc. and it gives them a totally arbitrary metric to nickle and dime someone on.

<comment><USER18> > If you don't participate you're seen as "not a team player"

In other words, it turns what should be a recreational activity into a job requirement? While I haven't experienced that myself (but then, I don't work in SV), if I did, it would make me actively angry to have a job requirement that did nothing but take away from accomplishing what I was hired to accomplish.

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> At this time, aparantly what you do is "retry later". Sounds legitimate.

</comment><comment><USER20> Twice in my life I've been given an office upon joining a company later to be relocated to an open office, which I hate. After the second relocation, I thought that the next job I take I will try to negotiate upfront for an office in my contract, in writing. Has anyone ever heard of anything like this being done?

<comment><USER3> My dad did this (in writing), but it was specific to the exact position he was in (something he didn't realize would be an issue). He got promoted, and a month later they took him from his private office to a cubicle. Admittedly, a cubicle isn't an open office, but it's still a downgrade from a regular office.

<comment><USER21> Cubicles at pretty good for productivity, if well built and not in a phone- heavy work environment. They combine audio dampening , partial visual blocking with visual airspace, natural light, and easy collaboration.

<comment><USER3> Yeah, they're not so bad overall; I think he was more upset with the fact that they took the office away from him more than anything else.

<comment><USER20> Yea, sort of. If, when I joined, the company had said upfront that they had open offices, I wouldn't have been quite so sore about it.

It feels like I agreed to work there under one set of circumstances and then the company unilaterally changed the agreement. It qualitatively felt like a bait-and-switch, but that's not quite the right analogy, because the two companies never said that the office situation wouldn't change. I just assumed, and that's on me.

I want to change the dynamic at the next job I take. And I am curious if anyone else here has made some think like that work.

</comment></comment></comment></comment></comment><comment><USER22> The one annoying but fun thing about my open office is that people can bring dogs to work. I have had a few occasions in which my co-space mates' dogs couldn't stop humping my leg

It's a weird situation to be in while your female teammates happen to be around. Some turn away. Some can't help but just laugh with remark like "He loves your leg"

I don't feel bad, though. Normally, I just let the owners yank the little devils away. I think the benefit of being able to play with them for free everyday outweighs the embarrassment for me anyway

</comment><comment><USER5> I have invested in a quality pair of earbuds that double as foam earplugs. This passive sound isolation means I can set some music at low volume and be completely isolated from the outside world.

Active isolation is rubbish because it lets voices through.

Here is what I use : Shure SE215 - [https://www.rtings.com/headphones/reviews/shure/se215#compar...](https://www.rtings.com/headphones/reviews/shure/se215#comparison_2088)

I consider that with those, I can work as well as I can alone at home. Otherwise, I also suffer from a very noisy office with constant laughter, anecdotes, movie and TV show reviews, people reading emails out loud to team mates etc. and can't ever enter the flow.

I am also a big fan of using fake babble noise to mask surrounding chatter. After about 5 minutes, the brain ignores all of it including the real chatter that is around you. Namely this [https://mynoise.net/NoiseMachines/babbleNoiseGenerator.php](https://mynoise.net/NoiseMachines/babbleNoiseGenerator.php) or this [https://mynoise.net/NoiseMachines/cafeRestaurantNoiseGenerat...](https://mynoise.net/NoiseMachines/cafeRestaurantNoiseGenerator.php)

\---

Disclaimer: This is a repost from [https://news.ycombinator.com/item?id=20277513](https://news.ycombinator.com/item?id=20277513)

<comment><USER18> I found that I can't wear headphones of any sort in an open office environment. It puts me on edge and I'm always checking to see if someone has come up behind me or is trying to get my attention.

It's a nice idea in theory (and it clearly works for a lot of people), but for me it just makes the situation even worse.

<comment><USER5> I am the same. However, when it's too noisy I have to choice but to put headphones in. I used earplugs for a while but the absolute silence (and the ringing in my ears) drove me crazy. That's why I found those. I usually leave one ear free and only put the second plug in when it gets very noisy.

<comment><USER23> >(and the ringing in my ears)

Yep. I also have tinnitus (ringing) due to overuse of headphones at the office. I have to be very careful about volume.

</comment></comment></comment></comment><comment><USER24> Open offices are ruined by people.

Some people cant work and interact with others in a respectful manner. Just because you're in an open office doesn't mean that others DON'T have the right to a low-disruption work environment. It gets really tiring to have to constantly fight off rude people just so I can get a few minutes of uninterrupted focus.

"It doesn't bother me, therefore it doesn't bother anyone" is such a common trope.

</comment><comment><USER25> In my experience, open offices help out the team's productivity and rapport, at the expense of personal productivity.

I get the desire to have one's own semi-private space to focus on their work and not be bothered. But if you're working in a team, then open plans probably are beneficial and worth the trade off.

<comment><USER26> How can the team be productive if its members are not personally productive? It seems to me about the only person that would be getting a productivity boon out of this is the team leader.

<comment><USER25> It allows for more questions for the team leads and ad-hoc pair programming, which likely cuts the productivity of the team lead (or more knowledgable workers) while benefitting the members on the team with less experience.

</comment></comment></comment><comment><USER27> The only way I found to do some actual deep work in an open space + hotdesk office is to set all status notifications as busy, put some good noise cancelling headphones and avoid the urge to check some mail or chat notification. Come in early or leave later. It doesn't work that well but it's what I can get. I'm constantly being bombarded my emails, skype calls, slack queries, everyone schedules meetings and webconferences, etc, I barely can get 2 straight hours for "real work". Sometimes feels like I failed hard in personal time and project management but don't know how. Funny because I work as a project manager of sorts.

<comment><AUTHOR> That's not really anything to do with the office. If you're able to do those things then I applaud you sincerely.

Digital distractions have an off switch. But colleagues don't. And they can physically interrupt you.

</comment></comment><comment><USER14> I'd also like to add a point about productivity and efficiency that everyone talks about.

It seems like people take for granted that open offices are less efficient and that people are more productive inside four walls. I'd say it can very well be the opposite. It's easy to get distracted by random internet browsing when you are in a room all by yourself, but if you are outside in a common place, you won't for example just start watching a movie.

<comment><USER28> We don't need to rely on anecdotes or our personal opinions . There are plenty of studies on open offices and how they affect productivity. For example:

>...The design of the research was simple but incredibly clever. Study two Fortune 500 companies planning to make a switch to open-plan offices and compare how employees interact both before and after the new office design.

>To do this, Harvard researchers Ethan Bernstein and Stephen Turban had 150 participating employees wear a gizmo called a sociometric badge. For three weeks before and after the redesign it recorded wearers' movement, location, posture and, via infrared and sound sensors, their every conversation with colleagues. The researchers also reviewed the number of text messages and emails subjects sent during the test period.

>The results have just been published in the journal Philosophical Transactions of the Royal Society B. What did they show? In short, as walls came down, so did the number of interactions among co-workers. Simultaneously, the number of emails and text messages shot up.

>"Overall, face-to-face time decreased by around 70 percent across the participating employees, on average, with email use increasing by between 22 percent and 50 percent (depending on the estimation method used)," says the British Psychological Society Research Digest blog, summing up the results.

[https://www.inc.com/jessica-stillman/new-harvard-study- you-o...](https://www.inc.com/jessica-stillman/new-harvard-study-you-open- plan-office-is-making-your-team-less-collaborative.html)

>..A study published in the Journal of Environmental Psychology of more than 40,000 workers in 300 US office buildings: "...Enclosed private offices clearly outperformed open-plan layouts in most aspects of IEQ (Indoor Environmental Quality), particularly in acoustics, privacy and the proxemics issues. Benefits of enhanced 'ease of interaction' were smaller than the penalties of increased noise level and decreased privacy resulting from open- plan office configuration."

[https://www.inc.com/geoffrey-james/science-just-proved- that-...](https://www.inc.com/geoffrey-james/science-just-proved-that-open- plan-offices-destroy-productivity.html)

An article in the New Yorker summarizes some research on open offices. Besides the effects on productivity, there are also health effects. For example:

>...In a recent study of more than twenty-four hundred employees in Denmark, Jan Pejtersen and his colleagues found that as the number of people working in a single room went up, the number of employees who took sick leave increased apace.

>...In laboratory settings, noise has been repeatedly tied to reduced cognitive performance. The psychologist Nick Perham, who studies the effect of sound on how we think, has found that office commotion impairs workers' ability to recall information, and even to do basic arithmetic. Listening to music to block out the office intrusion doesn't help: even that, Perham found, impairs our mental acuity. Exposure to noise in an office may also take a toll on the health of employees. In a study by the Cornell University psychologists Gary Evans and Dana Johnson, clerical workers who were exposed to open-office noise for three hours had increased levels of epinephrine—a hormone that we often call adrenaline, associated with the so-called fight-or-flight response.

[https://www.newyorker.com/business/currency/the-open- office-...](https://www.newyorker.com/business/currency/the-open-office-trap)

</comment></comment><comment><USER29> > Avoid any company doing "Hot desking"

Is this real? I'm so messy, there's no way I could hot desk. I'd leave a trail of destruction behind me in the form of scribbled notes on legal pads, weird gadgets I'd fiddle with, mousepads, pens, postcards... How could anyone not have a "space" for themselves at work?

<comment><USER30> Having done this for a few months, I always grabbed the same desk and carted a streamlined collection of my odds and ends in and out each day. Not great, but better than just having a laptop on a desk.

</comment></comment><comment><USER18> When I tried working in an open office, I tried most of those suggestions. None of them were worth the effort for me.

What I learned is that I am unable to work in an open office setting, so I won't take any job that requires it.

</comment><comment><USER31> What open offices could really use is those kinds of spinners that they have at Brazilian steakhouses, where you could flip from green to red, depending on if people are open to being talked to.

</comment><comment><USER32> Does or has anyone conceived of a "coding cubicle" the idea being the cubicle is like a dark room, donot disturb scenario. how a supervisor determines you are working and not screwing around is a point, but this seem like a possible hybrid, so that collaborative portions of development can be skeletally accomplished in a common environment, then the actual transposition of flow charts to code can occur in sequestration.

<comment><USER23> > how a supervisor determines you are working and not screwing around is a > point

This should be determined by "do they deliver?" rather than constant monitoring.

</comment></comment><comment><USER33> How to survive a HN hug of death: [http://archive.is/r8pHs](http://archive.is/r8pHs)

(The site was down, I archived it.)

<comment><AUTHOR> Thank you, I guess I did a booboo by reverse proxying a svbtle site. I've added caching, hopefully that helps.

Thanks again. :)

</comment></comment><comment><USER34> "Retry later"

Nice, short and to the point. I will say, even though this "blog" doesn't look professional at least it doesn't have any ads on it.

</comment><comment><USER35> I have grown used to all the eyes, smells and sights around me in open offices.

What I will never ever get used to, is the fact that the dumbest, densest & deafest people tend to pollute the soundscape for 80% or more.

</comment><comment><USER36> The article won't load, but I have a hot take anyways: Why the hell are you complaining? If your bosses want to provide a chill spot where you get to hang with your friends while you are underutilized, why not just enjoy it?

Also working as a team is most definitely helped. Issues are surfaced immediately and can be addressed together.

<comment><USER37> > while you are underutilized

There's a kind of person who isn't able to be content without a certain amount of autonomy to do the best job possible, and just isn't able to accept being unproductive. I've been able to assert such a position several times in my career but I think the only way to do it is to earn it by proving I can accomplish large things that can make an impact by myself, without micromanagement. I probably need to work partly in my own time to do this.

Even simply for mental health, it's worth it.

</comment></comment><comment><USER38> This is really the advice ?

 _So one of the things that I really recommend to people is that you Create an imaginary office even when theres' no door to actually close. There are several ways to do that, in our office we've done that with those really great noise cancelling headphones._

<comment><USER39> All I could think of was Les Nessman from the old television show _WKRP in Cincinnati_ :

"Les believes that as the news director, he should have his own private office, so he puts masking tape on the floor around his desk indicating where his office walls would be. He insists that anyone who approaches his desk must knock at an imaginary door and wait for permission to come in. He mimes opening and closing a door whenever he sits down at or leaves his desk; once he even took out a set of keys to lock the nonexistent door."

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

</comment></comment><comment><USER40> Mirror: [https://web.archive.org/web/20190718133141/https://blog.diji...](https://web.archive.org/web/20190718133141/https://blog.dijit.sh/how- to-survive-an-open-office)

</comment><comment><USER41> I am fortunate to have my own office. That's right. 4 walls and a door. However I still find myself frustrated because the project managers refuse to use headsets and use the speakerphones all day.

</comment><comment><USER42> "Retry later"

Probably an error, but would make good advice in this scenario too.</comment>


Show HN: Cascade, An Image Viewer for Any URL - <AUTHOR> http://usecascade.com/

<comment><USER2> Would be neat as a bookmarklet.</comment>


Prince Of Persia Code Review - <AUTHOR> http://www.fabiensanglard.net/prince_of_persia/index.php <comment><USER3> Just for reference, these are two books that were from the journal of Jordan Mechner written while writing Prince of Persia and Karateka. They are enjoyable reads, and I highly recommend them.

[http://www.amazon.com/Making-Prince-Persia- Journals-1985/dp/...](http://www.amazon.com/Making-Prince-Persia- Journals-1985/dp/1468093657/ref=sr_1_1?s=books&ie=UTF8&qid=1371822194&sr=1-1&keywords=prince+of+persia)

[http://www.amazon.com/The-Making-Karateka- Journals-1982-1985...](http://www.amazon.com/The-Making-Karateka- Journals-1982-1985/dp/1480297232/ref=pd_bxgy_b_img_y)

<comment><USER4> Do they look good on Kindle, or is the physical book vastly better?

<comment><USER5> I don't have the physical one, but I can't imagine what I could be missing out. If anything, you can keep reading it on your phone if you don't have your e-book with you etc.

<comment><USER4> Sometimes books with diagrams, pictures, source code, look bad on an e-book.

</comment></comment></comment></comment><comment><USER6> I love reading Sanglard's stuff I hope he's encouraged by the comments on his site to complete this - the bulk of it so far is on details of the Apple ][ architecture. It'd be great if he decides to take apart the actual game, although even with commented assembly source, it's no trivial amount of work.

<comment><USER7> The C64 reverse engineering covers that a bit. At least regarding general data structures, as opposed to in-depth Apple II hackery (you get some C64 hackery instead, of course).

[http://popc64.blogspot.com](http://popc64.blogspot.com)

<comment><USER6> Ok, that is the craziest (in a good way) thing I've seen in some time. I'd have thought PoP had been ported to the C64 at the time - Karateka was ported just about everything. So in 2011, starting with the Apple source, disassembly dumps, graphics from a free version, looking at the PC port and god knows what else, someone ported it to the C64. Amazing.

EDIT: Oh, and apparently the Apple ][ source hadn't been found again yet, making the thing even more bonkers. Mechner's comments here:

[http://popc64.blogspot.com/2011/10/prince-of-persia-for- comm...](http://popc64.blogspot.com/2011/10/prince-of-persia-for- commodore-64128.html?showComment=1318790546501#c8564553486263557064)

<comment><USER7> If I remember correctly, the ported game does need a memory extension, which would've been a no-go back then. Wonder how much you would have to cripple the ported effort to fit in in there, if at all possible with the same approach...

<comment><USER6> Yep, it looks like it requires a 128KB Apple //e and up. In the comments of the blog, Mechner mentions he couldn't get anyone interested in porting it to the C64 at the time as the system was considered too old. I guess by '89, 128 KB Commodores weren't considered that interesting of a market.

The original must have needed all the memory it could get its hands on - <USER2> like it doesn't use the Apple //'s 'double high res' modes, for instance.

Forum thread of Sanglard trying to sort the thing out, with the help of some 6502-heads is also entertaining:

[http://forum.6502.org/viewtopic.php?f=2&t=2223](http://forum.6502.org/viewtopic.php?f=2&t=2223)

Almost makes you want to combine the two actually hacker-ish posts of the last two days - the lightweight block ciphers and this and burn a weekend implementing SIMON in 6502 assembly. Almost.

</comment></comment></comment></comment></comment><comment><USER8> Love how most games were mainly a one man show back in the 80s. Jordan Mechner, John Carmack could be used as aliases for the games. Btw, I read a very similar article about Doom / sometime ago about the Magical Square Root Implementation In Quake III, another interesting read[1]

[1] [http://www.codemaestro.com/reviews/9](http://www.codemaestro.com/reviews/9)

<comment><USER9> That was interesting! Has he ever said how he came up with the number?

<comment><USER10> It's posted pretty regularly on HN. [http://blog.dave.io/2011/10/0x5f3759df- true-magic-number/](http://blog.dave.io/2011/10/0x5f3759df-true-magic-number/)

</comment></comment></comment><comment><USER11> Having written a VT100 terminal emulator in 6502 assembly back in those days I remember it well. But games had to be more clever as the memory was so tight. At least in my case the only fun part was showing 80 columns of data on a 40 column screen (if the user had no 80 column video card). Today we can focus much more on just writing code instead of engaging in daily hackery.

</comment><comment><USER12> This is a great walkthrough, and a real trip back to the good old days. I learned programming on the Apple ][ and, like many started in Basic then moved to 6502 assembly.

I am not sure how other teenagers made this awkward transition, but I did it by writing a tiny assembler in Basic. It was fairly easy because Basic had PEEK (get contents of address), POKE (set contents) and CALL (jump to address) that everyone was used to using to get anything useful done. I think I just got tired of hand assembling programs into POKE calls.

I remember getting a thin wire-bound book with a detailed disassembly (with comments!) of the ROMs and DOS as a birthday present. I think one of the thing that inspired programmers on the Apple ][ was the amazing system code that Woz had written. He set a very high bar for assembly language programmers. His code was economical, fast, smart, and tiny. He demonstrated how to squeeze the most out of limited resources.

<comment><USER13> I learned to program 6502 on the BBC Micro. It had a built-in assembler as part of its BASIC. Very useful! Assembly language instructions got written to memory according to the value of a specific variable, and there was a somewhat neat mechanism for doing 2 passes (to fix up forward references). It was quite flexible, and gave you all the power of the inbuilt BASIC - which was of course awful, though excellent by the standards of the day - for writing macros.

More programming languages should have included something like this, I think. Maybe by now we'd have runtime code generation as a common primitive, something like LuaJIT's dynasm ([http://luajit.org/dynasm.html](http://luajit.org/dynasm.html)), only with GC, so you could generate custom little routines at runtime.

(As it is, what do we get? gcc-style inline assembly language. Progress? My arse.)

</comment></comment><comment><USER14> I see mentioned that the PC port did not go very well. I've never played PoP on my Apple ][, only the DOS port. Am I missing something by only having played the PC version?

(Maybe Color? I don't remember if it was B&W because of my VGA card or because the PC version just didn't have color.)

<comment><USER15> The PC version had color. It was my first version as well, and to me is the definitive port. I didn't like the cartoony Macintosh version that became the standard for all the 16 bit ports. The new art muted the fluid animations IMO.

</comment></comment><comment><USER16> He also has an interesting Doom 3 code review: [http://fabiensanglard.net/doom3/index.php](http://fabiensanglard.net/doom3/index.php)

</comment><comment><USER17> I loved PoP, played it a LOT when I was in college. Great memories.</comment>


C# like language that compiles to C with only 1 prerequisite, glib - <AUTHOR> http://live.gnome.org/Vala/Tutorial

<comment><AUTHOR> This language, IMHO, is what go-lang should have been!

Vala provides enough syntactic sugar to prevent buffer overflow and yet its performance is comparable to C, because it generates C code.

For me, who was Java educated, Vala is strikingly familiar and easy to learn.</comment>


Show HN: Mini-cluster of RPI3 - <AUTHOR> http://www.sweclockers.com/galleri/13821-rpi3-cluster-2 <comment><USER2> Recent Show HN: [https://news.ycombinator.com/item?id=11578184](https://news.ycombinator.com/item?id=11578184)

<comment><AUTHOR> Actually no. This is a new build with mostly the same components. But completely new case.

<comment><USER2> Submissions due to new features and upgrades are generally discouraged in the guidelines.

<comment><AUTHOR> Sure, but it is a completely new chassi for the cluster. Which is basically what the post is all about. Hence, I thought it would be fun to show it.</comment></comment></comment></comment>


Orange_slice: Research Kernel and Hypervisor in Rust - <AUTHOR> https://github.com/gamozolabs/orange_slice <comment><USER2> The coolest part of this, to me:

> This is going to be developed live? Yup. Check out My Youtube Channel or my > Twitter. I announce my streams typically a few hours ahead of time, and > schedule the streams on Youtube. Further for streams I think are more > impactful, I try to schedule them a few days out.

> I'm going to try to do much of the development live, and I'll try to help > answer any questions about why certain things are being done. If this > project fails, but I teach some people about OS development and get other > excited about security research, then it was a success in my eyes.

> I have already scheduled a stream for an intro on Wednesday: Intro Video

[https://github.com/gamozolabs/orange_slice#this-is-going- to-...](https://github.com/gamozolabs/orange_slice#this-is-going-to-be- developed-live)

<comment><USER3> I wonder if they'd be interested in setting up a Patreon, some other regular dev streams I follow have them. This seems like impactful, important work.

<comment><USER4> Would you mind sharing who you watch? I have found a few good ones but feel like there are loads I am missing!

Best video I have found to date is [https://youtu.be/1rZ- JorHJEY](https://youtu.be/1rZ-JorHJEY) but there are only 2

<comment><USER3> Harvard cs50 does live infosec CTF: [http://www.twitch.tv/cs50tv/v/401612368?sr=a&t=2s](http://www.twitch.tv/cs50tv/v/401612368?sr=a&t=2s)

Lots of game developers everywhere.

Someone was building a compiler from scratch in a series and I can't remember the username, will add if I find it.

</comment></comment></comment></comment><comment><USER5> There is one really big technical issue here which I don't see answered on the site: given "it will be multiprocessing from day one", how are they going to handle data races deterministically and efficiently? This is the issue that has made all previous attempts to implement multicore record-and-replay quite inefficient.

<comment><USER6> My apologies, I wasn't very clear in my readme.

It's intended the kernel itself is multiprocessing (support for multiple cores, and multiple VMs). But currently the intent is only to run a single core per VM for now, as getting VT-x or SVM to be deterministic on a single core itself will be hard enough. If we accomplish this, then the next goal would be to maybe look at multiple cores.

It is important that I can run multiple single core VMs on a single machine as I plan to use this framework for fuzzing, and retrofitting multiprocessing to a kernel is always a source of many, many bugs.

Hope that clears it up a bit!

<comment><USER7> I saved a few papers on deterministic multithreading both to knock out concurrency errors and support formal verification. I'm not sure how helpful they are in your use case. I'm just dropping them in case they give you ideas:

[https://people.csail.mit.edu/mareko/asplos073-olszewski.pdf](https://people.csail.mit.edu/mareko/asplos073-olszewski.pdf)

[https://people.cs.umass.edu/~emery/pubs/dthreads- sosp11.pdf](https://people.cs.umass.edu/~emery/pubs/dthreads-sosp11.pdf)

</comment></comment></comment><comment><USER8> Nice. I'm sure you could do a lot of cool things once you have this working well by playing around with the "butterfly effect".

For example introduce a single X us jitter in the RTC interrupt and see how long it takes or which part of the machine state diverges from the baseline run.

</comment><comment><USER9> "The end goal is a deterministic hypervisor, capable of booting Windows and Linux, with less than a 5x performance slowdown to achieve instruction-and- cycle level determinism for cycle counts and interrupt boundaries."

You've set some _very lofty_ goals here, that is, you're pushing the bleeding- edge envelope; I hope you succeed wildly, but if you do not, then the next best thing to success is an "Adventurer's Journal". Sort of like you're an explorer, exploring a new land that no one has ever visited. By writing down journal entries of your exploration, you leave both a guide and a map -- for whoever next decides to explore this uncharted territory with your same goals. The history of computing is filled with people who gave us key stepping stones to advance technology in some form or another... If you aren't successful, then becoming one of these people is the next best thing...

Anyway, wishing you luck in your adventures, and I hope you succeed wildly!

</comment><comment><USER10> Why Rust? (In general..)

Are C memory-related bugs still such a real problem?

IIUC, Rust can prevent these kinds of memory vulnerabilities. But it cant really present the million of other types of vulnerabilities, such as mis- configuration, wrong logic in the code, races, etc

Am i understanding this correctly?

<comment><USER11> > Are C memory-related bugs still such a real problem?

I believe so, yes.

[https://www.zdnet.com/article/microsoft-70-percent-of-all- se...](https://www.zdnet.com/article/microsoft-70-percent-of-all-security- bugs-are-memory-safety-issues/)

> IIUC, Rust can prevent these kinds of memory vulnerabilities.

Yes: if your Rust code has memory errors, there's a bug in an "unsafe" block (~1% of the code in a project of mine, which I think is typical) or in the compiler.

> But it cant really present the million of other types of vulnerabilities, > such as mis-configuration, wrong logic in the code, races, etc

It can prevent data races. It can't prevent all possible race conditions.

[https://doc.rust-lang.org/nomicon/races.html](https://doc.rust- lang.org/nomicon/races.html)

<comment><USER12> > if your Rust code has memory errors, there's a bug in an "unsafe" block

Minor clarification around this part. It's possible for a bug in safe code to break an invariant that some correct unsafe code is relying on, if that safe code has private access to something that the rest of the world doesn't. For example, by changing only safe code inside of Vec, you could introduce a bug that set the wrong capacity. Since all the unsafe code in Vec assumes the capacity is correct, that would break everything and cause tons of UB. Vec is sound, though, because the capacity is a private field, and safe code in the caller can't change it. But it does mean that when we're auditing unsafe blocks, we might also need to audit the safe code in the same module, depending on what invariants the unsafe blocks are assuming.

<comment><USER13> I guess that's debatable, your point is that code that should be unsafe might not be, but then that did mean the unsafe code is wrong in a sense. It assumes an invariant that isn't enforced.

<comment><USER12> Some people describe it as unsafe code "infecting" its containing module. This section of the nomicon goes into more detail: [https://doc.rust- lang.org/nomicon/working-with-unsafe.html](https://doc.rust- lang.org/nomicon/working-with-unsafe.html)</comment></comment></comment></comment></comment>


Boston developer wants cut of Winklevoss twins' $65-million Facebook settlement - <AUTHOR> http://latimesblogs.latimes.com/technology/2011/05/boston-developer-wants-cut-of-winklevoss-twins-65-million-facebook-settlement.html <comment><USER2> Wayne Chang does a great job of telling a story using bits of history to over represent reality.

He claims in several places to have worked at Napster, despite the fact that he was only a volunteer Moderator for chat on the service. Even in his linked in he lists himself as an "Administrator" but that title specifically represented a user access level above "Moderator" (both volunteer community positions) that he did not have.

<http://www.linkedin.com/in/waynechang>

He also represents himself as a consultant to AllAdvantage, when in reality he created "click bot" that automated AllAdvantage use.

This lawsuit is interesting, but I strongly encourage digging into the history of Wayne before coming to any conclusions.

(Note: I was an actual Administrator for the Napster service, but never employed. I am quite familiar with Wayne "ttol" Chang from #napster on EFNet, and I've had several 'disccusion' about his LinkedIn profile with other people in similar position to me.)

<comment><USER3> I was never paid by Napster, Inc (although probably should have been ;). Those were fun times. My career was just getting started so it was my pleasure to volunteer my time -- 8 to 10 hours a day. I was responsible for the Napster Ground Zero effort, which I started and managed. I was an administrator there -- not just only a chat moderator volunteer on the Napster service (although I did have the chat moderator access level as well). The Napster Ground Zero service was insanely popular and allowed napster users to have a persistent identity online, beyond just the chat service. I received a written recommendation from a Napster cofounder and created some great relationships, which was great at that early time in my career. I appreciate every moment of that experience. On a side note, it was great to connect with them again in person at the Napster 10-year reunion last year (can you believe it's already been over 10 years now?). Shawn Fanning throws amazing parties.

As for AllAdvantage, I was a security consultant there. This was a paid position. I was involved directly with the company (and have maintained contact with some of the people there over the years, including the CEO). The software I created, first of its kind called MyAdvantage, got their attention. I was asked to be a security consultant for them to hunt down other software and to help protect their Viewbar software. I agreed and helped with the onslaught of the waves of similar software to my original. Sadly, their business model was fundamentally flawed, but that's an entirely different story.

Great times back then. Heady days of the last dot-com boom.

</comment></comment><comment><USER4> What I find fascinating about the whole Facebook story is how many lawsuits are connected to it. Zuck vs Winklevii, Winklevii vs Chang, Zuck vs Aaron Greenspan, Zuck vs Paul Ceglia. The Facebook story is the gift that keep on giving... lawsuits, that is. Just when you think things have settled down, there's another interesting twist and another person who alleges he's been defrauded.

<comment><USER5> (I'm Aaron, and at least in my case it was Think Computer Corporation v. Facebook, Inc., meaning that my company was the plaintiff, not the defendant. There is a difference.)

Generally, this is a good point, but there's a good explanation. Most of the key people involved did something that others might characterize as dishonest at one time or another, so it's hard to know who to believe. This is why I posted all of the evidence I had available to me in public on-line years ago. To my knowledge, no one else has.

I argue that it is really the media's fault for not ever actually investigating the story, with one exception, which is 02138 Magazine's work. Sadly, 02138 no longer exists. I've written about this issue here:

[http://www.quora.com/Aaron-Greenspan/Mark-Zuckerberg- Should-...](http://www.quora.com/Aaron-Greenspan/Mark-Zuckerberg-Should- Resign-And-If-Youre-A-Technology-Reporter-So-Should-You)

</comment></comment><comment><USER6> Good for him. I hope he wins. The Winklevii(did Mark ever call them that? Cause it's brilliant) have made a career out of suing facebook and I'm glad they're getting some of their own medicine.

<comment><USER7> If you ever have a good idea please hire me to implement it for you. Then I can throw a continuous stream of monkey wrenches into your effort while spending the rest of my time stealing it on the side. I want this arrangement with you specifically because apparently you wont even sue me for defrauding you.

</comment></comment><comment><USER8> I also want a cut, but no-one ever asks me...

<comment><USER9> How about 0%? That is my final offer.

</comment></comment><comment><USER10> there's something odd going about the chin of the guy on the right</comment>


Can You Trust An Early-Stage VC With a HIR and EIR? - <AUTHOR> http://alexstechthoughts.com/post/45913644960/can-you-trust-an-early-stage-vc-with-a-hir-and-eir

<comment><USER2> I think you can trust VC firms because they are _incentivised_ to not steal your idea. In fact, they see that many ideas there will probably be 4-5 entrepreneurs pitching them the same idea potentially with the same/slightly different spin on it.

By _incentivised_ , I mean that if a VC firm is known to steal ideas then entrepreneurs, will generally avoid them (especially if the VC firm that stole the idea was an early-staged VC) which means that their deal flow will dry up – something no VC firm wants.

Having an EIR and/or HIR allows a VC firm to provide their portfolio companies with a better level of service. VC firms are providing more than just money, they're providing help with resources which are/maybe too early for a startup to have and when you do need them they're helping you fill those roles – specifically they're providing things like finance, marketing, HR, PR help etc and having an EIR and/or HIR increases the amount of service they have offer to their portfolio companies.

<comment><USER3> Definitely. Thanks for this. The post was specifically early-stage - and it isn't the VC that would steal it - it's the HIR and EIR - the VC would still fund it, but just their guys/gals. But everything you said makes a lot of sense.

</comment></comment><comment><USER4> I was an EIR once. The thought of copying someone's idea never even vaguely occurred to me - indeed, I was taken on board to further develop a preexisting idea. May not be true at less reputable venture firms, but in general the maxim of not worrying too much about people stealing your idea still applies.

That said, it's the first time I hear of HIRs, and I don't think retaining such people at VCs makes any sense, precisely because this concern seems more real. It's cool if the VCs themselves have hacker backgrounds of course, but having a full time hacker on board is another matter.

</comment><comment><USER5> Ladies and Gentlemen, we have a post where there will be much " strategic " silence in terms of comments and loads of up-votes.

</comment><comment><USER6> If the team is good, no amount of competition will kill a company with a good idea. Think about it this way: how many great products and services do you use that have no competition? If your idea and team are worth investing in, then no one will be able to stop you by "stealing" the idea.

</comment><comment><USER7> Can someone explain to me what a HIR and EIR would do at a VC?

<comment><USER3> hacker in residence can do a bunch of things. build new website for them, build stuff on portfolio companys APIs, start building their own project. depends on the vc and what they want. Also depends on the hacker and what they want.

entrepreneur in residence is supposed to be working on a startup- while also participating on investments- they can bring in deals, help portfolio companies, vet imminent investments, etc.

helpful?

<comment><USER7> Yes thanks.

</comment></comment></comment><comment><USER8> Please stop writing this sort of junk:

"Ideas are valueless, it is all about execution. Anyone who says differently is either misinformed or unable to execute."

<comment><USER3> super constructive. thanks.

<comment><USER8> If you're going to take such a dogmatic stance in your writing then you should be prepared for the criticism. I don't think anyone is interested in rehashing the debate about the value of ideas on this thread. Suffice it to say there are plenty of very well informed people who have built companies and believe that ideas are valuable and worth protecting. So when you demean your audience by suggesting otherwise you can expect people to take offense, dismiss whatever else you have to say, or both.

<comment><USER9> The fact the author expresses his personal opinion shouldn't be an issue for a reader because they avail themselves to his thoughts by reading the article. He's allowed to write what he wants and more importantly believes. Either constructively rebut the issue or ignore it.

</comment></comment></comment></comment><comment><USER10> It is so much more likely that your product is bad because you avoid telling people about it than your product idea is copied and crushed by another upstart

</comment><comment><USER11> It happens. Personal experience. That said, if you do your homework on the team you can minimize the probability.

Doesn't minimize the sting sadly.

</comment><comment><USER12> i see a lot of "the VCs are incentivized against stealing..."

what will happen is the HIR/EIR will take an idea that they haven't invested in yet (heard during a pitch, maybe), and incorporate it into a company they HAVE invested in.</comment>


LocationKit: The Making of – Part 2 - <AUTHOR> https://locationkit.io/locationkit-the-making-of-part-2/

<comment><USER2> Nice. The first one was great too.</comment>


Quickly Build a Wiki with Angular and Firebase - <AUTHOR> https://developer.okta.com/blog/2019/02/28/build-crud-app-with-angular-and-firebase#edit-pages-in-your-angular--firebase-app <comment><USER2> Any demo sites already available to try out?</comment>


Open plan offices are basically terrible in every way (2015) - <AUTHOR> https://tommorris.org/posts/9403 <comment><USER2> I have such mixed feelings about the open office plan.

On one level I agree with every complaint that comes with this article and all the pro's of having a quiet closed off space.

On the other hand, there have been many occasions where someone overheard a conversation and injected something useful, or where I was able to do the same. There are some times, where being able to work AND talk with folks is a HUGE win for your collective productivity. I grant that this may come at the expense of others productivity, and that is the downside.

Some of the most productive projects I have worked on, have been when small teams (3-6 people) have taken over conference rooms as work spaces. We had the benefit of being "open" with each other, without the ambient noise of everyone else. The disinclination to speak out loud for fear of disturbing a whole office (its just my team members) went away. Headphones became effective with quite music (or a good set of over ear headphones blocked out people without music). I can think of one experience with a team where I didn't enjoy the company of 1/2 the team members, yet still managed to be highly productive in this setting with them.

My last several employers lacked enough conference rooms for meetings, never mind having spare ones to take over. It isn't just open offices, it is a lack of enough "Private spaces" that compounds the issues associated with the open office and makes them far worse.</comment>


Dismantling of [WA] health reforms in 1993 may offer lessons for [ACA] repeal - <AUTHOR> http://www.seattletimes.com/seattle-news/politics/dismantling-of-states-health-reforms-in-1993-may-offer-lesson-for-obamacare-repeal/ <comment><AUTHOR> Note: I altered the article's title slightly.

1\. Replaced "State's" with "[WA]", for clarity.

2\. Replaced "Obamacare" with "[ACA]", to get under 80 character limit.</comment>


82% of US tablet market owned by Apple's iPad, The Daily loses $10M - <AUTHOR> http://www.appleinsider.com/articles/11/05/05/82_of_us_tablet_market_owned_by_apples_ipad_the_daily_loses_10m.html <comment><USER2> The tablet market is a solution wanting a problem, so the fact that Apple has 82% of it means very little.</comment>