Imitate. We are imperfect mirrors - <AUTHOR> http://sivers.org/mirror <comment><USER2> This is an insight shared by many artists. My favourite, and perhaps the most blunt, take on it is by Picasso:

 _" What does it mean for a painter to paint in the manner of So-and-So or to actually imitate someone else? What's wrong with that? On the contrary, it's a good idea. You should constantly try to paint like someone else. But the thing is, you can't! You would like to. You try. But it turns out to be a botch… And at the very moment you make a botch of it that you're yourself."_

<comment><USER3> Thanks for this. I hadn't heard the full quote before. People often quote the "great artists steal" line from him - including Steve Jobs - [https://www.youtube.com/watch?v=CW0DUg63lqU](https://www.youtube.com/watch?v=CW0DUg63lqU) \- but the fuller idea is much more interesting.

<comment><USER4> The "great artists steal" line comes not from Picasso but from T.S. Eliot. Lots of previous discussion about this:

[https://hn.algolia.com/?q=picasso+eliot#!/comment/forever/0/...](https://hn.algolia.com/?q=picasso+eliot#!/comment/forever/0/picasso) eliot

The line that elliots (not to be confused with T.S. Eliot!) quoted turns out to be authentic, though—or at least there's some evidence for it:

[http://books.google.com/books?id=OJTKZeXaUvkC&lpg=PA53&dq=%2...](http://books.google.com/books?id=OJTKZeXaUvkC&lpg=PA53&dq=%22You%20should%20constantly%20try%20to%20paint%20like%20someone%20else%22&pg=PA53#v=onepage&q=%22You%20should%20constantly%20try%20to%20paint%20like%20someone%20else%22&f=false)

</comment></comment></comment><comment><USER5> I've been learning music production. Do you know how? By creating copies of tracks that inspire me, from scratch.

I learnt how to program websites when I was 14. Do you know how? I copied a site a loved and made it my own, from scratch.

This is simply my favourite way of learning. Whenever I lack inspiration for something, I go copy, recreate, adjust. Because hey, at the end of the day, everything is a remix!

<comment><USER6> What applications can you suggestion for music production?

* Scorewriter program like Sibelius, Finale?

* or a digital audio workstation like FL Studio, Cubase, Pro Tools?

Maybe someone also knows some good blogs, tutorials for beginners.

<comment><USER7> Be wary of this. Electronic music is traditionally defined by the out-of-the- box workflow of the limited tools available. By extracting every last ounce of creative potential from a box that does 3 things. "Surrendering to the machine," if you will.

The unlimited potential of modern music software will cripple you, and the first step in this is the impossible choice of which software to use. It gets worse from there on out.

If you are already a musician then it makes sense to seek out the powerful tools which will allow you to implement your already fully-formed musical ideas. However, if you want to just create "electronic music," the way to do this is by trial and error, and extensive practice with _one tool,_ which tool is not important.

Skrillex, Basic Channel etc did not come up with their distinctive sound palettes by imagining them in advance and then seeking out the "best" tools to implement them. They did it by turning all of the knobs on the 2 or 3 tools they had, plugging them all into each other backwards and upside down until a sound came out that they liked.

If you want to make "electronic music," that's how it's done. However hard you try and do it deliberately, you will eventually come back to letting the machine play its proper part.

The other universal truth is that when you discover how your favourite producer did something that sounds incredibly complex to you, it have been via an incredibly simple technique that they didn't really understand. "I just plugged the output back into the input, turned it up to 11 and that sound came out." They were able to discover this because they weren't worrying about tutorials and decisions, they were too busy turning it up to 11.

(Note that this is what guitar/piano/etc musicians have been doing for centuries, because they had no choice. How much great music do you think beethoven would have written if he'd had to choose from 10,000 pianos? Would the music that he did write be better or worse?)

EDIT: so, practical advice: try some tools. As soon as you find a small set of tools which you find intuitive, stop looking for more. Use the tools intensively until you have pretty much exhausted them, or got really bored. By then you should be pretty accomplished, so the search for new tools will no longer be painful and limiting, but fun and empowering.

If you're brave, choose a software package at random. Or go to your local pawn shop, buy the first piece of music gear that catches your eye, and force yourself to write 10 tracks with it and only it, no matter how pitiful it might be.

<comment><USER6> Thank you for the long and very good post!

I am still searching for a tool that doesn't limit me. I went from experiments with Reaktor and FruityLoops 3 (~ 10 years ago) to MIDI and score editors with virtual instruments. But that was the wrong direction.

Things have apparently improved and there are now professional tools available for Windows. I already played around with a virtual Swarmatron and reproduced sounds like in Social Network and the iconic THX sound. And I will simply try some tools and choose the one with the best interface :)

</comment></comment></comment></comment><comment><USER8> Most of my best ideas come from misunderstanding other ideas.

One thing I'd add to this: Replicate work that _you_ respect and appreciate, not work that seems to be successful. To me, that's the difference between copying and stealing in the often-quoted "Great artists steal..." line.

</comment><comment><USER9> This reminds me an amazing quote by Jim Jarmush:

Nothing is original. Steal from anywhere that resonates with inspiration or fuels your imagination. Devour old films, new films, music, books, paintings, photographs, poems, dreams, random conversations, architecture, bridges, street signs, trees, clouds, bodies of water, light and shadows. Select only things to steal from that speak directly to your soul. If you do this, your work (and theft) will be authentic. Authenticity is invaluable; originality is non-existent. And don't bother concealing your thievery - celebrate it if you feel like it. In any case, always remember what Jean-Luc Godard said: "It's not where you take things from - it's where you take them to.

</comment><comment><USER10> I love this! When learning to program, I wrote a clone of a basic java game by Notch:

Mine: [http://codelucas.com/pages/island- overlord.html](http://codelucas.com/pages/island-overlord.html) His: [https://mojang.com/notch/ld12/breaking/](https://mojang.com/notch/ld12/breaking/)

The code: Mine: [https://github.com/codelucas/islandoverlord](https://github.com/codelucas/islandoverlord) His: [https://mojang.com/notch/ld12/breaking/BreakingTheTower.zip](https://mojang.com/notch/ld12/breaking/BreakingTheTower.zip)

I also "cloned" a well known python article extraction library (goose) on Github with my own api & new functionality and my repo ended up doing super well (even better than the original).

[https://github.com/codelucas/newspaper](https://github.com/codelucas/newspaper) vs. [https://github.com/grangier/python- goose](https://github.com/grangier/python-goose)

</comment><comment><USER11> I recommend reading Austin Kleon's 'Steal Like an Artist' for a more thorough discussion: [http://amzn.com/B0074QGGK6](http://amzn.com/B0074QGGK6)

</comment><comment><USER12> I stole an idea for a game which has yet to be implemented by the person who briefly mentioned it a couple years ago. It inspired me, and because the idea was not some highly detailed plan, I know my conception of it will be _completely_ different from that of the original idea-haver.

People talk about idea vs. implementation, but the missing component is the vision that drives and expands that initial idea. That's obviously true in anything related to creative work, but I think it holds true almost everywhere, except in utterly trivial cases.

</comment><comment><USER13> Not realizing this has hamstrung my thought process quite a bit. I've killed a lot of ideas because I felt they were too similar to others, but really, looking back, they weren't. Everything we do is derivative, even the things we consider original, as they're all built on a common scattershot mass of knowledge. If we all went to make something as simple as a shampoo bottle, we'd get a lot of different, completely unique concepts. This is worth remembering.

</comment><comment><USER14> The obligatory Everything is a remix series:

[http://everythingisaremix.info/watch-the- series/](http://everythingisaremix.info/watch-the-series/)

</comment><comment><USER15> Reminds me of a quote from one of the XXIst Century's great art intellectuals:

"All art is either plagiarism or revolution." \--Shia LaBeouf

Seriously, though, when it comes to art and code I've always found a useful policy to be "find somebody good and do what they're doing". For example, ever since I first dug into NetBSD code I've found it written in an exemplary style of C, which I strive to imitate myself when I work in C. I may never get it just right, but it's made me a better C programmer than I was, or at least one with a clearer style.

</comment><comment><USER16> I've seen this work in a limited scale in my own venture. I started an lsat prep website, [http://lsathacks.com](http://lsathacks.com)

Almost everything about the site was inspired by reference examples within the industry. And yet the site is unique, because I have my own take on things. I saw the principles underlying various sites, and redid them in my own style.

It's still early days, but initial results are positive. I'd have gotten nowhere if I stubbornly insisted on only original ideas.

<comment><USER17> Correct URL is [http://lsathacks.com/](http://lsathacks.com/)

<comment><USER16> Oops, thanks. Wrote the original on my phone, fixed it

</comment></comment></comment><comment><USER18> I agree. This is why all my personal source code is open, and why I think all the copyrights and what not potentially do the human race more of a disservice than they help.

</comment><comment><USER19> When stuck in a design rut, try copying something else. Where you end up will generally look nothing like the original. Sometimes you just need the push.

</comment><comment><USER20> Yep.

Several of my most successful films have come from explicitly attempting to imitate someone else's style.

And I've never once had anyone accuse me of copying - indeed, I'm not sure anyone has ever realised that I was riffing on another filmmaker without me explaining it beforehand.

</comment><comment><USER21> I fear most of you will take this advice the wrong way.

We all know that nothing's completely original. You shouldn't be reinventing the wheel with every program you write. But follow this advice too closely and you'll end up with a clone. A program with all the good qualities of its predecessor, and all the flaws too.

Your clone will be competing with other clones for control of the market. And so long as you're competing on the same turf, you'll be at a disadvantage. Big established companies rule the market for time tested software. Their program came out before your clone, and they've had lots of time to grow their business. They have a bigger research budget than you, and a bigger marketing department.

Besides, everybody already uses their product. You ever hear of network effects?

Start with something that's been done before. But take it somewhere new. Find an emerging market for an established technology. One the big players ignore. Historically, that's where startups have had the advantage.

</comment><comment><USER22> I think author should stop reading "The Chronicles of Amber" for a while :)

</comment><comment><USER23> Zynga lives by this advice :)

<comment><USER24> [http://www.geek.com/games/blizzards-hearthstone-instantly- pl...](http://www.geek.com/games/blizzards-hearthstone-instantly-plagiarized- in-china-long-before-release-1582550/)

<comment><USER25> They tend to be 'perfect mirrors' though. I have heard stories about flash and android games being de-compiled to "mirror" the code and visual/sound assets as well. AFAIK it's called "respectful borrowing".

</comment></comment></comment><comment><USER26> For example see Michael Bublé.

<comment><USER27> Buble and Zynga aren't trying to do anything new.</comment></comment>


FOUC with Firefox Quantum - <AUTHOR> After all the hype, I finally downloaded Firefox Quantum and the first thing i noticed, while opening GitHub, FOUC happened! I was like, OK, it might be an anomaly but happened again on multiple websites with loads of css & javascript. <comment><USER2> If anybody else is wondering: "FOUC stands for Flash of Unstyled Content." [https://webkit.org/blog/66/the-fouc-problem/](https://webkit.org/blog/66/the- fouc-problem/)</comment>


How to open a reverse tunnel into any pod or container with tcpserver and netcat - <AUTHOR> https://layerci.com/blog/container-tcp-tunnel/ <comment><AUTHOR> Inspiration to post this came from a /r/kubernetes thread: [https://www.reddit.com/r/kubernetes/comments/dq4st1/github_o...](https://www.reddit.com/r/kubernetes/comments/dq4st1/github_omrikieiktunnel_a_cli_that_exposes_your/)</comment>


The Results of the 126.96.36.199 Public DNS Resolver Privacy Examination - <AUTHOR> https://blog.cloudflare.com/announcing-the-results-of-the-1-1-1-1-public-dns-resolver-privacy-examination/ <comment><USER2> I learned a few things from this post. Is the IP truncation happening at a certain octet? I'd be interested to read more of that. I'm searching on mobile, so hard to find (I hit a 404 and some forum posts)

<comment><USER3> "A public resolver user's IP address (referred to as the client or source IP address) will not be stored in non-volatile storage. Cloudflare will anonymize source IP addresses via IP truncation methods (last octet for IPv4 and last 80 bits for IPv6). Cloudflare will delete the truncated IP address within 25 hours."

It's the last octet.

</comment></comment><comment><USER4> >US for profit company >privacy That's a literal oxymoron. All US companies are subject to data snooping whatever they say themselves is irrelevant. Lavabit is the prime example how the US gov will force you to either hand over keys or go out of business. And since Cloudflare didn't have any problems with Gov yet it's obvious they are handing over all keys without court orders.

</comment><comment><USER5> That's great.

As imperfect as it is these types of external reviews do give me some level of comfort.</comment>


Ask HN: I'm building one HTML5 game per week, need feedback - <AUTHOR>

Hello,
As a developer and a gamer I always wanted to make games, but I never actually did it. To change that I threw myself a public challenge: build a new game every week in html5 using Phaser (a javascript framework).
The games are quite simple for now, but that's because I'm still learning. Let me know if you have any feedback on the games or the website.
Link: www.lessmilk.com
Thanks! <comment><USER2> Just finished game #3, died 83 times (wasn't too hard after playing Super Meat Boy :)). Some ideas: add two more controls for increasing vertical and horizontal velocity (i.e. holding "shift" will make to box go faster and jump farther, and holding jump longer will make it jump higher. And then add more levels that exploit those controls!

</comment><comment><USER2> Nice games. I like the simple visuals. Played game #2 for a bit. One specific comment: Holding "up" fires at the maximum rate (pressing up repeatedly doesn't fire any faster). Also, there is no downside to constantly holding up. So you probably should either (1) eliminate the up button and just auto-fire all the time, (2) have a fuel mechanic that will force the player to conserve shots, or (3) make it worthwhile to press up faster. And if doing so, move the fire button to space or something similar, because it is hard to repeatedly press up while moving with the side arrows.

<comment><AUTHOR> That's some great feedback, thanks!

I don't want to edit my previous game to be true to the challenge, but I'll definitely keep this in mind for my next games.

</comment></comment><comment><USER3> Great games! Great start!

Here's a talk you might be interested in from one of the guys who made "Ridiculous Fishing" on the Art of Screenshake: [https://www.youtube.com/watch?v=AJdEqssNZ-U](https://www.youtube.com/watch?v=AJdEqssNZ-U)

Basically, it's a bunch of interesting points on how to make action games feel more responsive and fun.

<comment><AUTHOR> Thanks for the video, it looks super interesting!

</comment></comment><comment><AUTHOR> Clickable: [http://www.lessmilk.com](http://www.lessmilk.com)

</comment><comment><USER4> Wow! Love your games. I got started programming by writing games like this on a TRS-80 Model 3 in the early 80's, but we only had one "beep" sound then. I went on to write parsers for text adventures, which got me into parsers for programming languages, compilers and then machine learning.

Your games are fun, especially Jump Squares. I noticed that keeping the game going without pause has an addicting effect. (In comparison to the "push up button to restart" on games 1 and 2.) I had no intention of playing it all the way through, but I couldn't stop until I did.

Nice clean design for such simple games. Fun sounds.

</comment><comment><USER5> Game 3 is my fave... Awesome... brings back memories of my Commodore 64 days where my favorite game was Galaga, crude pixels, smooth movement, great action.

One small refinement suggestion: perhaps a few "tick marks" on the horizontal axis so people can time it right (if not for all, at least for initial levels, would lure players in a little more), eg see [http://imgur.com/kDEgbTo](http://imgur.com/kDEgbTo)

Edit: here's a longplay video of that Galaga game. [http://www.youtube.com/watch?v=aSqk8t0Pxww](http://www.youtube.com/watch?v=aSqk8t0Pxww)

<comment><USER6> You'd probably enjoy the crap out of City Jumper (flash game) from way back when.

[http://www.addictinggames.com/action- games/cityjumper.jsp](http://www.addictinggames.com/action- games/cityjumper.jsp)

</comment></comment><comment><USER7> Oh boy, these are awesome! :D

I'm especially fond of game #1. It reminded me of an old html game I played in which I had to use the mouse to drag a rectagle around, avoiding collisions with other rectangles that bounced around. I remember receiving this in an email that said if I were able to stand for X seconds (I can't remember how many) then it meant that my reflexes were above the threshold required for jet pilots — and obviously, as every boy, I wanted to fly a jet.

The only critique I have for you is to have posted it during my work hours.

</comment><comment><USER8> These are great! I love simple games like this.

They are fun, but it feels like they'd be a lot more fun with a bigger playing field. Have you considered making a larger playing area?

</comment><comment><USER9> I like how you created real games instead of just demos. The third one is really addictive, I've played one very similar on the iphone. (I think it was called Impossible game or something similar). Maybe as a next game it could be similar to the #3 but with this gameplay "[http://www.youtube.com/watch?v=rPgotLzzb-Q"](http://www.youtube.com/watch?v=rPgotLzzb-Q"), i.e. one key to move higher but gravity then brings you down. You rock keep it up.

</comment><comment><USER8> Inspired by your sharing of simple games, I'll share the one html5 game I made a couple years ago for fun:

[http://tapawaygame.com](http://tapawaygame.com)

It's meant for mobile devices, and it's unpolished, but it was fun and satisfying to make. I was inspired to make it after I had an eye exam. I'm always scared of "failing" that test where you have to tell the optometrist every time you see a flash on a screen.

</comment><comment><USER10> How did you decide on Phaser? Would you recommend it?

How hard would you say it is to get started for someone with some JS experience and some pyGame experience?

<comment><AUTHOR> I spent a lot of time trying multiple javascript 2D framework, and Phaser [0] was the best for my needs: it works well on all modern browser, it's simple, and powerful.

I never tried pyGame, so I don't know.

[0] - [http://www.phaser.io/](http://www.phaser.io/)

<comment><USER11> Based on pixi.js, should have good rendering performance.

Great, just the thing i was looking for!

</comment></comment></comment><comment><USER12> So far the one thing that all of your games have in common is that they are very responsive. Don't ever change that for any reason. Without responsive controls, you game will be terrible no matter much polished the rest of it is.

As your games become more complex, it will be easier to offer some constructive criticism. Right now, however, you seem to be doing fine.

Keep up the good work.

<comment><USER12> >So far the one thing*

I meant that it's one of the things they have in common. Basically, the responsiveness they share stands out in a positive way.

</comment></comment><comment><USER9> Only played game #3. Really like it. Two suggestions: \- I'd put a small countdown (2-1 go) or something when we die because otherwise you die and already miss the right timing to do this level. So sometimes I had to voluntary let it die 2-3 times to have a good start.

\- Would be way cooler to be able to jump on top of the boxes.. but you have to land perfectly on it.

</comment><comment><USER13> Would you like to work together, i am building a turn based board game, and need some help on client side. [http://www.reddit.com/r/devblogs/comments/1v6ivc/turn_based_...](http://www.reddit.com/r/devblogs/comments/1v6ivc/turn_based_board_game_developer_partner_needed/)

</comment><comment><USER14> I'm doing a similar, but slightly less aggressive thing and trying to do a game a month. Here's what I currently have, it's ok I guess.

[http://tedajax.net/Game/](http://tedajax.net/Game/)

I really like your third game, very simple but it works and is engaging.

<comment><USER15> I played it for a little while. Love the Feel!

EDIT: green particles are meant to collide with the player, Sorry!

</comment></comment><comment><USER16> I would suggest building analytics in your games, to see how people are playing them vs how you thought they would be played, and identify levels that are too easy or difficult.

e.g. on Game 3, track an event on each level up along with the number of death for that level.

Game 3 is really addictive. Good job

</comment><comment><USER17> I enjoyed them! I've been thinking about getting into HTML5 game development recently but couldn't think of a good place to start. Creating lots of little games like this (simple arcade games) seems like as good a place as any - perhaps I'll attempt something similar. Thanks for the idea!

</comment><comment><USER18> It would be neat for someone to take one of the games and show how to build it without any frameworks.

<comment><AUTHOR> I plan to write tutorials on how I build some of my games with Phaser. But without any framework, I don't know how to do it.

<comment><USER19> make sure to make a post about it...I'm interested! Keep up the good work!

<comment><AUTHOR> Thanks! To be notified when it's out, you should register to my newsletter [http://www.lessmilk.com](http://www.lessmilk.com)

</comment></comment></comment></comment><comment><USER20> really liked game number #3 , not so much a fan of the background music, but definitely it was a cool game to pass away 4 or 5 minutes. Thanks.

</comment><comment><USER21> Very cool, i like this one [http://www.lessmilk.com/3/](http://www.lessmilk.com/3/)

</comment><comment> vezzy-fnord I'd recommend you go for quality over quantity. Make a decent game every month or some longer period of time, rather than a generic arcade game every week.

But, whatever keeps you motivated. Keep going.

<comment><USER22> "The ceramics teacher announced on opening day that he was dividing the class into two groups. All those on the left side of the studio, he said, would be graded solely on the quantity of work they produced, all those on the right solely on its quality. His procedure was simple: on the final day of class he would bring in his bathroom scales and weigh the work of the "quantity" group: fifty pound of pots rated an "A", forty pounds a "B", and so on. Those being graded on "quality", however, needed to produce only one pot -albeit a perfect one – to get an "A". Well, came grading time and a curious fact emerged: the works of highest quality were all produced by the group being graded for quantity. It seems that while the "quantity" group was busily churning out piles of work – and learning from their mistakes – the "quality" group had sat theorizing about perfection, and in the end had little more to show for their efforts than grandiose theories and a pile of dead clay.The ceramics teacher announced on opening day that he was dividing the class into two groups. All those on the left side of the studio, he said, would be graded solely on the quantity of work they produced, all those on the right solely on its quality. His procedure was simple: on the final day of class he would bring in his bathroom scales and weigh the work of the "quantity" group: fifty pound of pots rated an "A", forty pounds a "B", and so on. Those being graded on "quality", however, needed to produce only one pot -albeit a perfect one – to get an "A". Well, came grading time and a curious fact emerged: the works of highest quality were all produced by the group being graded for quantity. It seems that while the "quantity" group was busily churning out piles of work – and learning from their mistakes – the "quality" group had sat theorizing about perfection, and in the end had little more to show for their efforts than grandiose theories and a pile of dead clay." Art and Fear

<comment><USER23> Write drunk, edit sober.

[http://ninjasandrobots.com/write-drunk-edit- sober](http://ninjasandrobots.com/write-drunk-edit-sober)

</comment></comment></comment><comment><USER24> Excellent! I hope you progress well from this. One thing that bothers me here is input lag. Is this inherent to phaser?

<comment><USER25> I'm not experiencing any input lag in Firefox. What browser are you using?

</comment></comment><comment><USER26> Great project and fun games! How many are you planning to do? Do you have an end-goal in mind?

<comment><AUTHOR> Thanks! I don't have any specific goal in mind, I'll try to do it for as long as I can.

</comment></comment><comment><USER27> Number 3 is so simple but a really novel game mechanic. (For me at least.) Nice job!

</comment><comment><USER28> Love game 3, 1 and 2 seem like they a need a bigger playing area to be fun.

</comment><comment><USER29> who much time did you spend doing these games?

I actually worked doing some physics stuff in C for a game, never got to see the finished product but I've always wanted to do a whole game.

</comment><comment><USER30> You must be a terrific game artist to combine tech and games like that.

</comment><comment><USER31> Thanks, enjoyed game #3.

Enhancement request: Fullscreen mode

</comment><comment><USER32> How about open sourcing the code so others can learn with you

<comment><USER25> The code's not obfuscated or anything. Just view source.

</comment></comment><comment><USER33> Very awesome. Played each one of them for like... 5 minutes!

</comment><comment><USER34> Nice! Difficult, playable and addictive :)

</comment><comment><USER35> Game 1 might be fun as multiplayer

<comment><USER36> Exactly, Game 1 with multplayer, real time, start together, and the one who stays the last gets a point, the first who get 10 points wins :)

</comment></comment><comment><USER37> Very nice games :) Keep going! :)

</comment><comment><USER38> i enjoyed the square jump game. it could benefit from a leaderboard.

</comment><comment><USER39> Awesome, keep at it. :D

</comment><comment><USER40> these are awesome!</comment>


Fuse's 'Side Kick' Helps You Manage Your MacBook Pro USB-C Cable - <AUTHOR> https://www.macrumors.com/2019/02/05/fuse-side-kick-cord-winder/ <comment><AUTHOR> This looks like a legitimate product that would really help me manage my power cord. Why isn't Apple doing things like this instead of taking away the ability to manage your power cords?</comment>


What does Watson mean? - <AUTHOR> http://blogs.msdn.com/b/alfredth/archive/2011/02/18/what-does-watson-mean.aspx

<comment><USER2> yeah, its an expert system. that's basically it.</comment>


It's Time for Caps Lock to Die - <AUTHOR> https://medium.com/forwardtick/its-time-for-caps-lock-to-die-81c9eaa4dfa7 <comment><USER2> What a... strange battle to fight.

The author has a _serious_ bone to pick with a keyboard key.

I would suggest that anyone who feels this strongly about their caps-lock key simply remove it from their keyboard so it can no longer be accidentaLLY ACTIVATED.

Edit:

Also,

> _(Say, for example, double tapping the Shift key, like how it already works > on your phone.)_

Would be terrible for gamers - I already get annoyed with sticky keys sometimes.

<comment><AUTHOR> Hey, I'm the author :)

I realize it comes across like I'm super worked up over something no one cares about, but I don't _hate_ the key, I just think it's a waste of space on modern keyboards, and that we should collectively reconsider its purpose. Considering the amount of time we all spend on our computers nowadays, any little efficiencies on their input devices could have a pretty large impact.

I'm also someone who gets really passionate about bad design in everyday life and I have strong feelings about the way I think everyday things _should_ be designed.

On my old laptop, I remapped the key to a new kind of modifier key and made the JKLI keys behave like ←↓→↑ keys when Caps Lock was pressed down. It sped up my casual text input a ton, and that was the first time I started really thinking about it more deeply. I did an HCI study during my undergrad to try and prove that an alternate use for the key could help people input text more efficiently, but it was inconclusive.

I also want to make a Mac app that would turn Caps Lock into Emoji Lock, where it would toggle between normal input, and emoji input. Something like this: [https://i.imgur.com/Z5dDVUn.png](https://i.imgur.com/Z5dDVUn.png)

I know a lot of people on this site probably don't use emojis very often, but a ton of Mac users do, and the existing methods for typing emojis on macOS (and Windows) are still super awkward and clunky. Unfortunately I don't know how to code macOS apps and I've got too much on my plate right now, but hopefully sometime in the future I'll get around to making that.

And if I'm being 100% honest, I partially wrote this article so that if Apple does indeed replace the key on future keyboards, it'd make me look really good at predicting the future ;)

Anyway, thanks for your feedback.

<comment><USER3> I think Windows has a pretty decent emoji interface as of a couple feature releases back: Win+. or Win+; (the Windows key [or Super key if you prefer the Linux name] with either . or ; whichever feels more comfortable) brings up a palette that can be navigated via keyboard and/or searched by typing words (and/or clicked/tapped). Most recent feature update even added common kaomoji.

<comment><USER4> Also, for the macOS users, there's a great emoji picker interface: cmd+ctrl+space brings up a very similar-sounding menu where you can search by typing, or scroll through and click the one you want.

<comment><AUTHOR> That's actually the one I was thinking of as being awkward to activate :) I love the picker itself but the activation method is pretty clunky in my opinion.

I wish I could just hit one key instead of having to simultaneously press three. I've been using Rocket for awhile now ([https://matthewpalmer.net/rocket/](https://matthewpalmer.net/rocket/)) which kind of takes the Slack style ":emoji_name" format to the whole computer, but it's still kind of awkward to activate and has a lot of false positive triggers. (It really makes you realize how often you type colons in everyday computer usage.)

</comment></comment></comment></comment></comment><comment><USER5> As a programmer of C language, where macros are conventionally all-caps long strings, CAPS lock is really important for me.

<comment><USER6> I set up Emacs so Meta works on words and Super works on symbols. So I type_the_identifier_in_lowercase then type s-b to move the cursor to the beginning of the symbol, then type s-u to uppercase the symbol and move the cursor back to the end of the symbol. It works out to the same number of keystrokes as using caps lock, but is way more powerful since I can also transform all caps to lowercase just as easily.

</comment></comment><comment><USER7> A long time ago I ran anticapslock.com with articles and software about disabling/remapping the key.

The best achievement I did in the process was creating a software called clipcontrol, which turned the caps lock key into a clipboard control key.

So caps+X/c/v worked like cut/copy/paste Caps + 1-9 was history number 1-9 Then there was support for persistent clipboard entries, etc etc Even plugin support to do text formatting and similar :-)

I'm not sure if it still works on recent windows versions, I switched to Linux a long time ago and a Linux version is yet to be done

Anyway, I think caps lock should be a clipboard key as clipboards are an important part of many workflows.

<comment><USER7> [https://sourceforge.net/projects/clipcontrol/](https://sourceforge.net/projects/clipcontrol/)

</comment></comment><comment><USER8> Caps lock is still used by French people on the azerty keyboard since you need to press shift to access numbers.

</comment><comment><USER9> I'm using an Anne Pro II, mechanical 60% keyboard. Capslock accesses a function layer, I've got vim-like hjkl arrow keys mapped, and some delete/backspace keys mapped to my home row. If you just tap the capslock key without hitting anything else on the function layer it works like a regular capslock.

When I'm typing something in a search bar I can just hit capslock+j/k and I'm cruising up and down the autocomplete suggestions. It's great for moving the cursor left and right in non-editor environments (and also insert mode).

I originally bought it for ergonomics, I absolutely love it now. Once the bindings became second nature it breathed new life into my capslock key usage. I would recommend it, or any similar programmable 60%, to anybody who likes to tinker with keymappings.

</comment><comment><USER10> If someone agrees and wants to implement something like this easily - autohotkey lets you do this in Windows with a one line script.

CapsLock::Ctrl ; or some other key here

To leave yourself some flexibility on using capslock still by hitting shift+ caps to activate it, use

+CapsLock::CapsLock

CapsLock::Ctrl ; or some other key here

<comment><USER11> I map it to F13, which I then use as a combo key to give me a variety of media keys that my keyboard lacks natively.

Scroll lock is likewise mapped to F14 because that's another useless key.

<comment><USER10> That's clever, I beat my head against the wall a few times trying to force direct mappings to other functions.

</comment></comment></comment><comment><USER12> As an alternative to the "remap caps lock to esc or ctrl" crowd, I'd like to suggest remapping to scroll lock. I don't need easier access to esc or ctrl, so I decided to pick a different key. Scroll lock doesn't really get used for anything important (in my workflow) and provides an extra key to use in bindings for your text editor or games. I've been using it for about a decade and it gives me a bit of additional utility for a key that I wouldn't otherwise use.

<comment><USER13> On a 60% and no idea where scroll lock lives (time to check the manual). But I've come to really prefer ctrl in place of capslock. I'm also somewhat of a madlad as I remap every game I play from wasd to esdf. This allows my pinky to use 'a' key for functions normally mapped to shift (like running in games), have two 'shoulder' keys (instead of q/e its qw/rt) and I can leverage the finder-key bumps for quicker hand placement. It costs a single 5 minutes per game but provides and overall more ergonomic (and consistent with touch typing) experience, in my opinion. There are also a few other benefits, but I won't go into them. Figured if I had the patience to learn/write emacs chords, I could do this much, and it paid off quickly.

</comment></comment><comment><USER3> I was convinced to try and decided that I like using Caps Lock as a left-hand Backspace myself. Nice to have one on each side, and that one is a much more convenient reach for your pinky.

<comment><AUTHOR> That's a great idea! You've inspired me to try setting it to Delete, because it's a bit awkward to delete characters _after_ the caret on Mac right now (FN + Delete is the only way I know how)

<comment><USER6> Ctrl-d deletes caracters forward on macOS. Super easy when caps lock is ctrl.

</comment></comment></comment><comment> cbm-vic-20 Yeah, it's taking up space where the Control key should be.

<comment><USER14> I've permanently remapped my CTRL key to my Caps-Lock key. Not only does it prevent GNU Emacs from giving me carpal tunnel syndrome, but I find that the numerous keyboard shortcuts that use the CTRL key quickly become second nature when the CTRL key is easier in reach.

</comment></comment><comment><USER15> Caps Lock died a long time ago for me. I think manufacturers/OS vendors should clearly label and market it as the "free-for-all" key. Default it to NOP to avoid ACCIDENTAL OR INTENTIONAL CAPS LOCK. Map it to whatever you want, even Caps Lock if you like. Mine, it's been mapped to Ctrl for ages, just as the Most Holy IBM Model F keyboard has dictated from the ancient times.</comment>


Git Log in HTML: A Harder Problem and a Safe Solution - <AUTHOR> http://www.oilshell.org/blog/2017/09/29.html <comment><USER2> The author goes to lengths to explain how bash sucks at embedded null bytes in variable values (strings). But Bash is fine with nulls in pipes:

        $ printf 'foo\x00bar\x00baz' | xargs -0 -n1 | wc -l
        3

The real bash solution is you'd write a command to escape HTML entities, and set up the pipeline so that bash never has to assign any values that might have nulls. If I wanted a shell that was better at programming & manipulating test data, I'd use perl.

<comment><AUTHOR> (author here) Yes, bash can write NUL to stdout. But the point is that it can't store NUL in a string. You can't just replace \x01 from the last solution with \x00, e.g.

Try:

       git log --pretty=format:$'%h\x00%s%\x00'

The string is truncated at the first NUL. Compare with:

       git log --pretty=format:'%h%x00%s%x00'

This matters because not all tools support something like %x00 -- it's specific to git.

printf works because it's not storing NUL in a string, rather an escaped version, similar to echo -e '\x00' | od -c.

Also I don't see the difference between "real bash solution" and what I described. That's exactly what I do, but you can't escape the entire string because it would remove your markup.

I'd like to see a solution that is shorter but also correct against adversarial input like mine is.

<comment><AUTHOR> EDIT: I should say that the first command wouldn't work anyway because argv is NUL-terminated -- I mentioned this in "Note 2" with respect to grep.

But still I'm failing to see what your point is about the "real bash solution". That's what this is, at least if you want to be 100% correct about escaping.

I criticized the "normal bash solution" in the section on "The Worst Parts of Shell".

<comment><USER2> > _But still I 'm failing to see what your point is about the "real bash > solution"_

It's accepting that bash sucks at strings, and trying to keep it as far away as possible from the data in the pipeline. You keep pointing to the nulls and say, bash is bad at this and oil is good; but it's a strawman since bash doesn't have to even see the nulls for a bash script to be 100% correct at escaping the git log messages.

<comment><AUTHOR> As noted in the article, I'm suggesting that the shell itself should able to handle searching a stream for NULs, without this roundabout way of doing things:

        count-nul() {
          # -o puts every match on its own line.  (grep -o -c doesn't work.)
          od -A n -t x1 | grep -o '00' | wc -l
        }

You can do this in Python or Perl, but it's not a stretch for the shell to do it directly.

<comment><USER2> And I'm saying, this isn't a feature I feel the lack of in bash. If I'm working with non-text data, I'll move to a language with better handling of complex data structures like perl & explicitly handle concurrency myself.

To be clear: oil has to be a compelling alternative to perl, not bash.

</comment></comment></comment></comment></comment></comment><comment><USER3> On the original post he says switching to a "real" PL is probably "right" but onerous. I won't nitpick on whether or not it's onerous, but maybe it's not as onerous as the author thinks.

A few years ago I blogged about generating a Markdown changelog based on PRs [http://mattdeboard.net/2014/01/14/automatic-changelog- genera...](http://mattdeboard.net/2014/01/14/automatic-changelog-generation- with-git/)

Though the output is different (just concerned with merge commits), I reckon you could probably do something similar for HTML with a `git log` command modified from what's in my post. No git API library needed.

That said, the author wanted to explore doing this just with shell and deal with the problems and stuff that come up there, so, cool! I'm not passing judgment on that or comparing what I wrote to what he did, just throwing it out there.

<comment><USER4> I agree—I love pushing shell to its limits as much as anyone, but I had so many shell scripts that grew and grew till the point I got annoyed and rewrote them in perl/ruby and every time I thought it came out better (shorter, more comprehensible). Finding that point where it's better to be a "real" language is a bit of an art form though. For me it's heuristics like needing arrays or hashes or parsing command line arguments.

<comment><AUTHOR> Yup, that is exactly the point of Oil. In fact I promised I would write an "elevator pitch" but I haven't done that yet [1].

In short: It's the "upgrade path" from bash. That is, the ONLY language you can automatically convert shell to.

Rewriting even a 30 line bash script in Perl/Ruby/Python isn't trivial, and of course there are many 1000+ lines bash scripts laying around. People even write new ones today (e.g. for setting up clusters and Linux distros.)

I'm current looking at running the 2500 line 'abuild' shell script which builds and deploys Alpine Linux packages [2]. Although many people like to avoid shell, if you use Unix, it's at the foundation of everything you do.

The bash clone OSH is actually close to done (although it's slow). But I still have to work on the new Oil language [3] which you can convert shell to. Hopefully that won't take as long as OSH :)

[1] [http://www.oilshell.org/blog/2017/07/31.html](http://www.oilshell.org/blog/2017/07/31.html)

[2] [https://git.alpinelinux.org/cgit/abuild/tree/abuild.in](https://git.alpinelinux.org/cgit/abuild/tree/abuild.in)

[3] [http://www.oilshell.org/blog/2017/02/05.html](http://www.oilshell.org/blog/2017/02/05.html)

</comment></comment></comment><comment><USER2> Previous article's thread [https://news.ycombinator.com/item?id=15291809](https://news.ycombinator.com/item?id=15291809)

</comment><comment><USER5> If you are not in an adversarial model, you could achieve that using my tool fugitive [1] with the right templates :).

[1] [https://clandest.in/fugitive/about/](https://clandest.in/fugitive/about/)</comment>


The Advantage of Being a Little Underemployed - <AUTHOR> http://www.collaborativefund.com/blog/the-advantage-of-being-a-little-bit-underemployed/ <comment><USER2> I recently changed jobs, and while negotiating salary with the new company, realized that they weren't going to be able to match my salary expectations.

The work was interesting though and very well suited to my skillset so I asked to work a 30 hour week instead so I could do a little freelancing on the side and make up the difference.

6 months later I haven't started freelancing at all, and I simply enjoy the extra time I have to pursue other interests. The unexpected part though is that I am undeniably more productive than I've ever been while working less actual hours.

I definitely use some of the free time for thinking, but I think I also end up being vastly more efficient when I'm in work mode as well.

<comment><USER3> I've seen colleagues try < 100% work and what would end up happening is that they would work the usual hours, but just get part-pay. There are really no solid checks and balances other than a manager's goodwill when you start working part-time. The only way you can actually curtail hours is if the manager says "ok, s/he is working part-time, so I'll give them fewer responsibilities." Quite often, project deadlines and not-so-nice managers ensure that you end up working full or more hours even if you are officially part-time.

<comment><USER4> There is the whole "I stop working when I hit my hours, because they are explicitly set at 30 hours" deal... that's been working for me.

Like, I'm on 10-4MF, and they give me a check every two weeks. They have some good will from me so if I have to put out a fire at 9pm and I can, I do it.

But I'm not a "full time" employee. If the responsibilities don't get met in the time allotted, they aren't going to get met. It's not like I get to work less if I figure out how to get my work done in less time... I don't see why I'd work more just cause they give me assignments that take more than 30 hours a week.

</comment></comment></comment><comment><USER5> >Tell them that your trick is taking a 90-minute walk in the middle of the day, and they says no, you need to work.

I'm definitely 'underemployed', but the nice thing is that the work I do is so far beyond what anyone else I work with understands that I report to the director of the company himself. As long as I get my work done, nobody really cares what I do.

I work until I feel like I'm not making progress anymore, and then I go for a walk. Generally the walk is about an hour long, but I've found that a 90 minute walk is pretty much perfect for resetting my mind and getting over any hurdles I've been stuck on.

The only reason I don't take a 90 minute walk every day is because my desk is near the staff who just punch numbers in to a computer all day, and they start to gossip if I'm not at my desk enough. I objectively finish more work and produce better work when I get up and move around when I get stuck on a problem.

The best way I've come to describe the effect of walking is to say it's a meditative act. I don't mean that in a spiritual way, I just mean it helps clear out the useless thoughts and gives you a way to center yourself.

One of the reasons I'm still working where I am is because I work in such a great area for walking. I worked in the suburbs for a while, and I'll never do it again. The car-centric design of suburban office complexes honestly feels like torture to me.

<comment><USER6> Having a dog is a great excuse to walk a few miles everyday.

Also, walking a few miles everyday is the best possible thing you can do for your dog.

No one looks at you askance when you say "I have to walk my dog"...

<comment><USER7> For me, having a brain is a great excuse to walk a few miles everyday. My brain is like a dog: if I don't walk it, it just won't let me sleep.

</comment></comment></comment><comment><USER8> After having worked in the US for a few years I've come to realize what this "work ethic" BS is all about: it's a fetish. It's unquestioned emotional baggage left over from the pioneering days. You can work 80 hour weeks if you are on to something, but most of what i've seen is just monkeys at keyboards. Total waste of time and energy.

<comment><USER9> The "work ethic BS" built the economy which is the reason you came to the US for a job.

<comment><USER10> So did coal mines, baseball, and slavery. That doesn't mean they're inherently relevant or worthwhile constructs.

</comment></comment></comment><comment><USER11> The only way around this is working for yourself. Then you don't have to explain to anyone.

I experienced the power of this when I was working for myself.

On some days I worked for 16 hours, other days only 3. Some of the best ideas I had was while lying down on the bed and staring point blank at the ceiling.

I'm no stranger to "getting in the zone" but this was some next level stuff.

I wish I could sustain myself that way. One day.

<comment><USER12> Of course working for yourself also means instead of selling yourself for 6 hours once every few years, you've now taken on a full time gig selling yourself. Owning a business is 80% about sales, the other 20% is the thing you sell. If you're consulting you can take some time off selling for a few months depending on how long the contract is, but I've found that I need to constantly be on the look out to plant a seed.

<comment><USER11> Consulting can sometimes be arguably worse than the job in that aspect. At least with a salaried job some ups and downs is expected, with consulting if you are charging by the hour people demand value by the hour. I was thinking more in terms of running a SaaS or similar.

What I love about that is that you have long-term goals but it doesn't matter how you get there in the short term. So you can work like a horse for 4 days and rest for the remainder of the week. Or maybe another week you work a little bit 7 days a week.

<comment><USER13> _" with consulting if you are charging by the hour people demand value by the hour"_

You don't have to charge by the hour. You could charge by the day, week, month, or project.

<comment><USER11> True but the general point stands correct.

With a consulting engagement there's usually a higher expectation of consistent proportional value delivered. It's more transactional (we pay $X we get Y).

As a salaried employee at least in many companies there's some element of the employee being a long-term asset to the company so the pressure is not as high or as consistent.

</comment></comment></comment></comment></comment><comment><USER14> I'm not sure what being "underemployed" has to do with the actual blog post? The post talks about railroad workers and how the 40hr. work week got started, but I should point out that it's only in the US, really--other nations have other conventions. The Japanese seem to be trying to work themselves to death, for one (sad) example.

The only concern I would have about being underemployed is that we only get a certain fixed number of years to save for retirement and if you're chronically under-saving during your years of maximum earning potential, the back end of your life may be pretty ugly. Then again, I am a pragmatist and I figure "life" can be as long or short as you desire it to be, right?

</comment><comment><USER15> If I am taking a shower, and the solution to a work problem comes to me, am I at work or not? In thought-oriented jobs (especially software engineering), the lights are never really out. I regularly wake up in the middle of the night with an idea.

I don't take my desk-hours too seriously because I know that while I'm out running errands, exercising, taking a shower, sleeping, etc. I continue to chew on problems, and sometimes taking the slow path to a solution produces a much more mature one.

<comment><USER16> I am totally in agreement here. Many of my best ideas came about as I was in between sets of 225lbs on the incline bench press. I don't actually give up on problems just because I'm not at work. I am trying to get new ways of looking at a problem by doing something else and giving my mind time to come up with a solution that I am happy with.

<comment><USER17> Wow, I can't imagine engaging in deep thought during a work set. I'm pretty much an unthinking fury machine at that point.

</comment></comment></comment><comment><USER18> In addition to not having the time to think, we also usually suck at thinking.

Our society fails badly at teaching people how to use their brain properly and how to prevent it from going on a bender.

The best advice I've heard on this subject so far is to think when there is a specific problem to be solved. Use your brain like a tool, then stop using it after you're done - meditate.

Very hard, since thinking (and overthinking) is addictive.

</comment><comment><USER19> Is this article being intentionally ironic? I agree with the idea that not questioning the 40 hour work week is crazy. However, it seems like the author is substituting 40 hours of butt-in-chair work for 35 hours of the same and 5 hours of more relaxed pontificating work.

I feel like 30 hours is plenty and 20 hours is sufficient for many jobs. That would be a more direct challenging of the 40 hour belief.

</comment><comment><USER20> Unfortunately many management schools of thought still take the 8 hour as gospel. I worked at a company where my manager's words were "I expect 8 solid hours from developers". Well I gave him 8 solid hours of my physical body, but I allowed my mind to wander whenever if felt like. In a way I was not officially underemployed but I didn't give them "solid 8 hours" \- I made sure time expanded to fill up estimates.

<comment><USER21> Wow letting your mind wander, rebel without a cause here.

<comment><USER22> I'm currently working on a device that tracks employee's brain waves to make sure they are working. Any period of daydreaming is deducted from their daily timesheet. I already have 600 million USD in preorders.

</comment></comment></comment><comment><USER23> "a lot of workers have thought jobs without much time to think."

I think this is why big companies have trouble innovating. They get filled up with hard workers who spend little time time thinking because they're too busy working.

<comment> norea-armozel Or we create bullshit jobs for folks like David Graeber talks about in his essays. It seems to me that half of the private sector is busy work kind of work in the fashion that public institutions have. I'll never understand the fascination that certain managers have with adding useless jobs to the roster.

<comment><USER24> right? the only thing I can think of is that "you're asking me to do too much with too little" is a very easy thing for an underperforming manager to say. which means that when that head gets assigned, there isn't anything to do but give them busywork.

</comment></comment></comment><comment><USER25> I could do my 8 hour job in 4 hours, but I have to work 40 hours a week, because that's the minimum expected from me. This wasted time is the main reason why I'm working on starting my own company this year.

<comment><USER13> If I ever finished 8 hours of work in 4 hours, my manager would just give me more work.

<comment><USER26> thats why employment is messed up. if youre too productive, you just get more work.

if the company manages to fuck up and generates too much work, you just get to do overtime.

no incentive to be efficient.

</comment></comment></comment><comment><USER27> I'm currently trying to find a part-time job as a product owner. It slashes the pool of advertised jobs down to about 1/10th (unless you try to apply to full-time jobs anyways and hope they consider your part-time offer).

</comment><comment><USER28> > This was during World War I, when transporting military equipment by rail > was vital to national security. President Woodrow Wilson, desperate to get > the trains moving, asked congress to write an eight-hour railroad work day > into law

This reminded of how the USA PATRIOT Act came into existence.

</comment><comment><USER29> Could use some help here. I have years of experience as an individual contributor, manager, technical lead and founder at a medium-sized not- unicorn-but-not-too-bad-either VC-backed startup.

Say I were to exit one day, is there anything I can do for say, 20 hours a week, that would still pay the bills? I wouldn't expect to make as much as I do working 60 hours, but I wouldn't ever want to do that again tbh.

I can see myself being extremely valuable as an advisor or a part-time C-level person, but I don't know how frequent or how well paid those positions are. Also it's completely not obvious if anybody would be willing to pay for an entrepreneur's time if that person is not.. entrepreneuring, the people who need our advice the most can't actually afford it. Any advice?

<comment><USER30> I suppose in part it depends what "pay the bills" means.

From my observation, some experienced people do stitch together a combination of advisory roles, maybe some teaching on the side, speaking, etc. that adds up to meaningful money without working _too_ hard.

To give you some ballpark figures, an industry analyst will charge something like $10K for speaking at an event or a day-long advisory session. Of course, they have a lot of non-billable hours in order to get those types of rates. (Same applies to expert witnesses.)

For me, one of the issues would be that 20 hours per week isn't that big a win versus a more conventional workweek. The bigger win would be taking months off and that's more difficult because you get out of the loop and behind on tech.

<comment><USER29> Agreed, 20h a week is still a job, although at this point even 40h feels like a vacation sometimes :) You raise a good point, I wonder what someone in that position could do to work a couple of days a month here and there and still have a huge amount of flexibility.

<comment><USER30> I think that's hard. It probably requires either:

Some fame in an area that allows you to collect on big dollar speaking gigs in spite of limited ongoing involvement. Eminence grise sort of thing.

Widely recognized world-class expertise in some relatively slow-moving technology area. You're an expert in really gnarly ball bearing problems. $10K/day for a couple weeks is a bargain.

Obviously these don't apply to a lot of people :-)

</comment></comment></comment></comment><comment><USER31> Good article, but as others have pointed out, it is strange to say that what he is suggesting is "underemployment". It seems that he is actually suggesting structured downtime.

</comment><comment><USER32> These types of posts are preaching to the choir. Most managers don't get this. They'd rather have you sitting and doing nothing but being in their line of sight instead of being up and about and thinking.

Without concerted pressure this is not going to change any time soon. IBM just recently announced it wanted all employees to be on-site. It is a tactic to cut back their workforce but the fact that they can do this unchallenged means something about worker rights is broken.

</comment><comment><USER33> I have managed to do hour+ long midday walks pretty much all my working life. It's not something I pre-negotiate and the degree of said freedom varies from place to place. Nevertheless I rarely had any problems from this habit and the benefits for me hugely outweigh the occasional confrontation. I might be lucky but it seems these companies clearly care more about results than dogma.

<comment><USER13> How do you get lunch in, in addition to your mid-day walk? Do you get more than an hour for lunch?

<comment><USER34> Not the OP, but I have similar habits. My workplace expects me to be productive, and taking 40-90 minutes off in the afternoon once in a while to walk and think helps me be more productive than I otherwise would be, as well as less stressed. My workplace may be an outlier here (they also provide nap pods and game rooms, so obviously condone taking breaks) but I've never had anybody confront me about it -- not sure that my coworkers notice, and if they have I doubt they care.

</comment></comment></comment><comment><USER35> I work 4 days (32 hours) a week, and have done so for years. I don't think my brother has ever worked 5 days a week. In Netherland, many people with kids work one day less, to be with their kids. On most projects I've worked, most team members worked 4 days. I've only once had to reject a job because they insisted on a 5 day work week.

Working less than 5 days is entirely uncontroversial here. In fact, I believe Netherland is world champion part-time work. And personally, I think it makes total sense. If you've got a good job, the extra time is often worth more than the extra money. We need time to enjoy life. Life is more than work.

</comment><comment><USER36> vague corollary: i wish people would really value inaction. so so often the winning move is not to play. just like you learn to love deleting code, you learn to love not even writing it to begin with. i dont think we are naturally wired to understand this, but its become one of my greatest joys. the old platitude that jazz is "the notes you dont play" applies here i think. i think we could all stand to relish saying "no" and avoiding problems all together more.

</comment><comment> norea-armozel Well, I don't mind an 8 hour shift myself since often I just use some or most of the time doing research on the particular technology I'm going to use in the software I maintain or enhance. Or even just looking over code to see if it needs cleaning up or improved documentation. But I think the idea that shifts make sense for certain businesses is odd to me. It seems more out of tradition than productivity.

</comment><comment><USER37> It seems people that work fewer hours often work on side projects in their spare time. Does that mean such a developer is working too much or employers are leaving money on the table by letting employees leave early?

<comment><USER38> I don't think so. I can only speak for myself and some of what I've observed in my colleagues, of course.

From what I've seen, you can only work on one thing so much before you grow to resent it. You need to take time off from it, even if that time is working on another software project. Companies like Google have tried to emulate this effect with their "20% time" initiative, but from what I've heard it doesn't really work, since people still consider it to be part of their main body of work.

Some of my best revelations for solving problems at work have come from entirely unrelated projects. As someone who does game development as a hobby on the side, I've actually discovered solutions to major enterprise software problems while working on a random indie game. It's important to let yourself do this.

</comment></comment><comment><USER39> I tend to think that substituting time thinking on walks is the greatest time spent during a workday. I can think much more clearly taking frequent 20-minute walks throughout the day.

</comment><comment><USER37> How many serious jobs allow only 40 hours a week? I haven't seen many.

<comment><USER27> Here in euuerope at least it's quite strictly 40h/week. If you do more hours you can often "redeem" them later or at least get payed for them.</comment></comment>


Rust on RTL8710 running FreeRTOS - <AUTHOR> https://polyfractal.com/post/rustl8710/ <comment><USER2> It's going to be really great as Rust spreads further and further into the embedded world. I know enough C to get by, but I'm always second guessing myself when things start to get complicated, and Rust has really made lowish- level programming a lot easier for me. The safety features in addition to exposing a C ABI make it a great language for build once, run everywhere (everywhere that LLVM supports, anyway). Exciting times.

<comment><USER3> Unfortunately, there's little chance for Rust to make inroads into the embedded market, tho I wish it were otherwise.

C++ has had many benefits over C for embedded s/w for many years and has similarly failed. Note that contrary to popular belief, C++ does not result in larger, more inefficient s/w than C (for the correct C++ subset).

The momentum behind the C ecosystem is so overwhelming that Rust simply will not get a foothold anytime soon.

<comment><USER4> My company uses a C++ subset (no STL, no malloc) on all of our embedded projects, which are mostly on ARM Cortex-M4.

I'd love to learn and start using Rust in our work, but we are client-project- driven, so it will be hard to justify the investment and productivity drop. I think it would make it easier to attract top talent, though things are weird in the embedded world.

<comment><USER5> I'm a C++ enthusiast interested in embedded programming but I have very little experience. What is the rationale for your company's avoidance of the STL, is it primarily binary size?

<comment><USER6> Likely because it allocates and uses exceptions pervasively.

</comment></comment></comment></comment></comment><comment><USER7> Tl;dr: this works because the RTL8710 is an ARM core, which is supported by LLVM and thus Rust anyway. Its a nice how-to for working with the chip though.

<comment><USER8> Just because something uses ARM doesn't mean it'll be easy to target, there's a hell of a lot more to getting something running on an embedded system than just what basic architecture it supports.

</comment></comment><comment><USER9> Soldering tip: tack a pin down on opposing corners of the chip before attacking the rest.

<comment><USER10> Ah, yeah, I can see how that would have helped tremendously. Thanks for the tip! :)

I cringed when I saw this at the top of HN because I knew the shame that is my soldering skill would be seen by a few hundred people :)

<comment><USER11> If you have analytics on your blog you'll probably find a bit more than a few hundred. Front page #1 stories often accumulate thousands of views an hour.

</comment></comment></comment><comment><USER12> Delighted to see this tidy summary! I've been wading through four or five documentation sources over the past few days getting everything hooked up. I'm working on a project that uses SPI and would love to use Rust... I may pick your brains further.

Strongly recommend you post a link to this at the PADI Stamp forums, I'm sure others will appreciate it. [http://forum.pine64.org/forumdisplay.php?fid=57](http://forum.pine64.org/forumdisplay.php?fid=57)

<comment><USER10> Will do, thanks for the link! Didn't realize the Pine64 folks had a forum setup.

Fair warning, my hardware skills are shoddy at best, but I may be able to help with the Rust side :)

</comment></comment><comment><USER13> This is cool, though not having the standard library would be painful. Hopefully, there is some middle ground than jettisoning the entire std crate.

<comment><USER14> That's what libcore is; you still get a lot of the useful bits.

Most of the rest of libstd requires a known OS abstraction to exist.

Most of the algorithmy stuff (e.g. regex) has been moved out of the stdlib so you can pull it in separately if the crate supports no_std.

Not perfect, and a lot more crates could support no_std, but it's sometimes good enough.

</comment></comment><comment><USER15> What is an example use for this chip on its own? Can it be made to run on low enough power to run on a battery?

<comment><USER10> Most people use these little things for sensor/data loggers (weather stations, power monitoring, indoor temperature, etc) or little widgets that need connectivity and can be tethered to a power outlet (small display showing the weather outside, etc)

The specs say it has 0.9 mA light sleep, and a 10 uA deep sleep. Assuming the specs are correct (I haven't test it yet... not sure anyone else has either) you could definitely run it off a battery if you aren't waking it up too often.

The real problem with the RTL8710 (and ESP8266, and any other chip that uses WiFi) is that WiFi is very energy intensive. It takes a lot of juice to blast out a 2.4Ghz signal.

I don't know what the numbers are for the RTL8710, but the ESP8266 uses 50-170mA when receiving/transmitting data, which will drain a battery very quickly. (Source: [http://bbs.espressif.com/viewtopic.php?t=133](http://bbs.espressif.com/viewtopic.php?t=133))

<comment><USER16> Pretty much all WiFi transceivers are indeed power-intensive, but it is actually receiving that often takes more juice.

ESP8266 consumes ~70mA with both CPU and WiFi running but idle, and 15mA with CPU idling and WiFi powered down [1]. That's 55mA or (@3.3v) ~180mW for _idle_ (i.e. receiving) WiFi circuitry. Again - that's WiFi only, with exactly zero RF power transmitted.

Now transmit. EU restricts amount of RF power radiated by a WiFi station/AP to 100mW. In US and few other places you can go slightly higher, but then other challenges arise, so for practical purpose most WiFi chipsets top out at 100 mW (a.k.a. 20dBm). Assuming RF power amplifier has efficiency of 32% [2], transmit duty cycle of 50% (that's transmitting half of the time and receiving for another half - pretty intense traffic here), we get:

(100/32%)*50% = just 156mW consumed towards "blasting out" some RF.

Clearly, receiving WiFi takes more. And there is a good reason for that. Most modern designs implement Rx as: Low-noise amplifier with some bandpass filtering -> Zero-IF mixer -> quadrature ADC -> DSP. It's the latter that does FFT, I/Q constellation tracking, demodulation, forward error correction, etc. essentially in software. And that takes a lot of power.

[1] [http://bbs.espressif.com/viewtopic.php?t=133](http://bbs.espressif.com/viewtopic.php?t=133)

[2] [http://ww1.microchip.com/downloads/en/DeviceDoc/75003C.pdf](http://ww1.microchip.com/downloads/en/DeviceDoc/75003C.pdf)

<comment><USER10> Ah, neat. Thanks for the analysis! I always assumed it was the transmit that ate the power, simply because you need `x` amount of energy to broadcast the signal out. But I can absolutely see how it's the circuitry associated with getting a signal back into digital that could be costly instead

TIL :)

</comment></comment></comment></comment><comment><USER17> Nice, didn't know about this chip.</comment>


Heinz ketchup QR code leads to porn site - <AUTHOR> http://www.bbc.com/news/technology-33200142 <comment><USER2> _> "Maybe in future they'll think of redirecting any customers via heinz.com, rather than directly to a custom site for a specific campaign."_

The mind just boggles that they _ever_ sent customers to a site they had no intention of controlling forever.

Just. Extraordinary.</comment>


Pando goes to, and is escorted out of, Y Combinator demo day - <AUTHOR> https://pando.com/2015/08/19/pando-goes-and-escorted-out-y-combinator-demo-day/a165d4eeb37178c1acdd45c80fa06f9c80af2093/

<comment><USER2> This title is clickbait. They were politely and apologetically asked to leave, since they snuck in and didn't have a press pass.

As to why they didn't get a press pass, who knows. But they've been extremely negative toward YC companies in the past. YC isn't running a White House press conference; they're running an event with the unabashed goal of helping their companies succeed. You wouldn't invite your bitter ex to your wedding.

As for why TC writes so much about YC companies: I know a bunch of YC companies that didn't get a TC write-up, and I know some that had negative writeups. Like it or not for Pando (or anyone else), it's mutually exclusive: the launch of a YC company is news, and launching on TC is a Silicon Valley rite of passage. TechCrunch wants YC startups, YC startups want TechCrunch.

(On a more personal note, being a founder is really fucking hard. It's the hardest thing I've ever done. YC is the only organization in the valley I've ever felt had my back 100%, and truly had my best interests in heart. VCs and press may complain about Demo Day, but who cares: YC makes decisions based on what's best for its companies, not the press or VCs. I can't thank YC enough for everything they did to protect, help and nurture us as an early-stage company.)

<comment><USER3> Reading your comment, I couldn't help but chuckle at the irony.

Here we have...a site with a paywall _COMPLAINING_ about access to information.

This "journalist" hoped to skate in and get something worth "$10 a month" to write about. After failing, he scrambled, spinning a conspiracy and making himself the story.

</comment></comment><comment><USER4> (serious question not trying to demean Pando): does Pando have enough readership to warrant being included in the press section of an event with competitive press entry? I've enjoyed a lot of the Pando articles I've read, but I don't see them around very much and I pay a lot of attention to the tech press. Plus, it's pay-walled for the most part right?

Even if they don't have the readership to support this it isn't a criticism of it as a journalistic endeavor or business, but I'm just wondering if this warrants such a complaint.

<comment><USER5> Strange that your comment was downvoted. A quick bit of research on sites like Alexa shows that Techcrunch has 10x as many visitors as Pando, so why should they expect equal treatment?

</comment></comment><comment><USER6> Im in no way to related to YC, Techcrunch or Pando. But, I think in their power and willingness, YC was very much justified in escorting Pando out of the event. Would you let someone into a private event or party when they come without an invitation and you dont want them there? They were very apologetic and nice in escorting them politely and journalist mentions that. Why were white men and women randomly thrown in the article as if to highlight them when there is neither a need nor it adds any information to the story ? This is plain clickbait. When it is my event, Im free to invite whoever I want.

</comment><comment><USER7> I hate that he makes it sound like he had some responsibility to be there as if by invitation. I'm sure everyone wants to report on this stuff, but reporting has never worked that way. Reporters are often excluded for any and every reason from conferences, for much the same reason that people don't invite everyone to a party.

</comment><comment><USER8> Really sickening how they throw in a jibe about the lack of women, just so they can sound self righteous and distract from the immorality[0] of them trespassing on YCombinator's event.

[0] Not that it's always immoral for journalists to trespass. Clearly they play a special role in society and _sometimes_ this might involve going to places they weren't invited. However to me this crosses the line because there is no public interest angle. Everything in the article could have been read about in (or extrapolated from) articles written by the invited journalists.

<comment><USER9> Whats the back story behind this?

Does pando have a reputation for being disruptive?

Is y combinator demo day invite only?

I ask because I don't know.

<comment><USER10> From the article:

      The closest I got to an on-the-record comment confirming that
      press access was based on favor, not fire code, was when a YC
      registration official rejected my request for a badge, for
      the final time: "It's an invite-only event for investors, and
      only a few select press are invited."

</comment></comment></comment><comment><USER11> Tech journalism at its lowest. 1. Whining over something meaningless to get page views. 2. Calling TechCrunch journalism...

</comment><comment><USER12> YC is not a public entity; they don't owe you a seat. Just because you don't get one doesn't mean they're in the wrong.

Besides, if this is the standard of investigative journalism ("waaah, I couldn't get in! let's cast aspersions!"), I think that any group would be in the right to reject the author on journalistic merit.

<comment><USER13> Yeah it seems that YC made the right choice by not letting them in. I can imagine YC being a little picky about what press they would allow into Demo Day because they only want positive news about their start-ups...and who can blame them? I don't have anything against Pando, but I've never heard of them until now, yet I've been familiar with TechCrunch for a long time. YC is comfortable with them and this is there event, therefore, they have the final say in who can attend...even if it only is TechCrunch.

<comment><USER14> The only bad press is no press. Especially so when no one knows who you are.

And now you know who Pando is, mission accomplished. They just want to join in riding the demo day media wave, but were denied access to actually write about the demos.

</comment></comment></comment><comment><USER15> I'm glad someone has finally went out of their way to point this out. Props to Pando Daily.

I too have noticed that TechCrunch will publish anything with YC's name on it - even from the outside, you can tell that the two parties have a really curious direct relationship. Despite this odd arrangement, TechCrunch writers still do not disclose it on their individual profiles (even though they may go as far as disclosing who they are dating and what loose connection that personal relationship might have to their excuse of "reporting"). By having a strong hold on TC, Ycombinator can distort the public opinion around it even if it has wronged someone.

Journalism should be free-thinking and not just morph into whatever opinion YC likes best and that suits them. I wonder how many journalists Ycombinator has strong armed into publishing stuff they like by denying them access to demo day or "exclusives" on their companies.

It also frustrates me because I have friends who aren't in YC but constantly grinding it out and working on their startups - how come they can't easily get on TC as well? How many real, actual stories have we missed out on just because a new YC company is entering the scene and feels compelled to occupy the very self-entitled YC showcase that is TechCrunch?

<comment><USER16> Why did you post this comment using the account that posted the story, then delete it and post it with another account, then delete that and make a new account to post it?

<comment><USER17> Maybe (s)he is trying to get kicked out of HN too?

</comment></comment></comment><comment><USER18> You'll do your snooping work to find this stuff out, because you can. Sadly, others can't do this to HN. Because HN software becomes increasingly opaque by the day. Users are forced to take you at your word, all the while comment score points are hidden, users are rankbanned without warning, users are slowbanned, etc.

<comment><USER16> Most of your statements about HN are false. Unfortunately, patiently answering you for many months hasn't seemed to help. As I explained at [https://news.ycombinator.com/item?id=10071375](https://news.ycombinator.com/item?id=10071375), I'm not going to keep doing this. There are many HN users asking questions in good faith. Given that we can't even answer all of those, much as I wish we could, it's clear where our efforts should be focused.

I'm going to detach this subthread (from [https://news.ycombinator.com/item?id=10090025](https://news.ycombinator.com/item?id=10090025)) now and mark it off topic.

</comment></comment><comment><USER19> Nothing proves their point better than admins killing this story on HN.

<comment><USER16> No admin touched this story.</comment></comment>


Why I'm Leaving San Francisco: Meta study - <AUTHOR> https://www.ryanckulp.com/leaving-san-francisco-meta-study/ <comment><USER2> I wouldn't trust keyword analysis or word frequency to figure out why people are leaving. And unless AI has gotten a lot smarter than I'm aware of, I'd say that the only way to get a meaningful result is to actually read each blog post and then write a short 5-10 word summary. Sure, it's subjective but you'd get a lot more nuance like, "His girlfriend lives in New York", "Misses skiing and now has money to do just that", "Closer to elderly parents who need care", "New startup in Texas that's perfect fit", "Can't renew U.S. visa", "Moving to attend grad school".

The author has pared the list down to 137 blog posts, so even a fast reader would take a day to read all of them. But probably he already spent at least a day collecting that data, doing the analysis, creating the graphics, etc., so it's not crazy to suggest doing it manually. Alternatively, the list could be further cut down to 20-40 postings, which could be read in a few hours. That would result in a way more interesting (human) analysis.

EDIT: For each blog post, it would be interesting to note the sentiment of whether the person is being _pushed_ out of San Francisco (can't afford the city, lost job, can't renew visa, etc.) or whether they are being _pulled_ to a new location (perfect new job, girlfriend/boyfriend in different location, etc.).

<comment><USER3> > I wouldn't trust keyword analysis or word frequency to figure out why people > are leaving

Even if I trusted automated analysis of blog posts to tell why the authors of the posts are leaving, I wouldn't trust a non-systematic collection of 100 blog posts to reflect people who write blog posts about leaving, nor would I trust people who write blog posts about leaving to represent people who leave.

</comment></comment><comment><USER4> I also find it curious that safety and sanitation aren't referenced. I by no means have all the answers; however, I am sure my main reason for leaving San Francisco will be along the lines of these things. I've had traumatic experiences living in this city and I am 6 ft male that lifts weights often (I'm just trying to imply that some people most likely get harassed even more than I). I wish I had more of a capacity to help this city rather than leave.

<comment><USER5> The surprising thing to me is seeing how bad many other cities have gotten with tent cities and homelessness. I remember (circa 2007) when there were no tents on SF streets, even under the freeway. But then I see how bad other cities have gotten: Portland, LA, Tucson, Vancouver... this is not an isolated issue and each city is managing homelessness/affordability in different ways. Although SF and CA in general have drawn themselves into a corner through decades of bad policy.

</comment></comment><comment><USER6> We left in 2015 because: 1) The extremely high cost of living which makes everyone poor. only 25% of the housing there is market rate and thus available. Our salaries were pretty high working in tech, but not high enough to afford a nice place to live in SF.

2) Homelessness

3) The politics.

4) Poop (although much worse now). It's not so much the poop itself that bothers me. It's the attitude of the politicians in SF. we just really disliked the way things were being handled and are currently being handled in SF. They are "progressive" in title only. there's really no progress in living standard at all. if anything, things are getting worse and worse and worse, based on the things I've read and the stories I'm hearing.

5) we didn't want to live in a city that might not even be able to provide schooling for our child.

6) Day care costs would have been astronomical (by now it's up to 3000 per month, i've heard)

<comment><USER7> > They are "progressive" in title only. there's really no progress in living > standard at all.

"Progressive" usually refers to progress in equality & social justice. There've been many instances in American history where a small group has made significant progress at the expense of some larger outside group: initial settlement, slavery, Manifest Destiny, industrialization, redlining, the software boom. These are usually not labeled as progressive. The in-group usually labels them with terms like "destiny", "building the future", "progress" ( _not_ "progressive"), "technology", and "rationalization", while the out-group labels them as "colonialism", "imperialism", "conquest", and "corporate greed".

The other major eras of progressivism in the U.S. (1900-1929 and the Civil Rights era from 1965-1980) also did not feature rising living standards for the dominant social group. The former involved a plateau in the rate of technological development & industrialization while increasing unionization started sharing those fruits more broadly, while the latter involved an extension of basic civil rights to non-whites, at the same time that stagflation was taking root and the wages of the white working class started to plateau.

Keep that in mind: when you hear "progressive" it might not be progress _for you_.

<comment><USER8> > Keep that in mind: when you hear "progressive" it might not be progress for > you.

You're missing the point. While it's debatable whether the theory of progressivism is working out for the homelessness, I hope we can agree that the execution has been horrible. Progressives have controlled the local government there for some time now, and since they've done so, things have grown worse. The situation hasn't been much better in Seattle, Chicago, or Detroit. Progressives like to point fingers to blame others for the problems, but there's a very real possibility that, yes, they really are in actuality _regressive_ for everyone, homeless included.

</comment></comment></comment><comment><USER9> My main reasons:

* number of homeless people (they are everywhere)

* safety in general

* poor public transport

* cost of renting and buying

* density (it is quite an empty city and is designed for cars)

* a bit too cold

<comment><USER10> Where do you go to though? I'm trying to leave Pittsburgh because it's so car- centric and the weather is awful. I'm not sure there's a city in the U.S. where you can bike commute every day of the year and be comfortable. San Francisco seems like the best available.

<comment><USER11> Some people bike commute every day in Minneapolis. Comfort is a matter of proper clothing.

</comment></comment></comment><comment><USER12> The homeless and trash situation in the bay area has exploded in the last 2 years. Big sections of 880 are strewn with trash like a dump site and there are tent cities populating the underpasses in Berkeley, West/East Oakland. The cities governments seem paralyzed between bickering homeless advocacy groups, CalTrans and tax payers furious at the decline of so many public areas.

Time is running out for some of the regions politicians. With hundreds of millions spent, it feels like there is almost zero impact.

<comment><USER13> Try hundreds of BILLIONS spent.

[https://www.kpbs.org/news/2019/jun/13/californias-213-billio...](https://www.kpbs.org/news/2019/jun/13/californias-213-billion- budget-focuses-health-home/)

<comment><USER12> I'm probably looking in the wrong place but this was the only statement I could find on California's annual homeless budget in the linked article... "California's homeless and housing crises are linked, and the budget will spend $2.4 billion addressing those concerns."

This is roughly 1% of the annual operating budget.

Not much as $60k/person would cover just 40,000 people. Homeless advocacy/Non- profits would take a large percentage of this for administration so the per person dollar spend is far lower.

</comment></comment></comment><comment><USER14> > i was surprised at how seldom "junior" was written, e.g. "jr developer." > either employees stick around awhile before calling it quits on San > Francisco, or they lie about their job title.

Because "Junior Software Engineer" is usually written as just "Software Engineer", "Software Engineer I", ...?

<comment><AUTHOR> i wrote this with "just graduated from X bootcamp and will be starting a new job as a jr developer" type commentary in mind.

totally valid criticism tho

<comment><USER15> I would love to read a meta article on posts like: `so blessed with ${numOffers}, it was so hard to narrow down, i can't wait to start working at ${company}`

<comment><AUTHOR> good idea. has anyone ever moved to SF without either 0 prospects OR 13 offers from Google et al?

</comment></comment></comment></comment><comment><USER16> Better to just look at 1-way Uhaul truck rental trends --

[https://www.uhaul.com/Articles/About/19966/U-Haul- Migration-...](https://www.uhaul.com/Articles/About/19966/U-Haul-Migration- Trends-Top-25-Growth-Cities-Of-2019/)

</comment><comment><USER17> What happened to capital letters?

<comment><USER18> have you seen how much a capital letter costs in the bay area these days??

<comment><USER19> But I thought they had tons of capital flowing in!

<comment><USER20> But you have to buy them in 3-packs, e.g. TLA.

QED

</comment></comment></comment></comment><comment><USER21> It would be interesting to see the inverse, "Why I am moving to SF" analysis.

<comment><AUTHOR> after hitting publish i acknowledged another opp: "goodbye {{ other city }}" posts. meta meta.

perhaps as many people leave nyc, for example, but only the SF posts get shared

</comment></comment><comment><USER22> > sadly i failed to write my own retrospective when i left in 2016 after a > year of working in venture capital, then a portfolio startup, and then > founding my own company.

Not to put too fine a point on it, but 1 year to do any one of these things, let alone all three, doesn't really seem like much time at all.

</comment><comment><USER23> One factor that wasn't mentioned here (probably because people don't really mention it publicly) that I've anecdotally heard of from a number of people in tech who've made the SF->NYC move is the better gender and career diversity there. For men this can equate to a better dating lifestyle, and just in general some want to be surrounded by people besides tech bros.

Regarding politics, I wonder if another way to interpret this is people who find San Francisco too liberal (or unsupportive of Trump) and want to move somewhere more representative of how a majority of the country (however you define that) thinks.

<comment><USER24> > I've anecdotally heard of from a number of people in tech who've made the > SF->NYC move is the better gender and career diversity there. For men this > can equate to a better dating lifestyle, and just in general some want to be > surrounded by people besides tech bros.

This is absolutely valid and it's sad to see this greyed out. SF dating is a shitshow from many perspectives.

<comment><USER25> _SF dating is a shitshow from many perspectives._

Dating in SF is… interesting, especially if you're trying to do so within the confines of the tech community. Take a look at r/SFr4r (yikes). The tech community out here is also pretty damn small. Looking on HN, facebook, or reddit I'll still run into posts from folks I've gone out with or know professionally.

From attending devops days in Manhattan a couple years ago I'd say that the NYC tech community certainly seems more diverse than what I'm used to out here.

</comment></comment></comment><comment><USER26> I'm a little disappointed that you're still convinced it's a "safety" thing.

People say the same thing about Seattle, and virtually without exception they're people who have simply never lived in a major city before, and wildly misunderstand what counts as "crime."

Like the guy upthread who wanted to move because he'd experienced _two_ car prowls.

<comment><USER27> Normalizing crime is a safety issue in itself, including property crime (the difference between a violent and a non-violent crime is often just if you happened to be around or not...)

Also I take exception at the "never lived in a major city before". I've lived in "major cities" for most of my life, and it wouldn't take too many car prowls to make me leave. It just never happened.

Ironically I've only been to Seattle once over a few days and on my second day got attacked by an homeless person with mental health issues. Fortunately for me, they also had the physical strength of your average toddler so I left the situation without a scratch and wondering wtf just happened.

<comment><USER26> Cities have property crime. The only way around it is to sequester yourself in a gated community or similar.

I have a fun anecdote too -- the last time I was out in a rural area I got knocked over in a Walmart by two rednecks who were fighting. I've elected not to judge the entire area based on that one experience.

<comment><USER27> They do have property crimes. They do in varying amount based on how accepted it is and how much the city and it's citizens fight it. You realistically can't bring it down to zero, but there is a big gap between, let say, Seattle vs Montreal to pick 2 extremes.

Even NYC isn't that bad depending on where you live, but it can swing straight back if people just sit back and accept it.

</comment></comment></comment></comment><comment><USER28> > thus i'm curious how conservatives or Trump have anything to do with one's > departure.

Oh, that one's simple enough if you assume they're part of the reason why you'd leave the country. And while we're on that topic, the same two reasons might also get factored into deciding to _not_ come to SF or any other US city -- alongside guns, overpriced education, and overpriced healthcare.

</comment><comment><USER29> When I ran the numbers about a decade ago, the BA was _significantly_ more expensive than NY, at least if you need a house and a good school for your kids. SF proper is inconceivable, of course.

</comment><comment><USER30> I'm quite disappointed that tech-bro.com redirects to some sort of Chinese linkspam site. Or perhaps that's apt.

<comment><AUTHOR> debated making this a real link but not trying to single anyone out

</comment></comment><comment><USER31> > thus i'm curious how conservatives or Trump have anything to do with one's > departure.

Perhaps, because one can leave the country when you leave SF? I did.

</comment><comment><USER19> For anyone else who finds the lack of capitalization distracting, run the following in your JS console to fix most of the sentences and "I"s

      document.querySelectorAll(`p`).forEach(el => {
        el.textContent = el.textContent.replace(/[\s]i[\s]/g, ' I ');
        el.textContent = el.textContent.split(/\.[\s]+/g)
          .filter(sent => !!sent)
          .map(sent => sent[0].toUpperCase() + sent.substr(1))
          .join('. ');
      })

Edit: Tweaked to filter out empty strings because it died about 80% of the way down the page

<comment><AUTHOR> amazing. maybe i'll turn this into a toggle on all my posts

<comment><USER32> Please do. The lack of capitalization made me close the tab after about two sentences; this just doesn't make it past my "worth reading" filter. Sure, maybe it's good, but I have heuristics like this for a reason, and I'm quite happy to ignore work that simply can't be bother with basic English language norms.

<comment><USER33> To be honest, the author's capitalization didn't bother me, and I didn't notice it until halfway through. Even his comments here are readable to me.

However, your heuristic worked because the content of the article was crap. Or to be more charitable: over-promised with a good idea and under-delivered with incompetent data-analysis, mangled conclusions, and ax-grinding (reiterating an opinion that he admits isn't supported by his data).

Sadly, it gives us another data point: a person who doesn't follow "fake rules" and totally uses "totes" in comments didn't write a good article. not a good look

</comment></comment></comment></comment><comment><USER34> This is an interesting analysis. It's kind of social science research. I wish the author had some training in the area.

A simple way to improve the trustworthy of the analysis is having another person working with you to develop the categories, and then independently code the posts, and then resolve the differences through discussion.

</comment><comment><USER35> This ought to have been a "Show HN:" post.</comment>