Show HN: Markupwand, magically convert your photoshop files to HTML & CSS - <AUTHOR> http://www.markupwand.com/ <comment><USER2> As the developer of www.psd2html.co.uk I can honestly say I am very happy that someone else out there is doing something similar to me...you might ask why?

When I launched Psd2Html in late 2010, I was unable to get on the front page of HackerNews, or any other website for that matter, I was down-voted to oblivion. I had insulting, slanderous comments posted on the Mac App Store which were untrue.

I was ridiculed by "hand coding only" services like www.psd2html.com, the employee lots of people and don't want to make people redundant, but the problem with this approach is that they will never move forward.

I was certain, and I'm still certain hand-coding will go the way of the Dodo.

So Markupwand, thanks for re-validating the idea, and I'm glad I'm not the only one who thought the idea was worthwhile.

I can see that I need to enhance my service/business model/add relative CSS positioning as an option.

I hope we'll be good competition for each other.

Thanks

Chris

<comment><USER3> Hand-coding isn't going to go the way of the dodo, because in practice, web pages are vastly more complex than Photoshop or Word documents.

They need to respond dynamically to window resizing, have rules about which directions text boxes expand in when they overflow with text, how the page operates when a whole section is missing, etc.

Any tool that appropriately allows for all this complexity to be specified, has already become as complex as CSS itself, thus defeating the purpose.

And in my personal front-end experience, 95% of my time is spent on these harder details. Throwing together the basic HTML/CSS skeleton of a page is trivial, and so fast I don't really need a tool to speed it up, especially when that tool is always bound to get _something_ wrong.

<comment><USER4> You sir, are spot on. You put it perfectly here:

> Any tool that appropriately allows for all this complexity to be specified, > has already become as complex as CSS itself, thus defeating the purpose.

This was my immediate issue with CSS Hat. The designers are not trained to set up their photoshop files to be properly evaluated in CSS. They do not know CSS, or how it works. They get their pixels "perfect" (or way off most of the time when doing real math with css), but the fact is to use tools like this they have to get on board 100%. For some designers, this is easier than others.

Don't get me wrong, I'm still interested in trying out the tool. Maybe it is magic...

</comment></comment></comment><comment><USER3> How on earth does this not use absolute positioning, but actually figuring out the full width of text boxes, whether they are expandable vertically or not, etc.?

I'd love some insight into the technique.

I mean, I work with designers who often don't even know what their intention was in the first place, what should happen if a line of text turns into two...

<comment><USER5> I've just seen that some of the technique/some of your questions are answered after sign up! I'll c/c here for your convenience (without the explainations and examples available on sign up)

Five tips given on the website to get good results (I have not tested myself) :

\- _Break your page into smaller pieces_ (header = 1 .psd, same for body, footer, sidebar, etc)

\- _Use one text layer for each logical piece of text_

\- _Each icon or image should be a single layer or a smart object_

\- _Want CSS buttons? Use shapes; not images._

[edit] I know there's only four. Fifth being _avoid any hacks_ , it's probably not understandable by someone not really very familiar with Photoshop. Or I just couldn't figure out what _photoshop-design-hacks_ are used by actual webdesigners.

<comment><USER6> Sorry about the fifth point not being clear. Will try to make it clear.

Some designers produce effects using indirect methods instead of using the photoshop effects. These should be avoided as much as possible, for the code to be clean.

<comment><USER5> Don't worry, I was only quoting the titles of the tips.

The explaination and screenshots on your website made this fifth tip very clear to me !

</comment></comment></comment></comment><comment><USER7> I don't have much experience with prototyping-with-PSD...how standardized is that process among designers? This is a neat tool but it seems like it might be very dependent on good practices by designers, and seeing how adherence to best practices -- in naming conventions, file types, layer arrangement, etc -- can be highly variable among coders, I can only imagine what it's like among pure visual designers.

<comment><USER8> Almost every designer I know implements in photoshop.

For prototyping, its either gomockingbird, balsamiq or some quick HTML (plus the odd photoshoping) to simulate interaction.

<comment><USER9> As a designer, I've never "implemented" in Photoshop. Ever. Illustrator, yes (a _long_ time ago), but there's nothin' like coding your own design.

In fact, I design entirely with HTML/CSS (using the Live CSS Editor feature of the Web Developer add-on for FireFox) and use Illustrator to mix and pick colors.

<comment><USER10> I cannot tell you how much I wish all designers worked this way. I spend more time cutting PSDs than I do building the backend of the site (which is what I am actually hired to do).

<comment><USER11> Yep, every web development job I've ever had has required me to get Photoshop installed, usually sooner rather than later. Then the company moans and drags their feet about licensing costs etc. My current Mac has one old cracked version of Photoshop, one version with an expired trial, and the Gimp...

</comment></comment></comment></comment></comment><comment><USER9> As a visual designer who has learned to code, I feel that this is not a good idea for the simple fact that it outputs non-semantic HTML (divs are not semantic HTML) and CSS "class soup".

I am all for getting more designers to output code (thus saving a lot of developer time), but these sorts of things not only reinforce non-semantic (& unmanageable) coding practices, but also handicaps those who use them by not teaching them how the web works.

<comment><AUTHOR> We do worry about semantic HTML. We are working on a editor which would allow users to modify tags as well.

<comment><USER9> This makes me happy!

Back when I was learning how to code my own HTML/CSS, I really could've used something like this to help understand how HTML/CSS works together.

Being able to edit tags is a great feature :-)

</comment></comment></comment><comment><USER12> Awesomeness!

Now how about hire a little army to manually split my page to pieces, make it compatible to get markupwand to work, then give me back the whole page as if you did it all by magic. Imagine the premium I'd pay for that!

<comment><AUTHOR> Thanks Jenn!

Splitting page into pieces is only a temporary fix. We are working on getting the entire page work (automatically), it will be out pretty soon :)

</comment></comment><comment><USER13> This is a really great idea! I can imagine people in the future designing/coding/deploying simple webapps from a single photoshop-like interface.

How does it know to put clever class names like ".social-actions"? Is it gleaned from layer metadata or something?

<comment><AUTHOR> It doesn't get class names from layers, yet. Because, most often people don't rename their layers (they are usually "Layer 1" and "Shape 1").

It has a editor which quickly allows you to name classes (Screenshot: <http://cl.ly/image/0q2O0O0y2B1P>)

<comment><USER14> That was the only piece I couldn't understand. This is fantastic, great work!

</comment></comment></comment><comment><USER15> Does Markupwand use scripted Photoshop instances in the background? And if so, how did you manage to work around the fact that the standard Photoshop license does not permit such use?

<comment><USER16> Easy, they just used a pirated version that has no such restrictions!

</comment></comment><comment><USER17> Good catch on how us designers hack websites together-"Positioning a gray colored copy of a layer just below the layer, to get shadow effect." Looks like you certainly solved this problem. Cool stuff!

</comment><comment><USER18> The problem with this and other photoshop > CSS tools, is that you're still stuck with Photoshop. We should be elevating design by designing web native and making it beautiful, not using the same old fixed desktop beasts. Edit Room [1] and the like (typecast [2], etc.) will be the wave of the future. Great web design requires great human communication, which means great typography. You can't get close to the real web type display with Photoshop, and this tool won't help there.

Unlike Edit Room, using Photoshop + Markupwand generates all units in pixels - not too useful for real multi-device prototyping. Others have mentioned the tag soup. It's fine for those who can't move on from Photoshop, but more and more folks are interested in trying something new.

[1] <http://www.edit-room.com/> (my project, friendly critiques welcome) [2] <http://beta.typecastapp.com/>

<comment><USER18> Just to prove a point, I roughly re-created the sample PSD on the markupwand page in my tool, Edit Room:

<http://www.edit-room.com/review/RnNDyuCX>

It's not pixel-perfect, but it is flexible and responsive, and should work decently well across different screens for 5 minutes of work.

(I don't support images yet, so you won't see icons or an avatar, but the type and grid and color and shape and all those important things about design are well-represented)

<comment><USER19> What you show in the video looks pretty good. A few things that caught my eye:

The signup form is unconventional. that in itself is ok. but the cleartext password text field is a really bad practice. Also the whole thing just looks very hand-stricken, you know what I mean? I'm not that much of a designer myself, maybe others have a different taste.

I really hope you succeed, overall I think it's a very good idea. I like the abundance of CSS options and the format pasting you show in the video very much. The video makes me want to use it right away.

<comment><USER20> Why are cleartext password fields bad practice? How many accounts are actually compromised via shoulder surfing? They're especially annoying on mobile phones.

edit: Since there are password fields, I guess the question should have been "How many accounts _would_ be compromised by shoulder surfing?" I bet it's a truly insignificant number.

<comment><USER19> 1) As OP has pointed out, security is not just about effective security, it's also about the perceived one. Cleartext passwords are so unusual it makes me question as a user, how things are handled in the backend.

2) I don't see the problem on mobiles. Not sure about Android or WP but at least on iOS I always see the last character that is entered. Still vulnerable to shoulder peeking but not as bad as cleartext.

</comment></comment></comment></comment></comment><comment><USER21> Are you guys looking into methods that don't apply widths and pixel-perfect margin/padding to everything? Obviously much harder, but until these converters can do that they just aren't substitutes for handwritten CSS.

I almost never define a fixed width for elements. Here every single element has a fixed width.

<comment><AUTHOR> We have few approximations to do simple versions of this, but not perfect yet. Yes, it is harder to guess that an element should be of fluid width.

</comment></comment><comment><AUTHOR> Hey guys, our queue is growing pretty long. We are scaling it up, meanwhile you might face delays.

<comment><AUTHOR> Queue is back up normal now.

But a few photoshop files failed, since Markupwand isn't yet capable of handling full pages and a few complicated cases.

<comment><USER22> Super Machi, good job on the app.

<comment><AUTHOR> Thanks machi.

</comment></comment></comment></comment><comment><USER23> I can see this as a great product for designers who would like to code, but don't have the time to learn. Now they can take this instant output and simply tweak it, which is a lot simpler than to learn from scratch. Great job guys!

<comment><USER9> I can totally see something like this being used as a tool to teach designers how to code.

Design something > run it through some secret sauce > output HTML/CSS + provide explanations/advice/best-practices/etc.

</comment></comment><comment><USER24> And so begins PSDD (Photoshop Driven Development).

<comment><USER25> This is exactly what I'm afraid of, when I see products like this. Ugh.

</comment></comment><comment><USER26> This is really impressive, but I'm very hesitant. Obviously this html output won't be useful until you can modify tags, and as far as the CSS goes, this is not really ok:

        margin-top: 14px;
        padding-top: 15px;
        margin-left: 44px;
        padding-left: 11px;
        padding-bottom: 11px;
        padding-right: 348px;

<comment><AUTHOR> Agreed. We haven't worked on optimizing the no. of css rules yet. This is an early working prototype.

</comment></comment><comment><USER27> Awesome! Really psyched to try it out...I was about to go down the path of trying CSS Hat but I'll give this a shot first.

Any thoughts on where tools like Adobe Muse (<http://www.adobe.com/products/muse.html>) fit into the picture?

</comment><comment><USER28> This is definitely a problem worth solving, and I am glad these guys are doing it. I've worked with designers who hated doing, and developers are not fond of it too. As it improves, it has lots of potential.

Great start guys!

</comment><comment><USER29> I just tried it out with a .psd, the downloaded zip contained what appeared to be other users projects. This may be disconcerting to some, and will hopefully be quickly addressed.

The tool, however, is very impressive. I'll try to respond with a list of bugs I notice once I figure out how to fix them through hand-coding. Good work!

<comment><USER30> The issue has been fixed now. Really sorry for this bug though. You could check now and let us know!

</comment></comment><comment><USER31> Very impressive ! and I am sure many people will use this service ..

About the quality of code that it generates : I don't mind setting some on in my team to work on optimizing the generated code , but having some base html/css to work on is definitely a plus point.

Oh, BTW, You wont share my PSD with any one else right ?

</comment><comment><USER32> I'm on a MBA and can't see the bottom of the tutorial images. My browser height isn't tall enough.

<comment><AUTHOR> Hi Sunsu, sorry for that. We are fixing it right now. Meanwhile, here is the image url - <http://www.markupwand.com/assets/illustration-break-page.png>

</comment></comment><comment><USER33> How about PNG? Is it just me here using Fireworks for web design?

<comment><USER34> Fireworks has it's own "export to tables + image slices" thing. The end result is not too different, tag soup and fixed dimensions for everything. Next step up is hand-coding. Or really smart robots.

</comment></comment><comment><USER35> congrats guys, two Q's

have you thought about maybe options to split html into ejs/jade/other templates as well

you could in theory be able to do the reverse (html to image ) as well ?

<comment><USER30> hey bosky101, That is exactly what we plan to do. This is just the starting point :)

</comment></comment><comment><USER36> Just tried it using the provided PSD. I am supposed to get an email with results. Is there any manual work involved in getting the HTML/CSS ?

<comment><AUTHOR> There is no manual work involved. After generation, you would have to edit the class names and you should be done.

</comment></comment><comment><USER37> When I click on "Try now" I get a "Bad Request Error 400". Could it be because of me being signed into multiple google accounts?

<comment><AUTHOR> No, it shouldn't be. Could you please try in incognito window?

<comment><USER37> It works in incognito window. It does look like it's an issue with multiple account signed in. Yours is not the first site on which Google auth is failing for me when I'm signed into multiple accounts.

<comment><AUTHOR> Ah, ok. When we are signed in into multiple accounts, it allows us to select a specific account to sign in with.

</comment></comment></comment></comment><comment><USER38> Love these guys

</comment><comment><USER39> Is this any different than csshat?

</comment><comment><USER40> Wow, nice work. This looks great.

</comment><comment><USER41> Drag and drop to upload doesn't work in Safari.

Nor does the progress bar, or selecting multiple files.

</comment><comment><USER42> This. is. awesome. Super cool

</comment><comment><USER43> The "r" in "Jack Dorsey" renders funny in Chrome AND in my Firefox. Just me?

<comment><USER30> Not just you. We see that too. Not sure why though!

<comment><USER44> Probably because chrome (and/or ff) doesn't handle decimal point sizes well (18px =~ 13.5pt) 13pt works fine though, as does 14pt (after adjusting the word break)

</comment></comment></comment><comment><USER45> How does it work?

<comment><USER46> Agreed... Is this an automatic thing or are we looking at a psd2html.com type thing?

<comment><USER47> <http://en.wikipedia.org/wiki/Optical_character_recognition>

<comment><USER48> PSD does not rasterize text by default. Besides getting the text is far from the most difficult task that they need to handle.

</comment></comment></comment></comment><comment><USER49> is there a offline version available ?

<comment><AUTHOR> We don't have a offline version.

<comment><USER50> will there be one ? what about opensourcing ?

<comment><USER51> everything doesn't have to be open source.

<comment><USER50> no, and i never implied that if you read carrefully. Still, that doesn't answer my question.</comment></comment></comment></comment></comment>


AI's White Guy problem - <AUTHOR> http://www.nytimes.com/2016/06/26/opinion/sunday/artificial-intelligences-white-guy-problem.html?_r=2 <comment><USER2> What about the AI Indian problem?

<comment><USER3> This article is about humiliating and offensive mistakes made by AI toward non-white people because the AI is created without enough interaction and input from non-white people.

This is a rundown of some specific phenomena with the same root cause.

What Indian problem are you implying?</comment></comment>


Geeks love Colored Lights - Hacking IKEA RGB Led Strip - <AUTHOR> http://openpicus.blogspot.it/2012/09/geeks-love-colored-lights-ikea-dioder.html It's official: Geeks love LED Strips. Sometimes it seems like LED Strips have been invented for Geeks. <comment><USER2> Some time ago I hacked a set of GE Color Effects Christmas lights to make a 7x7 display: [http://blog.jgc.org/2011/11/turning-ge-color- effects-g-35-ch...](http://blog.jgc.org/2011/11/turning-ge-color- effects-g-35-christmas.html) Since the LEDs in the GE set are addressable the display can be programmed.

Also, if you're into Ikea 'hacking' then here's some fun with the Ikea LILLABO train set: [http://blog.jgc.org/2010/01/more-fun-with-toys-ikea- lillabo-...](http://blog.jgc.org/2010/01/more-fun-with-toys-ikea-lillabo- train.html)

</comment><comment><USER3> Let's skip the blogspam: [http://wiki.openpicus.com/index.php?title=IKEA_RGB_Led_Strip...](http://wiki.openpicus.com/index.php?title=IKEA_RGB_Led_Strip_Hack)

</comment><comment><USER4> The 12VDC power supply is sufficient to power both the lights and a Netduino or Arduino. Just desolder the little controller it comes with. There are 5 wires, but the colours are not intuitive. For example, the black wire is +12VDC and blue is ground. With a few transistors and resistors, they are really easy to work with.

</comment><comment><USER5> If interested in building this, you might consider this option:

[http://www.amazon.com/Ledwholesalers-Changing-Flexible- Yours...](http://www.amazon.com/Ledwholesalers-Changing-Flexible-Yourself- Controller/dp/B0040FJ27S/ref=sr_1_1?ie=UTF8&qid=1347284615&sr=8-1&keywords=led+strip)

</comment><comment><USER6> I bought this one and it is pretty cool: <http://adafruit.com/products/306>

A little bit more expensive though, because it has a microcontroller every 6cm.

</comment><comment><USER7> Lots more Ikea hacking at: <http://www.ikeahackers.net/>

</comment><comment><USER8> For those too lazy to build your own, Delcom has some really cool USB programmable lights. I use this for alerts and as a killswitch: [http://www.delcomproducts.com/productdetails.asp?productnum=...](http://www.delcomproducts.com/productdetails.asp?productnum=904006)

</comment><comment><USER9> I wonder if one can make a DIY "ambilight" with this? (Ambilight is when a TV lights up the wall behind it with the colors from the screen)

</comment><comment><USER10> Great!</comment>


Is Some Tech Too Addictive? - <AUTHOR> http://www.nirandfar.com/2014/06/tooaddictive.html <comment><USER2> Talk about being colonized.

Do you need to be a professor at Princeton with a PhD from Harvard to write about a sports injury as if you were the first one to ever get a sports injury?</comment>


Show HN: Feedio – Aggregate your feeds from all your blogs + guest posts - <AUTHOR> http://www.feedio.co

<comment><USER2> Cool looking service. Do you support all RSS readers or only those listed on profile pages?

<comment><AUTHOR> It's RSS, so you can consume the feed itself with your reader application of choice. We have integrations with the web-based readers listed on the profile pages as well.</comment></comment>


Interactive Go programming with Jupyter - <AUTHOR> https://medium.com/@yunabe/interactive-go-programming-with-jupyter-93fbf089aff1 <comment><USER2> This looks very cool. There's no overview of how it actually works. It seems to launch a goroutine for each Jupyter code cell but any variables defined are also available for use in later cells so I'm not sure how that works.

Just playing with the code in the mybinder.org it feels responsive enough. As well as for data analysis, this will be a great way to do those quick checks that I like to do in python to confirm how an api works. I've been meaning to start using golang more and this might be how I do it.

<comment><USER3> As someone who hasn't worked with Jupyter beyond a simple iPython shell, this comment sent me down a bit of a rabbit hole. If anyone's interested, here are some links.

Jupyter docs for making a kernel: [http://jupyter- client.readthedocs.io/en/latest/kernels.html](http://jupyter- client.readthedocs.io/en/latest/kernels.html)

List of jupyter kernels: [https://github.com/jupyter/jupyter/wiki/Jupyter- kernels](https://github.com/jupyter/jupyter/wiki/Jupyter-kernels)

Jupyter seems like a cleanly designed piece of software that is easy to integrate with. I like the use of ZeroMQ for the wire protocol.

<comment><USER4> Sorry it's my job to nitpick. IPython is upper case I and P. We don't want to upset the fruit giant.

</comment></comment></comment><comment><USER5> For information, it's not the only Go kernel for Jupyter.

There is also [https://github.com/gopherdata/gophernotes](https://github.com/gopherdata/gophernotes) which uses a different approach: contains a portable Go interpreter, instead of invoking the Go compiler for each Jupyter cell as lgo does (lgo is currently linux only)

<comment><USER6> A comparison with gophernotes is included in the article. From the things they've chosen to compare, it looks like a step up!

<comment><USER5> Yes, from the things they've chosen to compare.

I am gomacro author's (gophernotes uses gomacro as Go interpreter) and I find the comparison needs an update.

Among other things, gomacro now supports interfaces - although gophernotes still has to catch up. It's also partially incorrect: gophernotes and gomacro _are_ type safe I guess I will have to open an issue...

Also, IMHO the comparison criteria are chosen based on what lgo author considers important - not necessarily what's important for someone else.

Some quick examples that are important for me: portability on non-Linux systems, redefining a variable or function (lgo can only shadow them), redefining a method, allowing unused local variables...

I have great respect for what yunabe accomplished with lgo, including the deep integration with Jupyter (displaying HTML, Javascript, images...), code completion, and many other features, but I think his comparison with gophernotes needs to be updated.

</comment></comment></comment><comment><USER7> Serious question: what's the point? Is there anything in the realm of interactive data analysis-type programming that isn't already better with Python and instead needs to be done in Go? I might be missing something. If so, what?

<comment><USER8> Jupyter has uses outside of data science; I find it to be an extremely useful programming scratchpad for web development with Python and Node. It was renamed from IPython to Jupyter to reflect its broader scope, Python was the original kernel but there are many now:

[https://github.com/jupyter/jupyter/wiki/Jupyter- kernels](https://github.com/jupyter/jupyter/wiki/Jupyter-kernels)

</comment></comment><comment><USER9> This is very fascinating, great job!

One thing I was wondering how did you manage to build it? There's a lot of code there and I was wondering if I could make my own version for a different programming language.

</comment><comment><USER10> I don't get why you want to use this over an IDE.

All you get is cached intermediate variables and being able to print them, am I right?

On the other hand you loose the capability to see the definition of everything externally defined and you can't use the debugger.

Please let me know if I am missing something

<comment><USER11> > I don't get why you want to use this over an IDE. All you get is cached > intermediate variables and being able to print them, am I right?

You get more than that from Jupyter. Especially with Python, but for Go also.

Jupyter is for exploration and prototyping. Think of Jupyter as being a massive improvement on the command line shell, rather than an IDE downgrade. If you're developing large structured programs, yes the IDE is definitely the way to go. But if you're doing interactive coding and you want to run the code line by line or in small groups, you'd use the shell, or better yet Jupyter. Jupyter is between an IDE and a shell.

Jupyter gives you inline images & plots. It's made with visual results and interactive plotting in mind. Most IDE's don't have anything like that. You can also compare Jupyter to Maple or Matlab or Mathematica.

Jupyter lets you add readable formatted markdown between code blocks, and you can export your notebook in presentation formats like PDF or HTML.

Notebooks show the results of the program run, so someone you share with can see what happened before they run the code.

And I don't know about the Go kernel, but with Python at least, Jupyter most often installs a sandbox environment that includes several powerful Python libraries. What this means in practice is that sharing notebooks is vastly easier for the recipient of a notebook.

<comment><USER12> Actually, pycharm caught up and provides all the interactivity and cell based execution.

<comment><USER13> 1\. That's very misleading, because what PyCharm did was _add support for jupyter notebooks_. Without iPython/Jupyter there would be no "interactivity and cell based execution" in PyCharm.

2\. And AFAIK it's just Python, does it support the few dozens other jupyter kernels?

<comment><USER12> 1\. No, it's not. In regular python files you can create cells using #%% and run them separately. Yes, there is also notebook support but it requires Jupyter.

2\. Just python

</comment></comment></comment></comment></comment><comment><USER14> Is there a pandas equivalent / Dataframe library for Go yet?

<comment><USER15> I just don't see Go ever becoming a good language for numerical computing. There was such a push with implementing [multidimensional arrays in Go]([https://github.com/golang/go/issues/6282](https://github.com/golang/go/issues/6282)) but it looks like it's been shot down more than once.

When using Python and R interactively, the syntactic sugar and functions that allow for rapid analysis (subsetting, indexing, merging data objects etc etc) more than make up for the slowness of the language. If someone wanted to implement that workflow in Go for repeated analysis of very large datasets, I doubt they would need it to be interactive.

But it looks like Julia might become the goto numerical language that is compiled and fast.

</comment></comment><comment><USER16> I wonder what kind of dark arts might be required to have this talk to python within one notebook? Would it even be useful?

<comment><USER6> If this were possible, it would require the blackest of black magic, and mapping anything other than primitive types across the void would be essentially impossible, e.g. anything useful like a DataFrame.

<comment><USER17> Arrow is meant to help with that

</comment></comment></comment><comment><USER18> So, what about the obvious rename to "Jugoter"?

<comment><USER19> That has the problem of sounding like "judgemental" in French ("jugeote")

<comment><USER20> So what? Jupyter sounds like a name of a planet in English.

</comment></comment></comment><comment><USER21> This is def gonna help me understand Golang way better

</comment><comment><USER22> ISNT IT PRONOUNCED 'GOH'? LIKE HOG BACKWARDS.</comment>


Ask HN: Anyone have experience implementing an inventory system? - <AUTHOR> Open to ideas. I can code functions into Google Sheets easily.<p>I'm thinking of using QR codes as barcodes. My main question is how can I have the scan of a code communicate with the spreadsheet? Ideally with no hardware other than a phone and no added apps. <comment><USER2> This is exactly what [http://OpenTHC.com/](http://OpenTHC.com/) does. I built it. QR is great and it scans faster than barcode and is more resilient to smudge (and sun damage).

You can open scans with zxing links on a webpage but you'll likely want an app - cause the performance will be better.</comment>


BabelBox – Minimal internationalization library - <AUTHOR> http://javascript-kurse-berlin.de/labs/babelbox.html <comment><USER2> Whenever I look at modern internationalization libraries and compare them to GNU gettext, I feel like a key piece of knowledge got lost somewhere. BabelBox continues the trend of apparently not having ever used gettext or understanding how it should work. Here's how it works in gettext. Let's say you have something that prints a message:

        print("Hello, world.");

If a string should be translated, you wrap it in a call to gettext:

        print(gettext("Hello, world."));

In a webapp, you'd need an extra parameter for the session or locale, but the principle is the same. Note that the parameter was the initial english text. This is the first way i18n libraries go wrong: they make the parameter a key, instead of the english message.

        print(i18lib("hello_msg"));

This makes the code less readable, and forces you to update a second location to add the English version. It also means you can no longer search the code for an english-language string and get to the right line.

I guess forcing the developer to update that second location is the reason for doing it that way, but gettext does something better: you run a tool on your source code which automatically detects calls to the gettext function, and produces a file with all the strings, ready to hand off to translators. This is ridiculously much more programmer-friendly.

Templating adds a bunch of complexity to this, and languages have weird quirks that sometimes need to be handled with code. But it's sad that the basics got forgotten.

<comment><USER3> I've been using gettext for a long time, and used to think like you. But I'm slowly changing my mind.

The problem with gettext is that, when you change the English text, it also changes the ID of all translations. Moreover, it's often necessary to complete the English text with a short string describing the context, to avoid any confusion between two identical strings in different contexts (for example "open" can have several meaning).

When you use a "technical" ID for each translation, you don't have these problems anymore. You can fix a typo in the English translation without checking translations marked "fuzzy" in other languages. You can also include some context in the ID.

But the main advantage of using "technical" IDs it that you get a clear separation between the programmer and the product designer. The programmer doesn't need to spend too much time choosing the right wording, and can focus on the code. The product designer can work on the wording independently without bothering the designer.

I note that the approach advocated by gettext is very popular among open source projects. It's not a coincidence. Programmers working on open source projects are usually the ones writing the text displayed in the user interface.

I note that Java and .Net mainly advocate the "technical" ID approach. It's not a coincidence either. In most IT projects, the text displayed in the user interface is not written by the programmer, but by some project manager or some product designer.

It's perfectly possible to have a tool that scans your source code and automatically detects the calls to the translation function, even if you use "technical" IDs. Here is an example: [http://glebm.github.io/i18n-tasks/](http://glebm.github.io/i18n-tasks/)

<comment><USER4> You hit the nail on the head here. In particular the points about changing the English text and about different contexts resulting in different translations.

I also feel that the gettext approach assumes everyone speaks the same base language (namely English), but that's not necessarily true with an international team. Obviously the string IDs still need to be in a common language, but those are simpler to parse and search for than full sentences, especially if the person writing the English text has chosen uncommon words or syntax.

<comment><USER3> Thanks!

I agree with you that the gettext approach relies on the assumption that everyone speaks the same language. I would add that it also relies on the assumption that every programmer has good writing skills, which is not always the case. In my teams, some programmers are really good at writing code, but not so good at writing a correct English or French sentence. In such a situation, string IDs are better.

</comment></comment></comment></comment><comment><USER5> It's really basic, the last time I needed this level of translation- capabilities, I wrote it myself.

Currently I can recommend [http://formatjs.io/](http://formatjs.io/). We use it with the react-wrapper and it works really good. It handles everything from ICU-capabilites to formatting dates/currencies.

<comment><AUTHOR> I agree that the functionality provided is quite basic, there are quite a few libraries out there that provide much more functionality, such as the one you mentioned or [http://i18next.com/](http://i18next.com/)

I was initially using another tiny library [http://airbnb.io/polyglot.js/](http://airbnb.io/polyglot.js/), but we wanted to support translation fallbacks to allow us to put every widget/component in a separate namespace. Which means we don't have to copy translations over unless they are unique, since that became a bit of a maintenance burden as more things are added.

We already supported dates by using separate other libraries such as [http://momentjs.com/](http://momentjs.com/)

</comment></comment><comment><USER6> I know it's in the URL, but I really think the title should mention "JavaScript" just to make it a good free-standing title.

<comment><AUTHOR> Thanks for the tip! Not sure I can edit the title after posting it though =(</comment></comment>


Frances Arnold Turns Microbes into Living Factories - <AUTHOR> https://www.nytimes.com/2019/05/28/science/frances-arnold-caltech-evolution.html <comment><USER2> > Give up the thought that you have control. You don't. The best you can do is > adapt, anticipate, be flexible, sense the environment and respond

Not the main point of the article but probably thinking like this helps a lot to accomplish lot of things.

Yes, I always consider that the best discoveries, creations and improvements are made by people who aren't satisfied with the _status quo_. But even that is only possible when you know that you don't have control of everything and you have to respond accordingly to the environment.</comment>


Bored People Quit - <AUTHOR> http://www.randsinrepose.com/archives/2011/07/12/bored_people_quit.html <comment><USER2> Axiom: Boring work can never compete with Hacker News.

Axiom: Hacker News can never compete with interesting work.

Theorem: The interestingness of my work is inversely related to my Hacker News participation.

Supporting data: Today I'm regression testing. I'll be here all day, folks.

Idea: Employers, monitor your logs for Hacker News. Occasional spikes probably indicate boring, but necessary tasks. Chronic use probably means your devs are bored. Bored devs probably means you better take a deep hard look at everything else.

<comment><USER3> Hacker news participation can also indicate compilation, as it does for me right now.

<comment><USER4> Compilation is a form of boredom ;-)

<comment><USER5> I'm not sure if you're joking or not, but this is entirely true. I'm sat here watching a data mining job. It's wasted time, largely brought on because the job doesn't have unit tests, so I have no confidence it'll actually complete correctly, so I need to watch the log and see what its doing.

This not a good use of my time, and I hate seeing that console, and I feel bad for being on HN when I could be productive.

<comment><USER6>
      ./data_mining_job && growlnotify -m "Success!" || growlnotify -m "Failure :-("

(season with _while_ , _read_ and _grep_ to taste)

<comment><USER5> Hah, if only it was so simple! The integrity of the job is the problem. It's been coded to failover problems (as the original data integrity its mining from isn't good), so it will happily do something stupid for hours. That's why I have to watch it, and make sure its not doing something stupid.

Unit tests would ensure stupidity was not a possibility, and regressions could be tracked. Too late for that, unfortunately.

So I watch.

<comment><USER7> Couldn't you write unit tests while you wait?

<comment><USER5> Fair point :)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> I think another key point is that _boredom is inevitable,_ at least at any company bigger than a startup.

Software engineering is about solving problems. You get hired, and solve problems. Time passes and you get better at solving these problems, so they give you harder problems in the same domain space. Eventually you get so good at solving these problems in this domain space that you become The Guy. "Oh you have a question about the FooWidget manager tool? Ask Joe, he's the FooWidget guy." By definition, being The Guy has mean you've reached a local maxima of productivity in the company.

It also means you're bored. It's not a case of possibly being bored, or eventually becoming bored. Once you are are no longer a problem solver, that means you're bored.

I've been a lead engineer at two different companies thus far in my career, and every time I end up wailing the same things to management. "You have to let me get Joe off FooWidgets. He's been working on it for nearly years and all you make him do are stupid enhancements nobody actually uses." But then who will maintain FooWidgets? "Hire someone. You could hire a college kid for the level enhancements you guys want. Or let me assign it to someone else on my team. But do something, because he is going to get bored and quit and we'll have to do this anyway, only Joe won't even be here to help transition." Will we be able to make enhancements to FooWidgets as fast if someone else works on it? "Not at first, but within a month--" Bzzt, wrong answer, Joe's still on FooWidgets. And sure enough, within six months, Joe takes another position and we're hosed.

So while Rands had some good heuristics for detecting boredom, you typically don't even need to ask them directly or look for behavior changes. Are they solving problems? If not, they're bored, and you have a ticking clock to do something about that engineer before he leaves.

<comment><USER9> I've fought through MUCH more boredom during my startup career than at any other point.

Startups are great fun while you're building the product. Then you release it, and while you'd love to be implementing new features you're really stuck maintaining the beast you've unleashed onto the world.

In a startup there is no one else to give you a hand when things break. There is no one else to share the load of those boring tasks (deployments, unit tests, browser/phone compatibility, etc...). Even then you'll spend most of your time refining existing features, not inventing new technology.

At the end of the day, every god-awful task is on you (or a small team). While there are spikes of interesting problems, it will be a small part of what you do.

<comment><USER10> Just have to say that your assessment of things was refreshingly unromantic and honest - founding a startup won't solve your boredom issue. There's still work to be done.

</comment></comment></comment><comment><USER11> I had a boss that took the opposite approach. Whenever I started to lose productivity, he'd put me on work he knew I'd hate, telling me I'd get to do more interesting things when I showed him I could be productive. So I started working on side projects at the office just to keep my mind from going and became less and less productive until I quit.

He was a talented engineer himself and a good friend. We ended up working together again at another company. A few months after he arrived, I had a slump and the cycle repeated itself. This time we had long meetings where he accused me of being cynical and questioned my dedication; I defended it ("I'm here making much less than I was before, aren't I?"), which was exhausting in itself. I thought the problem was all on my side, so I didn't put up much of a fight when he told me I'd be writing integration tests full-time--no more "real" coding--until I proved whatever he thought needed proving. I forced myself to ignore any side projects I had going. He called me in again later to complain that the tests weren't coming along quickly enough and that they "read like sketch comedy routines". (They did, actually. I was bored, and the tests were full of things like, e.g., Eve getting unfriended by Alice but not Bob and, wounded, trying to spy on Alice. It did tehnically test our access controls!)

Because I was convinced it was my problem, I stuck around long enough to get fired this time. I'm lucky enough right now to have very interesting work (at a big company, of all places), but this article has given me an opportunity to reconsider what happened at the old job in a different light.

<comment><USER5> This person is/was not your friend.

<comment><USER12> Not a friend, but more importantly, not a very good boss either.

<comment><USER13> Definitely not a good boss, but possibly still a friend.

(No, I'm not just trying to fill out the matrix here. ;)

It's important not to take management too personally. Just because this guy was horrible at understanding motivation doesn't mean he was a bad person or a bad friend, just that he was a really lousy boss. Lots of people don't understand how to motivate others. Lots of people don't consciously understand how to motivate themselves, in fact.

It's probably a good idea not to put up with this forever, but it doesn't mean you can't be friends. I have many friends whom I would never work for. Most of us do, I'm sure.

<comment><USER9> +1 insightful.

I've had one job in my adult life go completely sour. I was there for about 3 months and never really found a way to fit in culturally. My aspirations exceeded my role, and I was probably pretty difficult to deal with I imagine.

After I left the company, I thought that my boss would have a lot of animosity towards me. He didn't. Turns out, he knew I was struggling and while he wanted to keep me (I was productive at the very least), he didn't hold any ill- feelings towards me leaving.

As a boss now, I always try to keep that in mind. I inevitably develop personal relationships with every employee I've had. Even when that doesn't work out, I always support them however I can.

</comment></comment></comment></comment></comment><comment><USER14> About 5 weeks ago I quit my job. I was becoming increasingly dissatisfied with my job role and the level of mental stimulation. So I quit my job.

I walked in told my managers, "Hey, I liked the beginning when I was challenged. Now I'm not. I want to find something new that does challenge me." They asked me what I would find challenging, I told them. They asked me to give them a few weeks before I actually left so they could try to find me something, and they did. I never had to leave and I got what I asked for, challenging and thought provoking work; they got what they wanted, not loosing a worker. It was a win-win.

I can honestly say that attempting to quit my job was one of the best decisions I've made in years.

</comment><comment><USER15> I had a nice little company with 30 or so staff, the first employee was a major asset but made a huge mistake when left in charge, ordered 300k of stock in one day from suppliers, then went on holiday and was off sick for some time afterward. The bills wipped out the pre Christmas profits we made and very nearly bankrupted the company. It was a hard slog for a year to get back into the blank, during which time I put him out of the office in final checking and testing. However, after about 8 months of this he landed the bombshell, he was leaving. Despite all pleas for him to stay, (despite his honest blunder he was one of those people you need, would do over and above the call of duty), alas he left. When I replaced him and modernized the management it was less than 16 months later he arrived in my office after I had called him in tears ( I don't cry) explaining the bookkeeper and general manager had scammed me out of over 100k... later I explained why he was 'demoted' I was astonished to realize he was oblivious to the problem he had created, how on earth had I managed to miss that vital information while begging he stay with the company? Being too involved and too busy, along with not trying to have a blame culture is what proceeded those events. My utter shock though at his ignorance to the real problem, and in his boots I guess I would have left too.

</comment><comment><USER16> What about frustrated? Too much process, too many clueless managers, too hard to get work done?

Sometimes boredom is a result of giving up the fight.

<comment><USER17> Ding ding ding ... we have a winner.

<comment><USER18> Why am I thinking that calloc and thirdstation are 33+ years old?

</comment></comment></comment><comment><USER19> Wow. This article knows me better than I know myself. I've always wondered if that slow creep-in of boredom was a personal failing of mine. Whether it is or not, it's at least nice to know that this a known phenomenon, that someone else has managed to describe to a t. Reading this has actually really empowered me. I really had a lot of shame in feeling bored and bent over backwards to hide it until I quit in a boredball of boredom. I might be more forthcoming about boredom in the future.

<comment><USER20> Careful I admitted I was bored doing purchase orders of parts (supposed to be an engineering position) in a previous job and the manager went nuts, got in multiple shouting matches with me ("this project is the most interesting work that's come along in a while and yoooou're bored! I'm shocked, just shocked"). Hah. Wrong thing to say to me - if what I was doing then was supposedly better than their baseline normal, suddenly I had no regrets about quitting.

<comment><USER21> Indeed. One project I had a boring task with nebulous requirements, and said as much: "I find this hard to know when I'm done, and progress is slow. What's next when I _am_ finished". The response? "More of the same!" said with a s __* eating grin. :-(

At this point I pushed harder for my internal transfer. I later found out this line manager was "let go". (He'd basically taken all the interesting work for himself, the whole team productivity was bad when I moved.).

</comment></comment></comment><comment><USER22> Rands makes some very insightful points. I became very bored at my old job. What struck me as odd about the experience in hindsight is that at the time, I didn't even realize that I was bored. I simply became sarcastic, sullen, and generally somewhat less than the person I knew myself to be.

Perhaps it is an artifact of my youth, or perhaps it is because the situation of boredom can arise very gradually, but I strongly suspect that many people who find themselves unhappy with their employment without being able to articulate the reasons for their unhappiness are, in fact, simply bored with their work.

Directly asking employees about it is situational at best, though. Some folks might misinterpret such a query's intent and say "yes" regardless of how they really feel. I've often given thought to Google's 20% policy, where employees are allowed to work on work-related projects of their choosing. While I doubt that this policy is practical in all situations, it does seem to be a very clever way of preventing boredom and encouraging innovation simultaneously.

</comment><comment><USER23> This is my last week at my first programming job, my new one starts next Monday. My boss has other businesses in other states, so he was away from this office most of the time, meaning I was able to do pretty much whatever I wanted with my time here. Usually, the office consisted of just my non- technical supervisor and myself. Of course, small projects beyond my control would be requested of me would and I would do them, but this couldn't sustain my interest.

I definitely got bored. But unlike most of you, I had the choice of being bored. Once I realized this I made every effort I could to work on interesting projects. First, I had to start spending about half of my time researching the industry before I would even know what needed to be done. I was then able to identify what was wrong with our systems here and exactly how to improve them. Given lots of time to play around on projects and little supervision, some people might have wasted their time or just did the bare minimum, but I identified areas that could be greatly improved, then replaced/refactored projects as necessary. I took on new projects to address problems I had wanted to fix for a long time regularly.

Being the only programmer here, I didn't get to all of them (I was not working full time). The website was a mess of outsourced crap and it didn't even use objects - I avoided working on it in favor of other projects as much as possible. Back in 2009 I made a prototype replacement website in my favorite language, earlier this year I started work on two code libraries. I'm currently refactoring the website to use a new code library I created, which is going very smoothly. I also spent countless hours (though I logged everything I did) happily working towards PCI DSS compliance, coming from a background with no security expertise. I came up and completed many more projects like these while I've been here. When I was bored it was because I wasn't working on something interesting.

Those are the days where I can work until close and be completely happy. Well, until someone tells me it's time to leave.

</comment><comment><USER24> I'm honestly glad to see the reactions here that being bored is not (necessarily) your fault.

What I mean is that job ads tend to look for "self-motivated" people and it's easy to conclude that if you're bored, you're just clearly not self-motivated enough.

However, there are many things that a company and management can do (or _not_ do) that contribute to a decrease in motivation. Or even the appearance of resentment since keeping you bored (or worse, not realizing you are) shows the lack of interest in what you're doing, and where you're going.

<comment><USER25> I swear, "self-motivated" and "detail-oriented" are two of the most over-used descriptions in job descriptions. Now I'm not sure, when I see those descriptions, whether they're real, or if they're just boilerplate, or whether they're code for "you should be a very small load on your manager."

</comment></comment><comment><USER26> We're in this exact same situation in my company.

A couple of engineers gave notice in the last week complaining about boredom. They ended up convincing one to stay(salary+ & better projects) but I feel their pain.

I think what happens in a start-up is that once the company reaches a certain size, the 'hard-part' is already done. The type of engineer that gets attracted to working at a start-up is usually one that likes to be in over their head a bit and trying to solve hard problems. Once that 'problem' is basically solved unless they move on to other things(platforms/frameworks/languages/etc), they're inevitably going to get bored, complain, hate their life and then quit.

I'm forwarding this article to management here, hopefully they'll get the hint.

</comment><comment><USER27> I think one of the problems is bad hiring. If you hire someone who wants to be a Ruby developer writing new code to maintain a PHP site, you're going to see boredom.

Marc Andreessen talks about using hiring and interviews as a filtering process e.g. "In this company we all do yoga for an hour at 2pm. Do you like Yoga? Are you going to have fun doing yoga for a hour every day?". [Real example of a yoga startup IIRC]

Here's the podcast, and it's probably ecorner's best ever if you haven't already heard it:

[http://www.stanford.edu/group/edcorner/uploads/podcast/andre...](http://www.stanford.edu/group/edcorner/uploads/podcast/andreessen100512.mp3)

</comment><comment><USER28> Where I work, the original post is actually blocked by websense; and I believe that says a lot about the firm. And not just that, there is also a strict auditing of browsing habits. They have already incorporated edw519's suggestion of monitoring logs for accessing HN/proggit etc. More than a hundred hits per day and I need to get an approval from four levels above.(SO was completely websensed and I had to fight for 10 days to get it off the blacklist).

It's not that people just quit bad managers. Many a times, they quit firms with ridiculous policies and rules, even though their immediate managers/peers are good enough.

</comment><comment><USER29> Great article. I'm bored, and I surprisingly I found myself doing almost everything described in the article: later arrivals, earlier departures, increased snark or even skipping lunch. I'm in the category of "I'm bored and nobody did anything about it" (perhaps my boss know, because I told my co- worker out loud that I'm BORED) and not I'm not sure what I should do next.

</comment><comment><USER30> I am a college student who is currently doing my summer internship at a megacorp as a .NET MVC developer and I would not say the internship was what I was looking for. I am OK with the technologies they are using, it's just the boredom caused by endless waiting between each process that frustrates me. I got hired because I had spent a lot of my spare time working on my own RoR projects and my web development skills made me stand out. I also turned down another RoR startup internship as a result of better payment from the big company, which I regret a lot by now. Lesson learned: money is not the most important factor when it comes to job decision. The bright side of big corp job is that I have plenty of time to read hackernews and pick up technologies I want to learn, which gets me ready for the future startup environment. But nevertheless, I will never look back after this job.

<comment><USER31> You'll probably look back. Small companies suck too, just in different ways than big companies. Same with startups. Everything sucks; what matters is how you deal with it.

<comment><USER22> > Everything sucks; what matters is how you deal with it.

Indeed. There are usually positive actions you can take to improve any situation in a big company or a small one. Joel Spoelsky wrote an article about working as a low-level developer in an established team that might not be doing things optimally. His first piece of advice? Just do it.

Search for "Getting Things Done When You're a Grunt." It should be the first hit.

</comment></comment></comment><comment><USER32> Great article.

Your boss won't always explicitly tell you to take time to experiment. I've gone to my boss many times and essentially asked for time to experiment. If you have a good boss, he'll be right there with you. Don't be afraid to ask.

</comment><comment><USER33> _Disclaimer: The following is not related to the topic but is instead a rant inspired by reading the article._

A good article, but it is unfortunate that it starts by categorically slamming all authors who write about employee motivation and retention:

 _It's written by folks who actively use words like motivation and retention and generally don't have a clue about the daily necessity of keeping your team professionally content because they've either never done the work or have forgotten how it's done._

Why is this necessary? I find it nauseating. In fact, when I read or hear someone who basically states "everyone is stupid but me, and all who have come before me have been doing it wrong" in their opening spiel, it's a good sign to me that the speaker/author has some blind spots and may not be considering all perspectives.

Maybe one reason I find it so nauseating is because I have suffered from this myself, and I'm still tempted at times to point out where others have failed and where I'm so much smarter. (After all, "we judge most harshly in others that which we are most guilty of ourselves" – can't remember who said that.) It wasn't until a close mentor confronted me on it, and basically taught me that life goes a lot better when you don't walk around thinking you are smarter than everyone else. Biggest reason? _It shows._ You may think you are hiding it, but your face may be wearing a subtle smirk while others are talking, and they can see in your eyes that you aren't listening but instead are formulating a rebuttal.

Steve Blank teaches this same concept (i.e. don't think you are smarter than everyone else) in some of his blogs, although more related to sales. And good articles like this on the importance of humility reinforce this for me:

[http://blogs.hbr.org/tjan/2011/07/why-some-people-have- all-t...](http://blogs.hbr.org/tjan/2011/07/why-some-people-have-all- the-l.html)

In a Fortune article on "the best advice I ever got", the CEO of Pepsi, Indra Nooyi said the best advice she ever received was from her father, who taught her to "always assume positive intent" which I have found gets you a lot further than "assume everyone is an idiot", which has been the stance of many programmers I have met. (Fortune article link: [http://money.cnn.com/galleries/2008/fortune/0804/gallery.bes...](http://money.cnn.com/galleries/2008/fortune/0804/gallery.bestadvice.fortune/7.html)),

I've heard it said that "people don't quit their jobs, they quit their manager". Maybe in IT we are boring people by ceasing every opportunity to show our underlings how smart we are…

*Edit: Typos

<comment><USER34> I think Rands is railing against reactive HR departments who wait for problems (e.g. bored employees) to come to a head before trying to deal with them. It's too late to salvage a bad situation once an employee is fed up enough with a job to give notice. Even if you manage to keep her on in the short term, she's always going to have the stigma of "quitter" and you're just prolonging the inevitable. The HR directors, etc. who get brought in to circumvent policy and get these people the raises or transfers they were really after are missing the point - set things up so that things don't get so bad people need to quit to make themselves heard.

It's the same problem that gets brought up with software. The hero isn't the engineer who looks ahead and avoids problems, the hero is the guy who stays late to fix a problem after putting everyone in a bad position. Reaction is an anti-pattern no matter where it occurs.

</comment></comment><comment><USER35> Call me a cynic, but I think most managers in medium-to-big companies would never believe that there is something wrong with the structure of the work their handing down, so they would never try to fix it. Developer turnaround of X percent is expected and simply factored into the process by making people replaceable. I think that's the root cause of the problem. Not enough people in change really care that their developers are bored.

</comment><comment><USER36> If you ask an employee, "Are you bored?" there's a good chance they are going to lie to you, unless you have a strong enough relationship.

<comment><USER37> I think that's why he suggests digging deeper until they are making eye contact.

<comment><USER38> Ha! Good luck with this. Seasoned employees know how to pretend to like a job, right up until they put in their notice.

<comment> brown9-2 But those people aren't really savable anyway, are they?

If you've grown bored and decided that you aren't going to attempt to communicate that in any way to your employer, or do anything to change that boredom, you've already decided that you are on your way out, even if you haven't admitted to yourself.

</comment></comment></comment></comment><comment><USER39> I would apply the same methodologies to finding out if your problem solvers are "happy with the solution(s)". There are plenty of occasions where engineers are handed solutions they aren't totally keen on. The same trap can be landed in.

It's not always about being bored. Sometimes its about being satisfied with the solution. And in my opinion, both are equally problematic.

</comment><comment><USER40> Sounds a bit abrasive to do this: "You ask, "Are you bored?" Even if you don't have a gut feeling, it's a good question to randomly ask your team. When I ask, I look you straight in the eyes and if you can't stare me in the face and answer, I'm going to keep digging until you look me in the eye."

<comment><USER39> Not at all. In fact you should always wait until eye contact. I can't count the number of times I wish I had stared down a boss to make him/her understand that I was drowning in boredom only instead to give a quick smile and nod while continuing to look at my monitor.

It is way to easy to do "manager drive-by" and get absolutely no sense of reality from employees.

This is on both sides to get right. The manager waiting, and the employee taking the time to "look them in the eye".

<comment><USER41> some people (such as myself) have a really hard time with eye contact. it doesn't mean i'm not earnest in what i'm saying, it just means that eye contact makes me very uncomfortable.

i've learned that a lot of people see it as important, so i do an exercise when i walk to work, making eye contact with as many people as i can. it's helping but it's still hard for me - i feel like i'm being intrusive and slightly aggressive by making eye contact with someone.

<comment><USER40> Especially if you're questioning them with very short direct questions that are relevant to their job (that may be important to them...) and then not letting it slide by dogging them until they answer. Not saying that's what the blog post recommends but it could certainly come off that way if people tried repeating his tactic just based on what he wrote.

</comment></comment></comment></comment><comment><USER42> _"I'm going to keep digging until you look me in the eye"_

Are you sure you want to do that to engineers? There's a joke that goes something like:

 _How do you tell an introverted engineer from an extroverted one? The introverted engineer stares at his/her shoes when talking to you. The extroverted one stares at your shoes._

I don't think it's a good idea to "keep digging until you look me in the eye".

<comment><USER43> I, personally, find it very difficult to sustain eye contact while I talk to people. The "I know your lying because you won't look me in the eye" myth was 90% of the reason I was always in trouble at school. It's a myth.

<comment><USER44> This is interesting. Is it possible it's a truth and actually you're lying to yourself?

<comment><USER43> I also, often, externally display a different emotion to what I am experiencing. For example, I often seem angry when I am actually happy as a pig in mud. I've done a polygraph before in university and the results were mixed (lots of false-positives and false-negatives). I'm an outlying variable but it is important to remember there are plenty of other outlying variables who will throw a wrench into every system or maxim.

<comment><USER44> Thank you for the feedback. I forget about this.

</comment></comment></comment></comment></comment><comment><USER45> hahahahahhaahahahahahah!!

I sent this to a colleague for a read, who in then... sent it to the CIO. Whom replied, "this guy sums it up well, I'm going to distribute it and then we'll talk about it at the round table."

The outcome of this is going to be... hilarious!

</comment><comment><USER46> This article sums me up. When I started in my current job I had a really smart guy for a manager who was interested in hearing new ideas from his people and generally championed them. A couple of years ago we got bought out and I got a new IT manager with no real interest in technology or my job. Every idea I've had was ignored or shot down in flames. Unfortunately his attitude was symptomatic of senior management in our company.

I got disillusioned and got a reputation for being sullen and uncommunicative. I realized that even if I invented a perpetual motion machine he wouldn't be impressed (or even know what one was). So what was the point?

The happy ending is I got headhunted last week by my previous employer. My boss doesn't seem too worried about me leaving so I'm sure now I'm doing the right thing.

</comment><comment><USER47> Already said but great article, I am in this exact situation right now.

</comment><comment><USER48> If you enjoy this article, the author's book titled "Managing Humans" comes highly recommended.

<comment><USER49> And also his second book "Being Geek". It's a career guide for technical people.

</comment></comment><comment><USER50> Apart from presenting an interesting problem, I'd say presenting an opportunity to learn something new and valuable is as important.

I developed and maintained an ASP.NET application for a long time and eventually became bored. My boss tried to make things interesting by giving me small new application / feature to solve a problem but having to continue using ASP.NET made my gnash my teeth.

I would have preferring having to figure out some new language/platform where the discovery process would have been rewarding and satisfying.

So give them not only new ends to pursue, but also new means.

</comment><comment><USER51> For what it's worth, people exhibit the same kind of behavior changes when they think there will be layoffs.

<comment><USER52> If I don't have a lot of work to do—or if I know the work that I do have could be done by someone fresh out of college—then I assume that the next time there is pressure to reduce staff, my name will be on top of the "to be laid off" list.

</comment></comment><comment><USER53> If your company uses google calendar, I recommend you take a look at your coworker's schedules to get an idea of how many meetings people are subjected- to.

<comment><USER54> At my old job every in the office had a TON of meetings, except me. That place got boring really fast.

</comment></comment><comment><USER55> Finally a thread I can share some of my limited(!) experiences!

A company I worked at once told me that I shouldn't be bored, but be happy that I had work and that doing more boring work leads to better less boring work.

I probably should have gone into overdrive mode to find new work but it happened anyways about 1.5 years late. Being boring is not an easy thing to bounce back from when you main retention policy is snacks, soda, and blind loyalty.

</comment><comment><USER56> Relevant: <http://en.wikipedia.org/wiki/Flow_(psychology)>

<comment><USER57> Hah! It is relevant. My manager thinks that I am annoyed when I am distracted from my task at hand. And that is true, to an extent. But I'm really annoyed when he bothers me with trivial minutiae that derail (instead of complimenting) my flow.

</comment></comment><comment><USER58> As someone who's just reached their wit's end at a small startup (I put in my 2 weeks yesterday), I really want to send this article along as a helpful lesson on what not to do with the next guy.

As others have said, some of the points in the article are things I could feel but not articulate. Great lessons to be learned from it.

</comment><comment><USER59> So true. I was bored. And I did quit.

</comment><comment><USER60> Love that this was on top of HN this morning. Personally, step 1 is simply knowing what your employees are doing, what out of that they like, and what they want to be doing. Then jointly develop a plan to get them more of what they want.

</comment><comment><USER61> > _When I ask, I look you straight in the eyes and if you can't stare me in > the face and answer, I'm going to keep digging until you look me in the > eye._

If anybody did anything that psychotic with me, I'd quit and head for saner pastures ASAP.

<comment><USER62> If anybody did that with me, my respect for them would go up 10-fold.. instantly.

<comment><USER63> Yes, waiting for someone's real answer because you care can't be turned on if there isn't a relationship there, but it is the most essential show of respect.

<comment><USER64> Eye contact or lack thereof is a poor indicator of a persons respect. In some cultures it is considered very rude to look your superior directly in the eye, & trying to force the issue will just make people very uncomfortable around you.

</comment></comment></comment></comment><comment><USER65> Didn't read the article yet, but the title is true. I just quit a job two weeks ago because I was bored (and they lacked focus, and we were getting no where fast, etc.)

</comment><comment><USER66> Great post. I sent the link to my manager.

</comment><comment><USER67> Very true, having lots of work doesn't mean its not lots of boring work.

</comment><comment><USER68> Border people who quit are weak-minded.

<comment><USER69> And who don't quit are <https://secure.wikimedia.org/wikipedia/en/wiki/Yes_man></comment></comment>


Explore Cultural Trends: Multilingual word usage stats since 1800  - <AUTHOR> http://www.culturomics.org/

<comment><AUTHOR> The dataset comes from google books in various languages.

Be sure to visualize your own queries at: <http://ngrams.googlelabs.com/>

I've got the info from this article: <http://www.technologyreview.com/computing/26937/></comment>


Safari 5 Official (Press Release Slipup) - <AUTHOR>

I had it up for a second on my iPad and when I went back to read it again after accidentally clicking out it was gone.  I post here often enough, so I'm not hoaxing.  Here is what I remember:<p>-  Google, Bing, and Yahoo<p>-  Uses Nitro JS engine.  30% faster than previous Safari.<p>-  Integrated Safari Reader confirmed. <comment><USER2> BGR managed to get it <http://news.ycombinator.com/item?id=1412283></comment>


Building Quality into Your Projects - <AUTHOR> http://reefpoints.dockyard.com/2014/09/19/building-quality-into-our-projects.html

<comment><AUTHOR> Another post of our's in the same vein [http://reefpoints.dockyard.com/2014/09/12/features-as- busine...](http://reefpoints.dockyard.com/2014/09/12/features-as-business- objectives.html)</comment>


Ask HN: Is there a model for a healthy, long-term API policy - <AUTHOR>

The APIs of companies like Twitter and Facebook seem to have a history of complaints from developers as they constantly change to the detriment of devs and the benefit of the company. There seems to be a cycle of openness at the start to encourage growth and then after some time the company with the API starts to make it more strict and tightens how devs can use it.<p>With all the lessons over the past few years, is there a model now for an API which can better maintain a good dev relationship without really hampering the company with the API? <comment><USER2> This really depends on the type of business behind the API. Transactional API models have worked really well (Expedia affiliates, payment gateways, messaging). It's really only been a problem for providers who didn't properly align their interests with the consumer of the API meaning one side of the equation was getting far more value than they were contributing. This tends to be most common in consumer service APIs.

I wrote a little bit about this here: [http://thenextweb.com/dd/2013/03/12/apis-are-dead-long- live-...](http://thenextweb.com/dd/2013/03/12/apis-are-dead-long-live-apis/)

</comment><comment><USER3> To see a model for this, look to companies with B2B DNA. Facebook and Twitter are used to taking a "PM knows best" b2c approach, not a "customers first" perspective. Salesforce REST is a good example from larger companies (disclosure - my cofounder was one of it architects), and Stripe's API is a great example from the startup world.

From studying these, I found that the best practices aren't all that surprising: versioning, discoverability, and following HTTP standards.</comment>


The radical plan to destroy time zones - <AUTHOR> https://www.washingtonpost.com/news/worldviews/wp/2016/02/12/the-radical-plan-to-destroy-time-zones-2/ <comment><USER2> This doesn't really make our jobs as programmers easier. For example, if I go for a bike ride in the morning, Strava calls it "morning ride". Morning will still be a concept based on the position of the sun, so it will have to look up my GPS data from the ride track, look up the time, and then compute where the sun was in the sky at the time in order to assign a label. Compare this to the current algorithm of mapping certain hours to certain words.

Similarly, if you have your screen on your phone set to turn redder at night, you now need to know your GPS location in order to do that correctly.

If you travel, this is going to be confusing. "What time do people start their workday here?" "When do stores open and close?"

Finally, this still doesn't solve the problem of "what's a good time to have a meeting with people in other locations". You'll still have to calculate your offset to the other attendees and see if they'll be awake at that time.

TL;DR: I'll eat my hat if this ever happens in my lifetime.

<comment><USER3> The program I'm using for setting screen to red during night is actually asking for the coordinates already since the sun rises and sets at different times depending on where you live. It actually doesn't even get above the horizon in some locations on the earth during winter. Where I live we get about 4.25 hours of sun around midwinter.

<comment><USER4> Right. That's an application which actually cares about solar light levels in a region.

Most applications care about local time, because when it's 7 AM in December in northern Montana, you're getting out and going places regardless of how much longer it's going to be before the sun comes up. Local morning is only loosely tied to local sunrise, civil or otherwise.

</comment></comment></comment><comment><USER5> > HH: No it is NOT inefficient. It combines the best of both systems: One > universal time, combined with local work time connected with the sun being > up.

So basically his plan is to rename "time zone" to "local work time", then rename "UTC" to "time zone".

Nice job.

You did nothing, except change the names of things. You still have a time zone, it just has a new name and works slightly differently:

Now instead of the clock keeping track of "local" time, and remembering UTC in your head, your clock remembers UTC, and you have to remember "local" time in your head.

I'm not convinced this does anything useful at all.

Simpler proposal:

All (physical) clocks display two times. Done.

In places with timezones that differ only by the hour you can even make the clock read: 11^8:35:24 - with the number preceding the caret being UTC.

Now the clock keeps track of both things for you.

</comment><comment><USER6> Obligatory reply: [http://qntm.org/abolish](http://qntm.org/abolish)

<comment><USER7> After reading this I changed my mind about abolishing time zones. Thanks.

However, I still think that the time zones we have right now are needlessly complicated. In particular I dislike that they change all the time. zoneinfo is updated several times a year. Why? It makes no sense.

<comment><USER6> It's political, but not necessarily in a bad way.

e.g. a state decides it wants to be on the same timezone as a neighbour so that trade goes smoothly.

or more frequently: in most countries, it's up to individual states/provinces whether they follow daylight savings or not; so there's always a few each year that decide to start doing or stop doing daylight savings.

</comment></comment></comment><comment><USER8> Small battles first, then the war: first show that you are capable of discarding the stupidity called Daylight Saving Time. Then take on time zones themselves.

<comment><USER9> Hear! Hear!

DST is an abomination that needs to go. I wish we could make devices that display the correct time without needing an internet connection.

<comment><USER10> I believe most mobile phone cell towers transmit local time. I'm not sure if you need to be subscribed to a service or not. If not, then you basically only need a cheap GSM module, costing around $10.

</comment></comment></comment><comment><USER11> This involves radically ignoring the human factor in time. Things are still mostly local in daily life, except in the small bubble these men live in.

Next year I'm sure they'll be arguing for decimal time.

<comment><USER12> agreed.

i have tried living on utc several times.

solar days being sunday/monday becomes very disorienting.

<comment><USER13> Ah, I was really convinced by the article but I completely forgot about days. That really makes it a nonstarter.

</comment></comment></comment><comment><USER14> There is something so autistic about this plan that it's just beautiful. So here's a guy who thinks that if we all used the same number everywhere (and abolish local politics! yay! Politics yuck!), everything would be easier, discounting by comparison that:

1\. When we travel, we'd need to learn the local schedule.

2\. When we communicate (say, by phone), we'd have to somehow compute where the other party is on their daily schedule.

3\. Our understanding of global events would become muddled ("today at 15:30 an explosion rocked Tokyo". Was that the middle of the day? Middle of the night?), let alone of historical documents.

4\. We'd need to educate billions who never travel outside their region about the new way the government services they rely on will now be communicating their schedules. I'm sure they'd appreciate the simplicity.

But, hey, we wouldn't miss our flights (never mind that most of the world population can't afford a plane ticket anywhere, let alone to a different timezone) and we'd all use the same number! Numbers are elegant, so if we could agree on a number, maybe the world would become less complicated. Can't we just all agree that the world isn't _really_ complicated, but that icky politicians complicate it by making up their own numbers for "political reasons"?

<comment><USER15> How is their plan autistic? Hanke and Henry seem idealistic, academic, and likely lack a solid understanding of the sociological consequences that make their plan utterly unattainable, but they don't strike me as sufferers of autism.

<comment><USER14> I didn't mean to be taken so literally. I simply meant the tendency to "simplify" the world by reducing away the complexity of people and their concerns and focusing on numbers as if they mean anything in isolation. It just struck me as a very extreme case of what I call "spherical cow social science/politics", which is very attractive to some types. And the problem with their plan isn't that it's unattainable, but that it would cause much more harm than good, because their laser focus has led them to try optimize the wrong things at the expense of many right things.

</comment></comment></comment><comment><USER16> This is so backwards, it's hard to know where to begin...

We already have this universal standardised time he's talking about called UTC. I can set a calendar invite to UTC, and everyone magically gets it in their time zone.

Time zones are useful because they answer questions like: is it a reasonable time to call? Is it during lunchtime there? Is the office open?

Without time zones, you'd need to mentally store information about each place's habitual times in your head instead.

</comment><comment><USER17> Swatch experimentend, not really seriously tho:

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

<comment><USER18> It would have got more traction if they hadn't chosen Biel.

<comment><USER19> That was a ridiculous decision. Perhaps they were hoping that if it did catch on, their company would be immortalized as the new Greenwich. Nevermind that they were only hurting the chances of an already extremely unlikely success. Reminds me of Sony memory sticks and Apply Macintoshes.

</comment></comment></comment><comment><USER20> Destroy the Sun.

All other proposals solve only half of the problems and lead to ugly hacks.

<comment><USER14> No need to go to that extreme. All this idea really requires is to surround the planet with a dome that captures the sunlight, and somehow distributes it to the entire planet to create a single worldwide day cycle.

</comment></comment><comment><USER21> We are not going _ever_ to solve this politically.

What about educating those who need to think in global time about the existence of UTC. This would let us use UTC for coordinating inter-TZ events.

As an example, say I'm in Tokyo and I've got to make a call with someone in California. I could suggest "my 17:00 (8:00 UTC)" and if this didn't work she could reply "Nah, I've got lunch then. What about my 11:00 (7:00 UTC)"? At the same time we clarify our local time (I remember that she eats at my 5PM) and also the absolute time (8:00 UTC vs 7:00 UTC).

I've done this some, and it works. Where it falls down is practice. We simply aren't used to doing it, but we will learn out of necessity.

Instead of implementing a global time zone, let's just learn to use the one we already have as a common language to describe times. This is a distributed, bottom-up solution to a distributed problem.

<comment><USER13> Agreed. This movement should be replaced with a movement for remote teams to use UTC as their reference time. Right now, we use headquarters time, but less than a third of the company works there, and no one in the other 2/3rds of the company is used to translating to that time zone. Every programmer has some experience translating to UTC, and if we make it the standard for remote teams, everyone will get used to it. Fewer mistakes will be made.

<comment><USER22> Does the average American know their UTC offset?

I ask as I doubt the average British person would know, and it's zero for part of the year, and +1 for the summer.

But Americans have multiple time zones in their country, and we don't.

<comment><USER13> No, only the average American programmer. Most others wouldn't know what UTC is and haven't had to think about GMT since elementary school.

<comment><USER23> Which would mean time zones do actually work really well for most people, right?

</comment></comment></comment></comment></comment><comment><USER24> That the article mentions airlines using UTC is a good insight. When there is a need to coordinate amongst international actors, then the importance of a globally shared time system can be agreed. But that's complete overkill for making plans to meet your friends for dinner, because a local frame of reference is the only time that is going to have meaning between you. I think the way it works now is pretty decent. Most globally coordinated systems already use UTC. You're already using it to store your database records, aren't you?

If rogue states decide to monkey around with their clocks, well I don't know. Half joking, but maybe we should just turn up to those meetings late?

</comment><comment><USER25> How would you deal with the fact that the "day" (Monday or Tuesday, for example) could change at any time? Delaying a "meeting on Monday" by an hour could turn it into a "meeting on Tuesday"!

</comment><comment><USER26> The problem they are addressing is already solved. Simply say at time X Y, where X is the time and Y is the offset, preferably an established offset.

 _We meet at 12:00 GMT_

 _Done_

Everyone only needs to remember one number, their local offset to GMT. If someone uses an, to the receiver, unknown offset, then look it up and do some first grade math.

<comment><USER3> This is very hard when you first have to explain what timezones are for some people (no countries mentioned...). When I was playing MMORPGS most, 10 years ago this was the main problem to set a time for a quest.

</comment></comment><comment><USER27> Yes please! I can't even count the times anymore when we had someone over from London and had problems with the 1 hour difference in making appointments. Luckily, Outlook does a lot of the calculating, but then, you take a look at your watch when you arrive in a different time zone (which is just a short time of travel away) and boom, you're off again.

Just define a "Indicative start work time" for every place, like what would be 9:00 today, or something similar to align events during the day with the locals.

<comment><USER28> Between outlook, phones synchronizing time automatically and [https://www.timeanddate.com/worldclock/fixedform.html](https://www.timeanddate.com/worldclock/fixedform.html) being available... how do those issues happen? I mean, what's the process that leads to 1h mistake? I'm seriously interested. Having moved to both extremes and the middle of timezones, I don't think I ever had an issue with that.

<comment><USER27> You fly over from Londen to Amsterdam, having scheduled something at 16:00, which is in the agenda of the other person as 17:00, but then you check your analog watch. True, it would go well when you would've checked your smartwatch.

<comment><USER28> > but then you check your analog watch

Ah, I see the problem :)

<comment><USER29> Yes, I see the problem, too, but I suspect it's a different problem from the one you're seeing. I'll explain...

I suspect the problem you're seeing is, "analogue watch". That's not the problem. (Forgive me if I have assumed wrongly! ;)

As every frequent traveller should know, if you have a watch (any technology) that does not self-adjust (for some value of "self") then it is strongly suggested that you adjust your watch to you _destination time zone_ the moment you get on the plane.

This has long been known, so the problem really is "person who unwittingly failed to adjust their timepiece to their destination timezone".

<comment><USER28> I'm looking at it from the UX / motivation side. There's no trigger to change the time manually and people are great at forgetting things when there's no external stimulus. I see the issue not as people failed to adjust their timepiece, but as people relying on technology which relies on them to remember to do actions after events which they passively observed. (plane landing)

Theoretically it's the same thing, but in practice "don't make me think" applies. If we can make watches adjust themselves, it's a really good idea to do that.

<comment><USER30> _There 's no trigger to change the time manually_

When you land there is usually an announcement: "welcome to [city], where the local time is [time]."

</comment></comment></comment></comment></comment></comment></comment><comment><USER31> I guess these folks don't read xkcd: [https://xkcd.com/927/](https://xkcd.com/927/)

<comment><USER19> They're not proposing a new standard, they're proposing using UTC everywhere which is what lots of people already do. It's not a new standard, just removal of existing standards.

That's just the time zones. I don't understand their calendar and if that's somehow necessary to make it work. At first glance, the calendar seems more confusing than our current one.

<comment><USER32> > they're proposing using UTC everywhere which is what lots of people already > do.

"A lot of people"? I use UTC for a lot of things, because I'm writing code.

But when I travel, I certainly don't use UTC everywhere; my phone shows me the time for "Roaming" and "Home", and that's incredibly useful for me to guess at e.g., what time to break for lunch, when we're nearing close of business hours, when I ought to get to bed so that I get a good night's sleep, etc..

I suppose the really crucial "standard" we're talking about is the associations we have with different times, and timezones are the (official) attempt to keep that meaning consistent around the world.

I doubt it'll work -- partly just because to make this shift:

\-- everyone who operates mostly locally would have to relearn those time meanings (all except the English... Hmm; why are they the only ones who don't have to suffer? Perhaps the new "fixed" time should be based on the most _populous_ time zone)

\-- everyone who switches time zones regularly will have to learn a new set of time meanings for _every zone they travel to_.

To be sure, the second set of people have it hardest (until the phone apps catch up and provide that info automatically). But the first group of people -- the vast majority -- will make sure this doesn't happen easily.

</comment></comment></comment><comment><USER33> This won't happen because there is still a need for a local time reference.

</comment><comment><USER28> > Nepal is –inexplicably – the only country in the world to have a time zone > that is set to 45 minutes past the hour.

What? Australian Central Western Standard Time +8:45; New Zealand, Chatham Islands +12/13:45

[https://www.timeanddate.com/time/time-zones- interesting.html](https://www.timeanddate.com/time/time-zones- interesting.html)

<comment><USER19> ACWST isn't an official timezone and only a few hundred people live there.

[http://www.howderfamily.com/blog/australias-weird-little- tim...](http://www.howderfamily.com/blog/australias-weird-little-time-zone/)

Chatham Islands is a bit of a mystery. Again, almost nobody lives there but it's a dirty stain on lists of time zones.

<comment><USER28> Official enough for me ;)

        /usr/share/zoneinfo/Australia/Eucla: timezone data, version 2, 5 gmt time flags, 5 std time flags, no leap seconds, 19 transition times, 5 abbreviation chars

Seriously though - if people are using a timezone, it exists. We may call it unofficial, but that doesn't make it go away.

</comment></comment></comment><comment><USER34> I've talked about this with lots of people over the last 10 years or so. Most people I know (non-programmers) look at me like I'm crazy when I suggest that this is a good idea. I don't think that most regular people see a benefit to this, and since there is cost associated with change, the idea is unpopular.

The thing that strikes me most about this proposal is that they are looking for a top-down solution. We already have UTC, it doesn't need to be invented or implemented, just adopted. Maybe a bottom-up approach will have more success?

If you look at a country like the US that still doesn't use metric, it's hard to imagine having world governments adopting a change like this. I guess there is always hope though.

<comment><USER35> > If you look at a country like the US that still doesn't use metric

Like? Only the US. All other countries _converted_ to metric at some point.

Same with time zones and DST. Those weren't made by God on the sixth day, governments made the migration to them deliberately.

<comment><USER36> Liberia, yay!

</comment></comment></comment><comment><USER37> I wish a week were consisted of a number of days divisible by more numbers instead of a prime number (7). If a week was 12 days, we could do a routine every 2, 3, 4 or 6 days and it would still be the same day every week. E.g. If I wanted to run once three days, I could do that on every 1st, 4th, 7th and 10th days and it would fit the week perfectly or if we want to do a regular business meeting twice a week, we could do that on 1st and 7th days and the number of days in between would always be the same. Our schedules would be so much more neat, which could potentially yield to much more order and productivity.

</comment><comment><USER38> A modest proposal: if you are a Googler, lobby to have the clocks on Android phones display local time with UTC in small print below (or wherever makes sense in the UI). A political solution is a non-starter, but if this change can be quietly pushed out to millions of users, people will get used to the idea of UTC.

IMHO, UTC = "Business Time", so if people just got in the habit of using UTC for conference calls, travel, etc, that would be a win. Local time will probably never go away, we are too used to the idea of solar time.

</comment><comment><USER39> >This map at the top of this post gives you an idea of what the world looks like now, and what it would like if we instead stuck to single system of Universal Time.

It was not necessary to show a map of what a single time zone on a map looks like :)

</comment><comment> guard-of-terra I think we should totally adopt blockchain time. Typical time will look like "be03d0988bfa799f7d7ef9ab3de97ef481cd0f75d2367ad456607647edde665d6f6f and sixty eight seconds". Very convenient and also VC backable right now.

<comment><USER40> Dibs on the name Clockchain. We're fully logging every second that elapses. You'll be able to verify how many seconds were in every minute, how many minutes were in every hour, etc. Very handy for generating test cases that expose subtle bugs involving leap seconds. Check us out at clockchain.io.

</comment></comment><comment><USER41> How about we destroy the daylight saving time first, and go from there?

<comment><USER42> I came in to say exactly this. If we can't even get rid of something that is absolutely outdated in the 21st century like daylight savings time, then there is no shot at switching to UTC globally.

<comment><USER43> Those living in Scotland might disagree that the 21st century has done anything to remove the need for DST.

</comment></comment></comment><comment><USER44> Seems to me anybody who wants to switch to UTC can simply do this. If aviation people can already do this so can any other company that may find an advantage in it.

</comment><comment><USER45> This is something so radical that I can't imagine in my wildest dreams that this ever will be implemented. Concept of extra week is just ridiculous.

</comment><comment><USER46> I'd imagine abolishing time zones would add billions of dollars in developer productivity back into the economy, doesn't seem like that bad an idea.

</comment><comment><USER47> I don't believe we'll ever destroy timezones on Earth but will we introduce timezones on other planets we colonize?

</comment><comment><USER48> Utc everywhere, yesterday please</comment>