The iPad is the new IE6 - <AUTHOR> http://blog.millermedeiros.com/2011/01/ipad-is-the-new-ie6/ <comment><USER2> The title is totally unfair. If iOS 3.x was still widely used in 2020, then the title would be justified.

> HTML wasn't created for dynamic/interactive content, it was created to > present academic documents.

Yep, and the internet was not created for porn, PTFE not for cookware, etc. Technologies evolve.

> JavaScript performance on iOS is 100x worse than desktop.

No doubt and that's unlikely to change. iPad uses about ~100 times less power than typical desktop.

> Canvas performance on iOS is so bad that it is barely usable.

Not hardware accelerated == slow on mobile. Hopefully the canvas will be accelerated, too.

> A lot of people don't upgrade their software, iOS 3.2 is completely > different than iOS 4.2 and you should support both.

Should you? We are talking about consumer devices. I think it's totally fair to ask the user to upgrade their platform (OS/browser) to get new features (it's free!). That's what Apple is doing, anyway.

> The iOS simulator is different than the actual device.

I agree, would be nice if it emulated the actual performance of iDevice.

> It is very important to note that every single Webkit browser works > differently and --

That's the curse (or blessing?) of an open source project. Still, WebKit browsers (eg. Chrome / Safari) differs less than totally different browser engines. Would you be happier if Chrome had come up with their own engine?

> \-- that older versions of the iOS has many bugs and missing features (the > new ones as well).

No shit?

> Chrome and Safari have a bunch of rendering problems related with HTML5 > video and CSS3 as well when you start overlaying content and adding CSS > transitions.

No doubt. That's the price you pay for having multiple implementations of (loose) spec created by multiple participants. Which is still _far more_ better situation than having one closed implementation created by a single company for few selected platforms (partially substandard runtimes).

> Android 2.0-2.2 also have many bugs related with HTML5 video.

Not iPad's fault.

> Apple bug tracker sucks, you can't even see if anyone reported the same bug > before, I won't post anything there because of that and because I don't > agree with the company policy… -

Apparently Apple too suffers from "big company" syndrome.

> If you are a jerk, I will be a jerk with you as well…

Nice attitude.

> If it works well the end user will not care about which technology was used > to create it.

Users have no clue, no news here.

> Don't believe in keynotes, even better, don't watch them…

Whether you consider it "amazing" or not, arguably Safari for iOS offers the best browsing experience today in its class (handheld devices) and Apple has advanced HTML technology a great leap forward.

<comment><USER3> The analogy to IE6 is based on both requiring substantial duplication of effort in order to render the page similarly to its appearance in other browsers and to provide like functionality to web sites. It seems to me that in part, Apple's intention is to make it less troublesome to develop and maintain an app than it is to develop and maintain a rich media website which handles iOS gracefully through the deliberate incorporation of incompatibilities in the iOS browser (e.g. no Flash).

[edit] incompatibilities are different from non-compliance with standards.

</comment></comment><comment><USER4>
      > People complain that Flash has bugs only because they
      > never tried to do anything "complex" using HTML5 video
      > on the iPad

Yeah? So if one tries to do something complex on iPad, will Flash bugs disappear? Or will people stop complaining about them?

I guess neither. Just another pointless rambling with little sense. Author mixes many things without the proper understanding of some. Was this article about iPad, or HTML, or CSS, or Flash, or …?

I am not sure how this even got upvoted. Take this:

      > I'm saying that the iPad is the new IE6 because we are
      > expecting it to be something that it isn't,

Who is expecting what exactly?

> the same way that we were expecting that IE6 would have > the same > features/performance/reliability than the latest > versions of > Firefox/Safari

What does that even mean? IE6 was released years before even first releases of Firefox and Safari.

      > It happened with IE6 and it is happening with the iOS
      > Safariright now.

No, it's not. Safari is not stuck with 10 years old version, and Safari team is not disbanded, unlike IE team.

Flagged.

<comment><USER5> If it wasn't for the "Flagged." I would have upvoted you.

The post has some real issues, but I also find it raises valid concerns. Supporting iOS/android/other devices can prove to become a real pain. OTOH the lifespan of these devices are most likely to be far shorter than corporate desktop computers, and IT departments won't have an option of installing older versions of the browser on new devices.

</comment></comment><comment><USER6> I'm not sure a browser's <video> tag not supporting all the features this guy wants makes the iPad "the new IE6." Seems more than a little hyperbolic to me. <video> is one of the shakiest parts of HTML5 in general, particularly with the whole codec thing.

<comment><USER7> That comparison is just badly chosen and unnecessary [0]. He argues that some aspects of iOS are a little bit like aspects of IE6, not that the "iPad is the new IE6". Writing that as the headline is just asking for trouble and will only lead to people not discussing the substance of your article but screaming at each other.

I'm all for just ignoring that comparison and focusing on the substance of the article. Please. (Because the substance, unlike the comparison, is actually interesting.)

[0] Some would call it "linkbait". And yes, this was a very lame attempt of trying to get away with using a word I usually hold in contempt. Shame on me.

<comment><USER8>
      > this was a very lame attempt of trying to get away with
      > using a word I usually hold in contempt

Why not use a more general term then? Surely this practice pre-dates the internet (and therefore also the term 'linkbait').

<comment><USER7> Sensationalism and hyperbole are probably the right words.

</comment></comment></comment></comment><comment><USER9> Video I can actually live with. People seem to be willing to click _something_ in order for a video to start playing, regardless of what the app in question is doing.

It's Audio that is the killer oversight. Just like Video, Audio can only be played on iOS Safari as the result of a user click. They don't have to click the play button specifically, but they have to click _something_.

That means you simply can't write a video game that has sound. Every clip needs to be "prepared" with a user action that you convert behind the scenes to a .load() so that it can .play() when you want it to. And if you "prepare" a different clip, you can no longer play the first one, except as the result of a new user interaction.

Add to that the bonus that you can only play one clip at a time. And that iOS tosses them out of memory every time you load a new one, and suddenly your rich, interactive presentation, game, or whatever is reduced to a boggy buffering-screen-having mess.

I wish we could hope for them to fix it in future versions, but the opposite is the case in practice. Up until iOS 4.2.1, there was a nice workaround that got your audio/video clips playing in some cases. iOS 4.2.1 specifically addressed that loophole.

<comment><USER10> I understand where they're coming from - browsers shouldn't let websites just play sound automatically because it is annoying as hell. I _hate_ Flash sites that do that. So drawing the line somehow is tough, I guess.

<comment><USER11> So why not ask the user for permission to play audio? It's already being done with geo-location and storage.

<comment><USER12> Submit feature request.

</comment></comment></comment></comment><comment><USER13> I am probably in the minority on HN thinking this, and it's a pity that there is no chance of this ever changing, but lets go with it anyway:

HTML, CSS and JS are a very bad way to create websites today. It could be worse, but it's bad enough. They were decent once, when we didn't need them to the extent that people are using them today.

As others have mentioned, the signs of this problem is when people are writing language X to language Y converters to accomplish the same job, because language Y is detestable. This would be your HTML, CSS and JS. Tools like HAML, SASS and CoffeeScript are a very good sign of this.

For myself, there are two things that are really pissing me off: 1) Lack of security by default, 2) Lack of choice in client-side scripting. I am at the whim of JavaScript which is pretty terrible. Of course, there is no hope of anyone producing a browser that offers an API, and a set of languages that can access that API. So it's just JS. That's _fucked_ to me. I have more gripes but I'd like to keep this post short.

On the server side, it's easier. We have more choices, because our clients are not tied into a specific server technology; I used to write PHP, but since then I moved on to something that's a lot more thought out for serving webpages. MVC is the ideal for this kind of thing. The server will give the browser what it wants, and this does not concern the customer. On the browser end? We are screwed. There is quite likely nowhere to go.

Unfortunately, we have four big companies (Google, Microsoft, Mozilla and Opera) pouring in a lot of money to keep this technology afloat. And it's very sad. These companies should be leading the way, not holding back technology.

 _Very_ sad.

<comment><USER14> I agree completely. Javascript is just a bad language(1), and HTML and CSS are fundamentally unsuited for the kinds of apps that we're using them for. After years of effort we've managed to get to the point where they sort of work, but it could have been much better.

(1) Yes, I know the cool things you can do with closures. Python and Ruby do them too, without the insane misfeatures like default global scope and bizarre implicit type conversions.

<comment><USER15> > Python and Ruby do them too..

Ruby has decent lambdas/closures, but Python absolutely does _not_. Its lambas are horrifically limited. Because of that alone, Javascript is a much better at functional programming than Python.

I agree that default global scope is a misfeature, but the solution is trivial --declaring variables--which I think makes the language much more readable anyway. I quite dislike the Python style of coding in which the local variables are just causally used without listing them somewhere--it's too easy for things to get lost. On the other hand, maybe I just need better syntax highlighting? The new "use strict" should completely fix accidental globals, as I understand it.

People complain about the implicit type conversions but I'm not sure I've had that pose a problem in real life and I've written my share of Javascript. I'm not even sure what that kind of bug would look like. I'd love an example.

<comment><USER16> I don't agree with your assessment of python closures. Just because you have to name all inner functions doesn't mean they're not proper closures.

</comment></comment></comment></comment><comment><USER17> The iPad/IE6 part is just thrown in for shock value. HTML5 not supporting everything this guy wants has nothing to do with IE6-like crappiness.

<comment><USER18> I've been developing a PhoneGap app using JQuery & LessJS on the iPad now for 3 weeks straight. It is an absolutely amazing experience. It is nothing like the nightmare of developing for IE6, even when IE6 was considered the best browser.

</comment></comment><comment><USER19> At least the iPad is being updated frequently, and nobody's stuck with an old version (except original iPhones...), unlike IE6 was.

Sidenote: This blog's highlight color is green on black? Ick.

<comment><USER20> Lots and lots of users don't upgrade. I can't find it right now, but one iOS dev did a story on fragmentation in that camp based upon their own metrics, and it was scary. Perhaps this will resolve if they start doing OTA updates.

User "error" for sure, just putting that out there. Just because Apple makes updates available doesn't mean that most users have installed them.

<comment><USER21> The iOS dev that saw major fragmentation would have an interesting story on his hands. Statistics I've seen indicate that %90 of iOS users are on 4 or greater - [http://www.maclife.com/article/news/nearly_90_percent_iphone...](http://www.maclife.com/article/news/nearly_90_percent_iphone_users_running_ios_4_0).

<comment><USER20> [http://www.droidsector.com/blog/2010/12/02/android-and- ios-f...](http://www.droidsector.com/blog/2010/12/02/android-and-ios- fragmentation/)

I'm not sure if the bump numbers are broadly relevant: who is the average user who will be running bump? It isn't a general iPhone user, but instead is a technologically savvy individual usually in a place like San Francisco. There is no relevance there to the broader market.

</comment></comment></comment></comment><comment><USER22> > I'm saying that the iPad is the new IE6 because we are expecting it to be > something that it isn't, the same way that we were expecting that IE6 would > have the same features/performance/reliability than the latest versions of > Firefox/Safari.

This makes no sense, IE6 was released 3½ years before the first version of Firefox, and was really the _best_ web browser at the time.

<comment><USER8> This just sounds like the author came into the mix long after IE6 starting showing its age, and knows nothing except for people complaining about how much it sucks compared to the latest versions of Firefox and/or Safari.

The analogy still falls flat on its face because what people expected IE6 to be (by the time Firefox and Safari were around) was _improved/updated_ , which it wasn't because Microsoft disbanded the development team (and only decided to get back into the game when their dominance started to crumble).

</comment></comment><comment><USER23> The <new popular thing> is the new <old busted thing> is a great way to get up voted.

Here are some candidates I could try.

 _Android is the new Ford Pinto_

 _Facebook is the new Absolute Monarchism_

 _YCombinator is the new Standard Oil_

 _Tesla Motors is the new Netscape_

 _Cerulean is the new Azure_

<comment><USER24> X is the new Y is the new Top 10 List Blog Post.

<comment><USER25> Does that mean this would be the ultimate linkbait heading: _"Top 10 Xs that are the new Ys, plus puppies."_

<comment><USER23> _Top 10 Xs that are the new Ys, with benchmarks vs Redis, Mongo and MySQL!_

<comment><USER24> Top 10 Xs that are the new Ys with benchmark vs Redis, Mongo and MySQL and why it proves google is evil.

</comment></comment></comment></comment></comment><comment><USER21> He's a little bit late to the punch here - if we're on the eve of another iPad announcement, which we probably are, every area of performance will probably see significant improvement (Apple typically adopts the best ARM chips available, which is probably a dual core chip now).

He makes a very interesting point, though. The current generation of media tablets are exceptionally slow devices that could easily be in use for four or five years. I think users may expect the lifecycle of these devices to be closer to a TV or PC (say, 3 - 7 years) than a phone. As HTML advances to be capable of everything that Flash is now capable of, developers might be held back to target devices that are roughly equivalent to a 10 year old PC.

</comment><comment><USER26> Yes and no. Web Apps are not only about videos. It's a new addition to the HTML5 toolbox and you can't judge that quickly. Let browsers first work more on it.

However, don't overlook HTML, JavaScript, CSS, HTML5 that quickly. Look at companies like Sencha, they have built extremely great and stable products with JavaScript. Not that stable, but they are still great.

Flash is cool, too. But I think only if used in its' own. Try to look at activeden.net and some samples of XML websites and you'll see how amazing they are. JavaScript isn't a thousands mile from it, but if Web Developers were using the best practices and improving their JavaScript code, their pages will be lighter and they'll have better performance.

But why target the iPad? Steve says what he thinks will convince his audience and sells more iPads. He's a much more of a sales man. He's trying to attract developers to HTML5 since it's the only way to kill Flash and get HTML5 to the top.

My Opinion: It's very good. I want diversification. Everyone uses a different platform and built something elegant. I don't like censorship of any of its' kinds. (like banning flash apps or websites, though, it's still an Apple decision). Let everyone decide which platform he wants to use, let him decides his target audience, his business model and make happy customers.

</comment><comment><USER27> Beyond the question of the iPad, I have to object to promoting a blanket attitude that web developers should shy away from pushing out progressive web technologies just because they aren't yet tried and tested and may not work perfectly on every device.

Although the web's evolution is lightly governed by a slow moving standards consortium, it's really the hackers that push the cutting edge to become new standards that any browser needs to stay relevant. If the developer community shies away from pushing new technologies out of fear and inconvenience, the pace of progress slows. I don't want that to happen.

I applaud the bigger players taking steps toward progress even when it's an investment with not much visible payoff at this point. (cf. HTML5 support on Youtube)

Just remember to know your audience, but don't be afraid to nudge them if they're missing out on something in a legacy browser. Use progressive degradation but don't have too much remorse if there's no legacy alternative and you have a saavy audience.

We're talking about websites, not missile guidance systems. Take risks. In an open system things aren't perfect, but if we stop, things stop moving.

</comment><comment><USER28> The problem with IE6 (now) as the lowest common denomination is the lack of upgrades. It wasn't a bad browser when it launched but it sure is now. I don't see there continuing to be a significant share of MobileSafari 3 or 4 in the coming years. People upgrade. So the analogy is unfair and misrepresented.

</comment><comment><USER29> _"The iPad is the new IE6"_

I disagree, there are worse mobile browsers. I'd say Opera Mini is the new IE6, the lowest common denominator. Try to make anything slightly interactive for Opera Mini, you'll never sleep again.

</comment><comment><USER30> OP's rant seems ranty. But if anyone's project is having serious specific problems with HTML5 video on iPad Safari, please file bugs and post the links, I'll do my best to get them looked at.

</comment><comment><USER31> Aha! So Safari is the new browser that everyone hates because it doesn't adhere to standards... because it only adheres to standards? I think the author actually has a reasonable point, but he lost it by making a totally inflammatory and inaccurate comparison to IE 6.

</comment><comment><USER32> There is similar blog entry I had written, about mobile web browsers and Internet Explorer;

<http://io.kodfabrik.com/2010/09/23/ie9.html> (Thoughts on IE9 and Teleportation)

</comment><comment><USER33> I don't know about iPad and IE6 but what I know is that this site (millermedeiros.com) does not react properly to zoom (CTRL++): the page widens but the font size does not change!!

It's therefore incredibly annoying to read from a distance.

</comment><comment><USER34> He talks about interactive video - what does it mean for video to be interactive?

<comment><USER35> Probably the way youtube videos are interactive, you click to close the ads.

<comment><USER36> I'm betting he's probably talking about features like having a queue, embed code popups, tweet from within the video and things like that. Such features are considered "basic" in any decent interactive flash based player.

For your YouTube example, don't look at the player while the video is playing... look at the interface between videos. That's an interactive video player.</comment></comment></comment>


The No Lock People (2010) - <AUTHOR> http://www.nytimes.com/2010/01/14/garden/14nolock.html

<comment><USER2> I'm a lock person and always will be. I grew up in NYC in a high-crime neighborhood. I remember more than one occasion when burglars were outside my door trying to bump the locks open and I would be going behind them relocking my locks with a knife in one hand and the phone in other, screaming that I was calling 911. They'd also try to pry the door apart (heavy steel doors & frames are a fantastic investment) at least once or twice a year, even today with it being a nice neighborhood.

That said, I don't blame the logic of no lock people. Burglars are going to find a way in if they are motivated enough. I live in a mostly no-lock area (cars, homes) and people make fun of me for always locking up, but I'd rather at least employ a minimum amount of security (I actually usually go overboard) to none.

</comment><comment><USER3> I live in a major US city. The biggest deterrent I have is living in a fenced in apartment building accessible via a narrow, steep hillside stairway. Burglars just never bother.

</comment><comment><USER4> Robbery is an excellent way to get yourself shot here in NH. I'm just saying...</comment>


Ask HN: 5th Grade Science Fair Project Ideas - <AUTHOR>

Last week someone asked about good college science fair ideas so I thought this might be a good place to ask about 5th grade science fair ideas. The neighbor boy has asked me (being the neighborhood geek) for a good science fair idea. He's a bright kid and could tackle a somewhat complex project. The complication: it's due Wednesday, he asked his mother to call me about it two weeks ago and she didn't - until one hour ago. So, any good ideas that can be done on such short notice? <comment><USER2> My most successful middle school science fair had me experimenting with different liquids to see which would exhibit the most capillary action. I made it a little more scientific by using different concentrations of sugar water, but he could also use juice or soda or things like that.

Seriously, though, the kid should be expected to come up with ideas on his own. Go through his science book with him and see what he's learned about that's most interesting to him.

</comment><comment><USER3> Genetics Research:

 _Pedigree Analysis: A Family Tree of Traits_

[http://www.sciencebuddies.org/science-fair- projects/project_...](http://www.sciencebuddies.org/science-fair- projects/project_ideas/Genom_p010.shtml?fave=no&isb=c2lkOjEsaWE6R2Vub20scDoxLHJpZDo1Nzg4ODU2&from=TSW)

Materials and Equipment:

      Paper

      Pen

      Access to a photocopier (optional)

<comment><AUTHOR> This one's a pretty good idea. His family is _huge_ (both sides of his family have their reunion in my barn, so I know) so he should have plenty of data. I didn't know the thumb business was a Mendelian trait.

<comment><USER2> I can actually see a 5th grade teacher nixing this one because it seems to encourage drawing conclusions from research rather than a hands-on experiment.</comment></comment></comment>


An ad free, mentally healthier alternative to social media - <AUTHOR> https://get.thread-app.com/?t=1 <comment><USER2> I like the idea of a paid social network, that removes tracking and ads, focusing on quality engagement versus quantity.

There are a few of these already, what makes this one unique?</comment>


Technology changed product placement - <AUTHOR> http://www.engadget.com/2014/10/22/technology-changed-product-placement/

<comment><USER2> In the late 90's I had a Battlebots team and we made it to the televised finals several times (and we were on Robotica a TLC show). The interesting bit was that if you were on national TV, you could get a sponsor who would, in exchange for their logo being on your T-shirt, provide consulting and sometimes components for your robot. It was an interesting negotiation with the production company as to whether or not they would 'blur out' the logos or not.

This technology would let them make their own deal with some company and put that logo on their instead, even if the competitor didn't like the team. Can you imagine Nascar where the lead car _always_ has an STP Oil Additive sticker? That would make it hard for a competitor to negotiate with sponsors, or perhaps even _get_ sponsorship. Code that erases the Nike 'swoosh' in every frame? No problem.

It also is interesting that it can cut Google out of the loop. I've wondered how Google deals with people who put their own "direct" advertisement in their Youtube videos while Google tries to monetize them with popup ads. Does Google start blurring those 'integrated' ads out?

Going to be interesting, that is for sure.

</comment><comment><USER3> It is an interesting concept when applied to large groups (e.g. different countries get different adverts), however I struggle to see how it would be applied to smaller groups (e.g. age ranges, genders, etc) like the article suggests.

Be it music videos, TV shows, or movies they're all delivered, right now, to single large groups of people all at once. Almost every delivery medium (e.g. YouTube, Cable TV, iTunes, etc) would need to have on-hand two dozen different versions to make sure everyone gets their most appropriate ad. Seems unrealistic.

I wouldn't say this kind of dynamic advertising is impossible, but the technical hurdles to deliver different content to different groups seems extremely costly and complex.

So we might see some of this in the coming years, but the hopes of this company are clearly unrealistic.

PS - This is clearly a press release by Mirriad (the company behind this)

<comment><USER4> It is not really all that hard to create all of the combinations for various ads. You can cache the optical flow[1] analysis of the source video. The optical flow won't change since it is determined by the source video. Then you layer in your ad projection, render with final result with the ad and the source video together and finally concatenate the rest of the video that didn't require projection.

Being that the screen time for these ads is quite short in comparison to the entire video, and the start and end times of visibility would be known for each ad placement you can just splice together the actual targeted video and not worry about the other parts of the video that don't have placements. Of course Mirriad may not be so heavily optimized yet in the workflow, but hey, they'll get there and it is only a few perl scripts with calls to ffmpeg anyways.

As for the servers needing to store different versions of the video a few points:

1\. Storage is cheap, bandwidth or CPU is expensive. And we're billing the advertiser. Re-rendering videos for adaptive streaming is a cheap cost and there isn't generally a real time requirement. 2\. If you don't want to store multiple versions and are using HLS for streaming delivery, you can just splice together the playlist of multiple optical flow rendered segments with EXT-X-DISCONTINUITY.

The problem is delivery via Youtube and being able to do fine grained consumer targeting. It would be better to be self hosted so you can use the various consumer targeting services like BlueKai and not have to build an entire segmentation platform.

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

</comment></comment><comment><USER5> Jokes from 90's animated comedies coming true.</comment>


90 book categories where indie writers are most successful - <AUTHOR> https://www.kindleranker.com/articles/self-publishing-90-categories/ <comment><USER2> Note: all Amazon links are affiliate links.</comment>


Forget Zoom: Skype unveils free 'Meet Now' video calls - <AUTHOR> https://www.tomsguide.com/news/forget-zoom-free-skype-meet-now-works-without-signups-or-installs <comment><USER2> Forget both and don't be fooled. Two wrongs don't make a right, Use at your own risk.

</comment><comment><USER3> Video quality still look like real player in 98?

</comment><comment><USER4> Between Charybde and Scylla. No, thanks.</comment>


Ask HN: How are you tracking your tasks? - <AUTHOR> I'm looking for recommendations for either habits or software (I'm primarily using Android and OSX these days) that I can use to make myself more effective.
I find the process of breaking down my workload and personal life into small tasks that I can accomplish changes things.  I feel like I got something done.  I can see progress on daunting big ticket items.  I think about the bigger picture a little bit more.
But I haven't found a way to actually track my tasks that I find acceptable.  I tried emacs org-mode.  It's good feature-wise, but I simply don't use it consistently, and sharing what I'm up to requires others to have emacs and org-mode installed.  Outlook task tracking, meh.  Keeping a onenote file up to date... it just doesn't happen because I don't live in onenote.  Jira works for software tasks, and maybe if I ran my own jira instance instead of the outdated/permissions-restricted version that I have access to at work, I would like it better.
I've looked through the Google Play store and I've done some googling.  Everyone and their brother wrote a task-tracking app sometime in the last few years.  I'm having trouble sorting the wheat from the chaff.
What do you use?  What habits have you developed that keep you productive and help you communicate your workload status? <comment><USER2> Make a list on some app or on a paper pad.

I use Google Keep for simple todo lists like grocery or things I have to do for short duration.

For bigger long term projects I like Trello

<comment><USER3> I used to have a yellow legal pad that I'd make lists on. Cross items off as they were finished (always very satisfying) and add new things to the bottom. When the page was full, too ratty, or whatever I'd rewrite the page. Towards the end (I use Trello.com now) I had two columns to sort things.

</comment></comment><comment><USER4> Many of my clients use JIRA. If you are in a situation where you have good support for tools internally and need to interface to contractors and consultants on a regular basis, JIRA will almost certainly do what you need. BUT you'll need a JIRA guru to put it to use properly.

I've looked for simpler solutions for cost-sensitive clients who need only a basic kanban board for task tracking. I've found that Freedcamp has a very usable free tier and a usable UI. It's simple enough that nobody involved in the scrums needed any training or support. I'm sure there are others that are just as good but the difference was that the free tier wasn't so restricted as to be useless.

</comment><comment><USER5> Same as you, I tried a bunch of various to-do list apps before but none of them worked out well for me.

Then I realized that the process of breaking down workload and personal life into small tasks does not fit well in a to-do list app context.

What worked for me was using something like BusyCal, which is a souped-up calendar. It was more aligned with the 'breaking down' process because I used the 'banner' feature to help me define my weekly goals then I proceed with tasks assigned with specific chunks of time.

I then track the planned vs actual time spent using letsfreckle.com, which is a time tracking tool.

For the more higher-level stuff (ie. monthly goals, yearly goals), I just keep them in Trello.

As for habits, I have a weekly review to check where I am vs monthly goals and I also use that review to allocate tasks into my calendar.

</comment><comment><USER3> I use Trello.com (and have for about 4 years) for tracking all of my work tasks (from coding tasks, to making sure I reply to someone, misc things, and more). If you're not familiar with Trello, think of an online kan-ban board. They have a great web app, but also iOS and Android apps.

I have Trello organized with the following boards (from left to right on the screen):

"Thing to Do" \- This is really my inbox. While I tend to make the cards in the list they need to go, if I just don't know I place it here. About once a month I go through it to make sure nothing has fallen off my radar that shouldn't or more importantly see if I can just delete it because it doesn't matter.

"Priority Tasks" \- These are bigger tasks that I know are things that need to get done as workflow permits.

"Doing" \- What I'm currently working on. Usually 5-10 items depending on dependencies.

"Dated Boards" \- At the start of each week I create a new board with the title of being just the date. All tasks that I complete that week go onto that board. For really long tasks I may copy a card and keep it in "Doing" but put a copy in that weeks board.

Trello also has card labels, think colored flags to identify things quickly. I always have the following labels:

Red - Critical, e.g. an emergency task that takes priority over all things. Orange - Urgent, can wait, but not long. Yellow - Time sensitive, I don't always use the date feature on Trello cards, so I use the yellow label for things that need to be done by a set date Blue - Big tasks or Big wins. I want to be able to find in past week when I had a big win. Green - Interdepartmental dependency, either someone else needs this from me or I need something from someone else.

At my current job I can see back nearly three years what I did week to week. I can quickly search to see when something was done, or browse it. But more importantly it's easy to make a Trello card and once it's in Trello I can easily organize my time and tasks.

<comment><USER3> One other thing I really like about Trello is it's extremely flexible so you can tweak how you use it over time as you use it more.

<comment><USER6> I was also big on Trello for a good while, but wanted to come away from third- party, slightly bloaty services, so made a vertical kanban board in a plain text file. Timestamps, autocompletion, tagging etc. all present, synced to a rpi server for external access.

For tasks or events with dates I have a plaintext calendar. Similar setup there.

Have a look here: [https://github.com/luxpir/plaintext- productivity](https://github.com/luxpir/plaintext-productivity)

Not everyone's cup of tea, but mentions why it was developed over org-mode in the linked post.

</comment></comment></comment><comment><USER7> Http://hitask.com - straightforward task manager that does not impose any framework or workflow on you. Easy but can be as powerful as you want it, with team features, Google sync, etc.

</comment><comment><USER8> I use Nozbe to dump all my todos in via email or in the app. Then organize every morning. It's based around GTD concept but can be customize to your workflow.

I needed an easy place to dump everything. As work uses Trello and my startup uses Basecamp.

</comment><comment><USER9> I use Taskforce (www.taskforceapp.com) to track my tasks. I spend a lot of time in Gmail, dealing with clients and colleagues, so I built Taskforce for myself and people like me.

</comment><comment><USER10> I use Todoist to keep track of my tasks. But I started using toggl (toggl.com) recently to keep track of how long I spend on a single task, and I started becoming more productive because of this.

</comment><comment><USER11> Todoist is fantastic. Once you get the hang of their natural language date parser, entering both one-off and repeated tasks becomes extremely fast.

</comment><comment><USER12> Todoist, it has been awesome and very helpful so far, exists on every platform and very simple and slick UI.

</comment><comment><USER13> I put most things in Asana. Except groceries, for that I use evernote (just a list with checkboxes).</comment>


Hertz To Offer Electric Vehicles By The Hour - <AUTHOR> http://techcrunch.com/2010/12/05/hertz-ev-plans-2011/ <comment><USER2> If the "markets in Texas" part surprises you, you should know that Austin already has a successful car sharing program that's about to expand.

[http://www.car2go.com/portal/austin/page/mybookings/mapEnlar...](http://www.car2go.com/portal/austin/page/mybookings/mapEnlarged.faces)

</comment><comment><USER3> I wonder if they will charge you a fee if the car is not two-thirds charged upon return.</comment>


GitOps Using Helm3 and Flux for an Node.js and Express.js Microservice - <AUTHOR> https://www.civo.com/learn/gitops-using-helm3-and-flux-for-an-node-js-and-express-js-microservice <comment><USER2> Does Helm 3 really include Tiller as depicted in the illustration?

<comment><AUTHOR> Kind of - you don't need it separately.</comment></comment>


"Her" - Upcoming Film About "A Man Falling in Love with Siri" - <AUTHOR> http://www.avclub.com/articles/her,101315/

<comment><USER2> Where is everyone else's "Samantha" in the movie? If we had such AI, let alone "interface," I doubt that it would be his mere secret.

That said, I think these kinds of movies are good to help connect regular people with computing, or at least help people think about where computing could go.</comment>


Have you ever written code no one could understand? - <AUTHOR> Followup from the other thread about inheriting incomprehensible codebases. It's easy to be self-righteous about the poor programming practices of those who came before us, but maybe a little confession would be good too. <comment><AUTHOR> I had to encode a factory's shift schedule. I noticed that it repeated in a regular way with each month. Then I noticed that there was yet another, more subtle symmetry in between weeks, so I encoded that too. Then I realized the remaining pattern was a simple wavy line, so I replaced that part with a function based on a sine wave with the appropriate amplitude and period.

In my defense, I was 16.

<comment><USER2> Abstractions strike again!

</comment></comment><comment><USER3> I've written code that _I_ can't understand:

"Any code of your own that you haven't looked at for six or more months might as well have been written by someone else." \- Eagleson's law</comment>


Facebook's "Free" Internet Will Harm Low-Income Consumers - <AUTHOR> https://www.wired.com/2016/11/facebooks-free-internet-will-harm-low-income-consumers/ <comment><USER2> I agree that we can't let corporations dictate our choices online. The right to the internet is the right to choose what we access and not what Facebook dictates. It's against the principle of Net Neutrality and will put Facebook in a position to monitor user's traffic.</comment>


Ask HN: What's the Hacker News for different industries? - <AUTHOR> Curious if there's a high signal source of knowledge for other highly technical industries.<p>If you don't work in tech, what else do you read daily? <comment><USER2> Surprised no one said the obvious: Reddit. Find the right subreddit and you'll see high-ish quality posts on the topic. Javascript, Node.js, etc.

<comment><USER3> The problem with reddit is that there are a lot of "Shits and Giggles" reddits, and this tends to bleed into the "Serious" reddits.

For example; someone is browsing r/funny and clicks a link or two and find themselves in r/programming, or whatever, but keeps acting as if they are in r/funny.

And so your serious discussion is full of funny comments which someone has to clean up or let the discussion deteriorate.

<comment><USER4> To be fair, /r/programming is probably one of the most toxic subreddits itself.

I've never found another subreddit where everyone is as unbearably angry and negative. Too many programmers suffer from social issues for a laissez faire community to be a fun place to frequent.

<comment><USER5> Believe me, there are plenty:

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

[https://www.reddit.com/r/HateSubredditOfTheDay/](https://www.reddit.com/r/HateSubredditOfTheDay/)

<comment><USER6> With the exception of /r/fatpeoplehate, those aren't the subreddits I think of when I think of hateful subreddits, as they are mainly low-subscriber fringe groups. The same sentiment that FPH had lives on in other "angry" subreddits that reach mass appeal (like /r/justneckbeardthings, and much of /r/blackpeopletwitter).

I think a sentiment analysis of posts from the major subreddits would be an interesting read.

<comment><USER7> What's angry about /r/blackpeopletwitter? I don't think I've ever even seen a negative post there. It's mostly just funny.

</comment></comment></comment></comment></comment></comment><comment><USER8> For music production, it might be Gearslutz: [https://www.gearslutz.com/board/](https://www.gearslutz.com/board/)

Reading the forum archives has been blowing my mind, seeing forum replies from the sound engineers on my favorite albums. Butch Vig did a thread answering questions about Nirvana's Nevermind [1], and Charlie Clouser was recently answering some questions about the Quake soundtrack & Astro-Creep: 2000 [2].

[1] [https://www.gearslutz.com/board/q-a-with-butch- vig/398321-ho...](https://www.gearslutz.com/board/q-a-with-butch- vig/398321-how-did-you-get-neverminds-drum-sound.html)

[2] [https://www.gearslutz.com/board/music-for- picture/911330-qua...](https://www.gearslutz.com/board/music-for- picture/911330-quake-soundtrack-charlie-clouser-any-info.html)

<comment><USER9> [https://www.thegearpage.net/board/index.php](https://www.thegearpage.net/board/index.php)

Is pretty good for guitar / amp / etc info. (following your Music thread/theme)

Oh and: [http://www.tdpri.com/](http://www.tdpri.com/)

<comment><USER10> I spent hours as a teenager on the Gear Page, that place was great.

</comment></comment></comment><comment><USER11> The comments aren't nearly as rich, but for biotech I like [https://www.biospace.com/](https://www.biospace.com/) and [https://www.fiercebiotech.com/](https://www.fiercebiotech.com/). Though they are typically day(s) behind [https://endpts.com/](https://endpts.com/). Twitter is big for biotech, too. People like [https://twitter.com/BradLoncar](https://twitter.com/BradLoncar), [https://twitter.com/JohnCendpts](https://twitter.com/JohnCendpts), [https://twitter.com/adamfeuerstein](https://twitter.com/adamfeuerstein), [https://twitter.com/CarolineYLChen](https://twitter.com/CarolineYLChen), [https://twitter.com/megtirrell](https://twitter.com/megtirrell), [https://twitter.com/ldtimmerman](https://twitter.com/ldtimmerman), [https://twitter.com/matthewherper](https://twitter.com/matthewherper) covers a lot of it.

<comment><USER12> What are the main differences between the three biotech websites? From a quick skim, it seems that Fiercebiotech and endpts are strictly superior to biospace for someone who is not actively looking for jobs in that space.

<comment><USER11> Sometimes one will have something the others won't, but really because biotech is "small" big news travels fast and just reading endpoints will get you pretty much everything.

I also like [https://www.biopharmcatalyst.com/](https://www.biopharmcatalyst.com/) if you're interested in the capital/investing side of biotech.

</comment></comment></comment><comment><USER13> For inbound marketers [https://inbound.org](https://inbound.org)

For data science [https://www.datasciencecentral.com/](https://www.datasciencecentral.com/)

For quantitative investment [http://www.moneyscience.com/](http://www.moneyscience.com/)

</comment><comment><USER14> Most industries don't have a Hacker News. In my opinion, it is coming. Tech- savvy generations will be moving into senior roles, and they will look to communicate online.

My main question is are these other industries as passionate as the tech industry? Are they as collaborative? I am from the oil and gas industry, and I can firmly say that currently the answer to those two questions for the oil industry is a hard "No". But that might change.

<comment><USER15> Couldn't one argue that the oil and gas industry is on the way out itself? I know that may come off as a bit naive. My anecdotal experience leads me to believe that the oil and gas industry isn't exactly pushing the envelope technologically. Sure there is a lot of cutting edge science and technology applied on a macro level, but for the industry to truly embrace the future would mean to become something entirely new.

I don't see this industry embracing the hyper connectivity, progressive, mind- share of the internet the same way I only see half-hearted engineers entering this field.

</comment></comment><comment><USER16> Long distance / long term live-aboard yacht cruising: [http://www.ybw.com/forums/](http://www.ybw.com/forums/) \+ [http://www.cruisersforum.com/](http://www.cruisersforum.com/) \+ [http://forums.sailinganarchy.com/](http://forums.sailinganarchy.com/)

</comment><comment><USER17> Design: [https://designernews.co](https://designernews.co) Go: [https://golangnews.com](https://golangnews.com)

<comment><USER18> GN looks like a neat Go-specific HN clone, I'll start keeping an eye on it.

Unfortunately, it seems that there are almost no comments: from the 24 topics I see on the front page, only two have comments. Do you feel the submissions are high quality? Or what makes you recommend it?

<comment><USER17> I'm looking at GN because I can not keep up with other places like r/golang or twitter and here I can view the most important information once a week without any problem.

Also on r/golang there are not too many comments. It seems to me that this is a problem of the entire golang community, nobody wants or have time to comment... this language makes you lazy. :)

</comment></comment></comment><comment><USER19> On architecture (buildings not IT) there isn't nothing like HN (high signal crowd curated news). At most there are reasonable good news curated by one/few individuals. The task is herculean and will be, by definition, highly biased. Hints:

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

[https://divisare.com/](https://divisare.com/)

<comment><USER20> A coworker of mine recommends [http://skyscraperpage.com](http://skyscraperpage.com), but that probably doesn't serve as an HN for architects.

</comment></comment><comment><USER21> [http://www.datatau.com/](http://www.datatau.com/) \- HN for Data Scientists

</comment><comment><USER22> Matt Levine's newsletter (Money Stuff) for general financial news.

</comment><comment><USER23> For entrepreneurship, bootstrapping

[https://www.indiehackers.com](https://www.indiehackers.com)

</comment><comment><USER20> [http://avsforum.com/](http://avsforum.com/) isn't as high signal as HN, but it does serve as something analogous for home theater (or it used to years ago when I used to visit it; it may have deteriorated). That's where I got the impetus to start my reverse engineering project to write a Linux driver for an HDTV tuner way back when.

</comment><comment><USER24> No to share links/stories per se, but many professionals mathematicians are on [https://mathoverflow.net/](https://mathoverflow.net/)

</comment><comment><USER25> [https://www.echojs.com/](https://www.echojs.com/) \- for everything javascript (sure some also get posted on HN but hey, if your in the js scene maybe it's nice)

</comment><comment><USER26> Sports logos and uniforms: [http://boards.sportslogos.net/forum/1-sports- logos/](http://boards.sportslogos.net/forum/1-sports-logos/)

</comment><comment><USER27> Real Estate investing [https://www.biggerpockets.com](https://www.biggerpockets.com)

</comment><comment><USER28> The best option I found is Twitter.

Pick any industry, follow it's key leaders and journalists, and follow their followers, and you basically have an RSS feed of that industry's news.

</comment><comment><USER29> For Calligraphy & Penmanship - [http://theflourishforum.com/forum](http://theflourishforum.com/forum)

<comment><USER30> I haven't visited in a while, but it used to be that the penmanship forum of the Fountain Pen Network was the go-to place for calligraphy. IT was later sub-divided into more specialized fora, and maybe lost a bit its momentum.

The calligraphy subreddit is also quite active.

</comment></comment><comment><USER31> For food and agriculture technology: [https://feedit.agfunder.com/](https://feedit.agfunder.com/)

</comment><comment><USER32> I'm working on Knowledge Trybe ([https://knowledgetrybe.com/](https://knowledgetrybe.com/)) - the focus is on Science and Learning.

</comment><comment><USER33> For bioinformatics I read Genomeweb, but I am interested in other good outlets under the same theme

</comment><comment><USER34> [https://write.narwhal.space/](https://write.narwhal.space/) for literature.

</comment><comment><USER35> I started producing a list a while ago, although it never really got off the ground.

Feel free to submit a PR if you like: [https://github.com/mikeanthonywild/hacker-news- for-x](https://github.com/mikeanthonywild/hacker-news-for-x).

</comment><comment><USER36> \- Hydrogen Audio for digital music library management: [https://hydrogenaud.io/](https://hydrogenaud.io/)

\- Gearslutz for music production and audio engineering: [https://www.gearslutz.com/board/](https://www.gearslutz.com/board/)

\- Head-Fi for headphones and portable players, amps, DACs, etc.: [https://www.head-fi.org/forums/](https://www.head-fi.org/forums/)

\- Not a forum, yet still a strong community: Discogs for music collectors: [https://www.discogs.com](https://www.discogs.com)

</comment><comment><USER37> Data Tau [http://www.datatau.com/news](http://www.datatau.com/news) is a site using the hacker news stack focusing about data science. Quite slow, but some nice articles / links there.

</comment><comment><USER38> Seeking Alpha ([https://seekingalpha.com](https://seekingalpha.com)) is a popular place for investing / trading crowds.

<comment><USER39> shout out to [https://ftalphaville.ft.com/](https://ftalphaville.ft.com/) for their alternative take on finance news

</comment></comment><comment><USER40> [https://www.webdesignernews.com/](https://www.webdesignernews.com/) for webdesign and webdev

</comment><comment><USER41> Actuarial Outpost is kind of like hacker News for actuaries... Especially those who have not yet finished their professional qualification exams.

[http://www.actuarialoutpost.com/actuarial_discussion_forum/](http://www.actuarialoutpost.com/actuarial_discussion_forum/)

</comment><comment><USER42> Quantitative trading - [https://www.quantnews.com/](https://www.quantnews.com/)

</comment><comment><USER43> Built on an ancient blogging platform but still rife with insights from the leading minds in the Energy and Climate industry: [http://www.theenergycollective.com](http://www.theenergycollective.com)

does anyone know of a HackerNews for Building Automation Controls?

</comment><comment><USER44> [http://www.javascriptlinks.com/](http://www.javascriptlinks.com/)

</comment><comment><USER45> One of the largest drivers that took me away from engineering (my bachelor) and into IT was the quality of online discussion and strong communities. I love how easy it is to stay up to date with the current trends and technologies, and the level of support from others who have solved the challenges that you currently face.

</comment><comment><USER46> For growth hacking: [https://growthhackers.com](https://growthhackers.com)

</comment><comment><USER47> Crypto-currencies

[https://cryptonewsagency.com/](https://cryptonewsagency.com/)

</comment><comment><USER48> For animal welfare, cleantech and environmental conservation: [http://news.kindandgreenworld.com](http://news.kindandgreenworld.com)

Looking to popularize and build up the community.

Built on the excellent lobste.rs

</comment><comment><USER49> I'm not either of these,so there might be better ones, but:

Pilots: pprune.org

Maritime: gcaptain.com

<comment><USER50> Airliners.net also

</comment></comment><comment><USER51> For coffee lovers: [https://coffeeforums.co.uk/content.php](https://coffeeforums.co.uk/content.php)

<comment><USER52> /r/coffee is also great.

</comment></comment><comment><USER53> Looks like I need to add a lot more feeds to [https://engineered.at](https://engineered.at) later today!

</comment><comment><USER54> designernews.co for designers

</comment><comment><USER55> [https://feedit.agfunder.com/](https://feedit.agfunder.com/) \- for AgTech

<comment><USER56> Any other outlets for AgTech?

<comment><USER31> [https://agfundernews.com/](https://agfundernews.com/)

</comment></comment></comment><comment><USER57> Hmm might be an opportunity here to bring the 'adult' culture of hacker news to a more broader platform. Could probably most naturally be accomplished with 'subs' on HN but might dilute the core brand?

</comment><comment><USER58> Lobste.rs

<comment><USER59> Lobste.rs feels like what Hackernews was when I first got here. I remember reading up on so many weird and cool personal projects on HN, along with obscure math, logic and black-magic programming.

Nowadays it feels like HN slowly moved towards the more startuppy and political side of things, while keeping its sharp technical focus.

Could also just be that I ignored the startup/political posts in the beginning though, I was heavily against that. I was also way less informed about the industry and math/programming in general, could as well just be that it got a lot harder to impress or surprise me with weird programming or math stuff.

</comment></comment><comment><USER60> For computer architecture, realworldtech might count.

<comment><USER61> Is it alive? There's one story from Jan this year but then the one before that was 2016.

<comment><USER62> Oh, you should be looking for the forums! Not as likely as they used to be. But I have yet to find anything similar.

Sidenote: if anybody has suggestions for sources of in depth articles on computer architecture of the level of quality that David Kanter used to produce for RWT, I'd be very grateful.

<comment><USER60> David Schor at wikichip produces some nice stuff

</comment></comment></comment></comment><comment><USER63> Facebook groups.

<comment><USER64> That's what I noticed for smaller film producers (think film school new grads). Especially around jobs and gear, but articles as well.

</comment></comment><comment><USER65> Sellercrowd for media sellers

</comment><comment><USER66> For nonprofits: [https://impct.io/](https://impct.io/)

Built on lobste.rs, but needs more users to start submitting and commenting on stories.

</comment><comment><USER67> For Donald Trump News: [http://www.trump-news.today](http://www.trump- news.today)</comment>


Micro – A modern and intuitive terminal-based text editor - <AUTHOR> https://micro-editor.github.io/ <comment><USER2> I know something is a good idea when my first thought is: surely there is something like this already!

My second thought was: wait, I used Emacs or Pico, why hasn't someone made this.

My third thought was: how do you copy and paste? Ctrl-c ctrl-v!

My last thought was: I must thank the person who made this.</comment>


Show HN: Xcnotary – a Mac app notarization helper made with Rust - <AUTHOR> https://github.com/akeru-inc/xcnotary/blob/master/README.md <comment><AUTHOR> (The author.) I had originally written a version of this in Python for my own use, and recently thought of rewriting it in Rust as a learning experience.

What I found is that writing a CLI in Rust is a absolute breeze, in part due to excellent documentation and the tooling, and also thanks to various well- maintained crates, such as StructOpt [1] to parse command line arguments of any complexity, or indicatif [2] to show animated progress.

[1] [https://github.com/akeru- inc/xcnotary/blob/11649e49892d81754...](https://github.com/akeru- inc/xcnotary/blob/11649e49892d8175470bf992661d6410cd9ead1d/src/main.rs#L11-L26)

[2] [https://github.com/akeru- inc/xcnotary/blob/11649e49892d81754...](https://github.com/akeru- inc/xcnotary/blob/11649e49892d8175470bf992661d6410cd9ead1d/src/notarize/run.rs#L182-L192)

<comment><USER2> Very cool! Tangentially related, I looked into reimplementing `codesign` in Rust while I was at Mozilla. We wanted to see if we could take Apple hardware out of the loop for our release process after we had switched Mac Firefox builds to cross-compile from Linux. I got a bunch of code written and I'm pretty sure I could have made it work if I had gotten the go-ahead to spend time on it but then we heard about notarization and decided it wasn't worth the effort since Apple was going to require us to use their service anyway.

<comment><USER3> > _after we had switched Mac Firefox builds to cross-compile from Linux_

Do you happen to have a link with more details about how that's done?

<comment><USER2> It's not really written down anywhere but you can see the gory history of how we got it together in bugzilla: [https://bugzilla.mozilla.org/show_bug.cgi?id=921040](https://bugzilla.mozilla.org/show_bug.cgi?id=921040)

We used the MacOSX SDK from Xcode, packaged up into our internal file store for build machines to use and passed a bunch of compiler options that clang sets by default when you're compiling on macOS: [https://searchfox.org/mozilla- central/rev/72e3388f74458d369a...](https://searchfox.org/mozilla- central/rev/72e3388f74458d369af4f6cdbaeaacb719523b8c/build/macosx/cross- mozconfig.common)

Getting DMG creation working was a bit of a hassle but we managed to get it done with some dmg/hfsplus tools from the iPhone jailbreak scene.

</comment></comment></comment></comment><comment><USER4> There's also a nice GUI app called "SD Notary" from a well-respected, long- time Mac app developer (Late Night Software, developer of Script Debugger) [https://latenightsw.com/sd-notary-notarizing-made- easy/](https://latenightsw.com/sd-notary-notarizing-made-easy/)

</comment><comment><USER5> Thank you for building this. The notarization process is navigable but baroque, especially from the command line.

fish shell's notarization script: [https://github.com/fish-shell/fish- shell/blob/master/build_t...](https://github.com/fish-shell/fish- shell/blob/master/build_tools/mac_notarize.sh)

<comment><USER6> Strange that it's written in Bash!

<comment><USER7> This is necessary for _building_ fish. If we wrote it in fish script, we'd run into the bootstrapping problem, where you'd need fish to build fish.

</comment></comment></comment><comment><USER8> Very cool utility. Rust seems like an odd choice since there's little processing work to be done other than the zipping - which could be outsourced to the "zip" tool - but I guess a learning exercise is a learning exercise.

<comment><USER9> Rust is actually great for cli applications regardless of performance benefits because of its good ergonomics and package management once you get over the hump of learning it.

<comment><USER10> The comparison is against Python, which definitely has better ergonomics and includes everything needed for scripts like this (but does have package management too if the huge standard library is not enough).

<comment><USER11> I disagree that Python has better ergonomics than Rust for scripts like this. For example, IMO python doesn't have anything as nice as Rust's structopt library for argument parsing ([https://github.com/TeXitoi/structopt](https://github.com/TeXitoi/structopt)). Python does have package management, but it's a pain to use compared to Rust or JavaScript (have to setup virtual envs, etc - not very ergonomic!).

You also mostly don't hit into the tricky ownership issues that can make Rust less ergonomic in CLI apps. Because the code flow is usually quite linear, so you don't have multiple bits of code trying to access the same variables at once.

Note: Although Rust has static types, it has very good type inference such that you don't often have to explicitly state the types. IMO this brings Rust pretty close to dynamic language ergonomics for simple things like this.

<comment><USER10> Python has argparse _in the standard library_ which does everything you may need and more. You can even make Git-like interfaces with it.

For most CLI tools you do not even need third-party packages in Python to begin with. You cannot beat that. And if you do, you don't need virtualenvs, because your system package manager can do the job just fine for most cases, or you can use pip or you can locally deploy.

Python has no ownership issues to think about. You cannot beat that either.

Type inference is nowhere close to dynamic typing.

Then there are other things like no compile-edit cycle in Python. No binary distribution. No shenanigans like issues with missing libraries and dynamic linking.

So you may disagree, but your points are not valid. The actual advantage for going for a compiled low-level language is _performance_ , so unless you need that, there is no point on using Rust or any other compiled language for the majority of the boilerplate code for small scripts and CLI tools.

</comment></comment></comment></comment></comment><comment><USER12> I love this. Amazing work — thanks for making this process easier.

<comment><AUTHOR> Thank you!

</comment></comment><comment><USER13> Neat! I was just about to need something like this, for building native app bundles for druid[1]. I'll open an issue, but do you have any interest in exposing this as a library?

[1] [https://github.com/xi-editor/druid](https://github.com/xi-editor/druid)

</comment><comment><USER14> Very cool work! I just manually implemented this in a python script.

Does it support other platforms? Will it run on Linux?

<comment><AUTHOR> The notarization service is opaque (uses Xcode's "xcrun altool" to submit/read status, instead of something like a REST API...) so unfortunately Mac-only at the moment.

<comment><USER15> That's too bad, I would've loved to do this from a docker container.

</comment></comment></comment><comment><USER16> Aside: GitHub seems to dislike your animated SVG for some reason, since it won't play unless I open it manually. I think sanitize=true does that; try hosting it somewhere else?

<comment><AUTHOR> Thanks for the heads up! May I ask what browser you are using? If there are compatibility issues I may just re-render these as GIFs.

<comment><USER17> How did you generate this animated SVG terminal screen capture?

<comment><AUTHOR> asciinema to generate a raw json file, then svg-term to convert it to svg

[https://github.com/asciinema/asciinema](https://github.com/asciinema/asciinema)

[https://github.com/marionebl/svg-term-cli](https://github.com/marionebl/svg- term-cli)

(I ended up moving the SVG assets to GitHub Pages which hopefully fixes the issue others were seeing.)</comment></comment></comment></comment>


The scariest pricing idea ever. That works. - <AUTHOR> http://thefreelancery.com/2010/04/the-scariest-pricing-idea-ever-that-works/ <comment><USER2> A few years ago I had a page on my website about how to use a certain open source library on Windows, since the maintainers didn't want to/couldn't provide support for Windows. Then a few months later, out of the blue, a guy emails me and says 'listen, I need a small program for Windows that does X, Y and Z and they are all related to the library you have on your website, can you write me a quotation on how much it would cost to develop this'. This guy wanted it for personal use; I did a back of the envelope calculation and it came into about 5 or 8 hours of work. I wanted to be paid a commercial fee of about 70 euros an hour at the time, but I figured that this guy wasn't going to pay several hundreds of euros for a small toy for personal use. It looked like a nice, interesting, small project though, so I basically told the guy 'here's the deal, I don't really have time to write this program and I don't want to commit to anything that I can't live up to. But, I will write this program for you and then release it as open source. The catch is that any time I put into this project is going to be time that I don't get to spend with my girlfriend. So what I'm asking you in return is that you think of a nice present for my girlfriend, she likes X, Y and Z, to make up for that.'

The guy was very surprised but after talking it over with his wife (brainstorming for ideas I guess) agreed. So I wrote the program, went back and forth with him a few times until it did what he wanted; had to switch libraries because the one I had on my website didn't work so in the end I think I put in about 10 or 12 hours. The guy was very happy with the result, I send him a version that did what he needed and then we left on vacation, and I sort of forgot about it.

A few weeks later we came home and there was a small wooden box waiting for us; at first I didn't know what it could be, then I cracked it open and it had an iPod for my girlfriend (this was a few years ago when they were still several hundred euros) and a bottle of very nice champagne for the both of us, and a note saying how much he and his wife had appreciated the program and how they hoped we'd like the gifts.

Per hour I don't think I made that much, but it felt much better than any of the money I've ever made from the odd job through elance :)

<comment><USER3> What a great story. One of the things I love most about our field is hearing from and meeting people like you who obviously love what they do for a living.

<comment><USER4> indeed! Nice story!

</comment></comment></comment><comment><USER5> I have hired a lot of contractors over the years, and I must say that if one of them pitched this to me I would likely walk away.

Not only does it give the appearance of someone being unsophisticated, naïve and lacking confidence, it puts the onus on me to figure out approximately how much work will be involved and what the fair market rate for that would be. It would put me in a totally awkward spot and would be a lot more headache then simply knowing that a person will do X work for X dollars.

In short, this has the appearance of being a gimmick. Basically it says to me "I don't really know how much to charge for this, so I am going to put the onus on you to decide and hope that you won't want to appear stingy and so will pay me more than I feel I could ask for without being embarrassed."

A true professional knows their value and the value of the services they provide, and is not shy about making it known. In fact, that is part of the service they provide – estimating is a skill.

Maybe it is unfair, but if someone pitched this to me, I would immediately think they were fairly junior (and somewhat desperate) rather than a professional, even if I had worked with them before. It tells me you don't have anything else on the go right now, because if you did, why would you take the risk to work for an unknown reward?

Just my thoughts…I would really think this through before adopting it as an approach.

<comment><USER6> It is mentioned in the body of the text that the author advises it to be used with clients that you've already established a history with. And whom have a significant personal stake in the product anyhow. So it's less a junior contractor and more a close friend going "eh, sure, I'll do it for you. Just pay what you think it's worth."

<comment><USER7> Sure, if you've done several projects for that client and you charged them $100/hour each time, they'll be more likely to offer a price that's in line with that.

Still, it's a kind of gamble and not a very smart one.

</comment></comment></comment><comment><USER8> I think the point being made is that giving your client the option to determine what your work is worth carries with it the hidden threat that you'll lost interest in doing work for them if they undervalue you. Only useful with existing relationships, but it's like getting validation that they value the work you've done.

The real problem I see with this is that occasionally clients will opt to do something fairly complicated from a technical perspective that will end up having a very small financial return. If the end results only improve their situation by $1000, but implementing it cost you $2000 based on your usual billing rate... well you're not going to get your money out of it.

This means you need to be anticipate it and be picky about what projects qualify for this type of pricing. You need to be able to validate ahead of time that the return will actually be worth the amount of work... which is a really good idea anyways, because it means you have to wrap your head around the actual value of your end product and really understand the problem you're solving. It increases your involvement with the client's business, which many clients and even some developers don't realize is _always necessary_ in order to deliver a quality product.

<comment><USER9> You are exactly right, don't just blindly give a quote on what they are asking for. Dig in deeply enough to understand what the clients goals are and propose alternate solutions - as well as giving them the quote for the original work. Sometimes word comes down on high to get X done using Y. you don't want to be the PITA supplier they always have to argue with just to get a price.

</comment></comment><comment><USER10> What this is doing tying cost of goods more closely to the value of the goods than the production cost of those goods. As we're fond of pointing out here, the true monetary cost of something is whatever people are willing to pay for it. Nonetheless, cost of work or cost of product is often quoted based on internal cost of production, not on value added. What the article is proposing is one way of breaking that habit.

If I do some consulting and save a client a million dollars, they should be willing to pay an appreciable fraction of a million dollars for that advice. And that fraction that they're willing to pay doesn't change based on whether it took me four hours or four thousand to come up with my recommendation. The idea of charging based on the amount of effort it took you is silly. The effort is your problem, and irrelevant to the client. They should pay, and you should charge, based on the value that it gives them.

The guidelines that the articles gives are basically guidelines for when the client can be trusted to give a fair value-based valuation of you work. However, what the technique does in general is it moves the focus away from cost-of-production and towards value. It's not the only way to do that. Fixed- bid, rather than hourly, contracts also do that and are easier to reliably negotiate without a good client relationship.

</comment><comment><USER11> Cold, hard reality check: If you adopt this approach with most big businesses or almost any government department, the people you are dealing with will be _required_ as a matter of corporate policy way over their pay grade and/or law to pay you as close to nothing as the contract permits.

It's a cute gimmick, but as the article suggests, its applicability is basically limited to ongoing relationships with regular customers who already know roughly what you charge. In that case, presumably there is little scope for them to dramatically over- or under-estimate your effort, and all you are doing is adopting the risk that on balance they underestimate instead of charging a fair price for actual hours worked and gaining a fixed return for your effort.

There is a technical term in the business world for someone who adopts risk out of proportion to the expected reward: "fool".

</comment><comment><USER12> Google cache version (since site seems to be down):

[http://220.127.116.11/search?q=cache:2VuRPkGxvVUJ:thefreelanc...](http://18.104.22.168/search?q=cache:2VuRPkGxvVUJ:thefreelancery.com/2010/04/the- scariest-pricing-idea-ever-that-works/+http://thefreelancery.com/2010/04/the- scariest-pricing-idea-ever-that-works/&cd=1&hl=en&ct=clnk&client=safari)

</comment><comment><USER13> If this technique improves your profits, your rate is too low. It's that simple.

<comment><USER14> No, it's not that simple. Doing this sort of thing changes the dynamics of the relationship between you and your customer. As it says in the article, if your job is a one off, don't do it.

But if you are looking for an on-going relationship, this changes the dynamics and gets much more money than simply hiking your rates.

It's related to the game where one person gets $10 and then has to share it with another, who has the option of rejecting it. If they reject it, you both lose all the money. The simple game theoretic analysis is that you should offer $1. They're better off accepting than rejecting, so they should accept.

But they don't. Experiments show that people will reject any amount below $3, and $3 itself is marginal. People have an inate sense of fairness, and if they think you're not acting fairly then they will punish you, even if it costs them money.

There is often more at stake than the obvious financials, and this is an example where that is being recognised and used.

EDIT:

\+ [http://www.google.co.uk/#hl=en&q=ultimatum+game](http://www.google.co.uk/#hl=en&q=ultimatum+game)

\+ <http://en.wikipedia.org/wiki/Ultimatum_game>

<comment><USER15> Do you have a source for this study? I'm not calling BS, i'd just like to read more about it.

<comment><USER16> Also read about Prospect Theory: <http://en.wikipedia.org/wiki/Prospect_theory>

</comment></comment></comment></comment><comment><USER17> I disagree with this completely.

I think the golden rule is "either work for full price, or work for free, but never work for cheap." It is unfair to you and your clients to even suggest that a "cheap" price exists and that it may be acceptable- It isn't.

I think it would give me tons of anxiety as a client if I had to decide on the price after the fact, without a clear guideline from the contractor.

<comment><USER18> If you read the article to completion you'll note that the author addresses both of your points. He only recommends it for clients who you have a long running relationship with and who thus have a pretty good idea of what your services cost. He also notes that the price generally comes out to more than what his normal rate would be, given you use the tactic in the situation he outlines. Plus he explicitly addresses clients who feel they can't judge the value properly: "just give them a quote".

</comment></comment><comment><USER14> Actually mentioned explicitly in "How to Win Friends ..."

<comment><USER19> Almost true. I believe it was mentioned as a way to solve conflicts, not to charge people on a regular basis.

<comment><USER14> I think you're right.

</comment></comment></comment><comment><USER20> The last project I did was as a barter. At first it started with talk of money being exchanged. Setting up a new webserver, installing some LAMP applications, etc. This was supposed to take a few hours, it really only took 2. My billable rate wasn't even worth the time it would take to do the paperwork (this would include getting a tax id and paying payroll tax). So I just asked for a slice on his ESX server. I'm happy, client is happy, a single penny wasn't spent by either of us.

<comment><USER21> Shouldn't you have taxed it as non monetary gain?

<comment><USER20> If I'm reading the IRS page correctly. You only need to report it if you are bartering as a business. Since I didn't want to get involved with tax ids and 1099s I feel I fall outside the requirement. Plus the value of transaction was small enough that I don't need to declare it. But I'll see at next tax season.

</comment></comment></comment><comment><USER22> Very interesting discussion. Years ago, I did renovation work and often used the same gambit. Often it was a model of "OK, here is the labour price, here are the material prices, but what you're asking for is something we've never done before and it's impossible to estimate a fair price." Surely my poor estimating skills were on display - but that's not what I was being paid for. Could we do it? Yes. Could we price it out to the penny? No. But we still got the job.

Once in a while it was simply, "Yes, we can do that. No, I don't know how much it's worth. Let's do it and figure it out later." And, with people who had confidence in my work, there was never a problem with this approach. I was often surprised at what people would pay. And as the article mentions, I would never use this approach with someone new or a large enterprise. But with familiars, this always worked out OK for me.

Fascinating to see this model applied to untried, almost purely intellectual work (code).

As with renovations, where you're often busting you're ass against someone with a pickup truck looking for beer money for the weekend. Working with code pits you against every chump with a computer. So how can you differentiate yourself?

Being able to say, "Hey, no problem. I can do that, We'll square up on Monday." is one way. Weekend warriors won't do that.

</comment><comment><USER23> This works well on a micro level, and fails brilliantly on a macro level. It's a model that doesn't scale.

See, <http://en.wikipedia.org/wiki/Tragedy_of_the_commons>

<comment><USER9> That has been proven to be not true.

Radiohead made more money from the "pay what you like" download of their album "in Rainbows" than they did from the release of their previous album.

<http://www.nme.com/news/radiohead/40444>

<comment><USER24> Derek Sivers had a blog post about this as well.

<http://sivers.org/livecd>

His post is about offering CDs after a live performance and asking people to pay what they want. They band in question went from $300/night in CD sales to $1200/night.

<comment><USER7> They were selling more CDs, but the average price was lower. It's still amazing that they got so much in total sales, but maybe they could have achieved something similar by just lowering the price.

 _Terry said that the band did this for a while, and soon they were selling about $1200 per night on average, even including those people who took it for free! I think the average selling price was about $10._

</comment></comment></comment></comment><comment><USER19> I like it, actually. Might not work as well when you're selling a product, but could indeed be profitable when selling a work. Interesting.

</comment><comment><USER25> The server appears to be down, but google's cache [1] works

[1] [http://www.google.com/search?q=cache:2VuRPkGxvVUJ:thefreelan...](http://www.google.com/search?q=cache:2VuRPkGxvVUJ:thefreelancery.com/2010/04/the- scariest-pricing-idea-ever-that-works/+http://thefreelancery.com/2010/04/the- scariest-pricing-idea-ever-that-works/&cd=1&hl=en&ct=clnk&gl=us) (google mirror)

</comment><comment><USER26> This is very well articulated. I have definitely tried this before and it works like a charm. However, you do have to be careful about who you try this with though. Long term satisfied customers, customers in urgent deadlines and ones who are generally reasonable about costs value this sort of a pricing/engagement.

I have seen that a bigger benefit from this sort of a pricing model is a stronger relationship that develops with customers who come back to you time and again.

Another thing I have done in the past (ours was not really a services business but a niche solution business) is defined the pricing and after discussing with the customer that it doesn't fit with their current quarters budget, I agreed to discount it to "make it happen" and they greatly respected that. And then made up for it the next quarter.

I would highly recommend it, but you need to know "how" to do it right. You should not come across as casual or clueless in doing so.

</comment><comment><USER27> There is a restaurant in Singapore called "Annalakshmi" which has been operating like this for, like a decade at least. You go there, eat, and pay what you feel like paying. The food as well as ambience is good and I think on the average people overpay. I think the proceeds go to fund a non-profit organization for Indian fine arts.

</comment><comment><USER28> This will work in certain situations. Basically, in negotiation the one to mention price first 'loses'. The reason the first party to mention a price 'loses', especially if it is the payee, is fairly simple game theory. The first price mentioned by the payee will set a high bound. If they payer must set a first price, this will be the low bound, and may exceed the payees high bound. For instance, if a dev offers to do work for $100, but it is really worth $200 to the client, the client will accept the $100. The client may have offered $200, but now with the information that the dev will do it for $100, of course they will only offer $100.

tl;dr - The client must come up with a price first, and if they have a personal relationship with you and the value they gain is higher than your sunk costs, it will probably be higher than what you would have set.

</comment><comment><USER29> We do this with clients where we have particularly strong relationships. This is particularly helpful when clients are getting the budgetary pinch or if they've run out of money before their budget periods are over.

There is a definite risk that comes with this which is that a client you're not familiar with who's short on cash may take advantage of this, so I'm not convinced it's well suited to everyone's needs but where there's mutual respect and trust this type of pricing model (and flexibility) can really cement bonds with customers.

</comment><comment><USER30> Site is back up. All the hits probably crashed the server. <http://thefreelancery.com/>

</comment><comment><USER31> I did that once for a for a company I used to work for. Basically they called me up a couple of weeks after I quit and where in bind and needed this thing fixed right now or they'd miss an important deadline. So I basically did what this article said, got royally screwed and I learnt my lesson. Only do that if you're genuinely OK with being paid nothing.

</comment><comment><USER32> I will try this in my next project with a customer I am having a long relation ship.

</comment><comment><USER4> unfortunately, can't access it. Getting a 403 error. Is it just me?

</comment><comment><USER33> Godfather, anyone? :-)

</comment><comment><USER34> I'm getting a 403 Forbidden error but from what you've all said, it's about telling clients to "pay what they want"?

This is almost never going to work out for the freelancer. The vast majority of potential clients you will run across don't look at your work as a value creation, but something they should dispense with as cheap as possible.

Thinking of spending money as value creation is a fairly rare way of thinking.

Any freelancer who's worked with more than a handful of clients is going to have practically INFINITE stories of clients trying to stiff them, devalue their work, complain about how long it takes, "It's on a computer, can't you just, like, click a button?" etc.

Moreover, freelancing is not just about creating value for the client. It's about meeting their specifications. If the business value they receive is less than your hourly rate, they should have said "No." or not done the project to begin with.

Moreover again, even if the project creates more business value than your hourly rate, and even if the client thinks in terms of value investment instead of costs... they would still need to be understand the amount of work involved in making it happen.

What a mess.

People are probably excited about this idea because they're too scared to price. They'd rather wave their hands and hope the problem goes away.

When you're afraid of something, the thing to do is not run away from it, but educate yourself.

<comment><USER35> Reading the article, the author especially warns about doing this with anyone and instead suggests trying this technique with long term customers who you trust (and trust you back), find the project to be important for their enterprise (not just a corner of the table site), etc.

The author also gives example stories where he got much less than he expected and whatnot.

Look around the comments for the cache link -- the post is better written than I would have expected and it's not just evangelism.

<comment><USER34> I got a chance to read it. You're right, it's much better than I thought.

But still, I disagree with the premise. It's a gamble. Better to just charge more to begin with.

The best freelance pricing advice I've ever heard - and ever given - is the slap-across-the-face rule.

First, you slap the client across the face. Then you tell them your rate.

If they're not more shocked by the latter than the former, then your rates are too low. :)

<comment><USER36> A couple good pieces I've gotten regarding pricing are:

\- If you're not being told F-off 50% of the time, your rates are too low.

\- Price so that you would be happy no matter the outcome - whether you get the project or not.

I've been using this one lately and for projects I'm not really interested in, I quote a much higher rate than for projects I would enjoy more.</comment></comment></comment></comment>


We got rejected by YC. We bootstraped and now we have published app - ivars-indriks https://itunes.apple.com/lv/app/writer.is/id1053003299?mt=8 <comment><AUTHOR> congrats hope things go well.

<comment> ivars-indriks Thanks!</comment></comment>


Ask HN: Upvote on stories on the "new" page - <AUTHOR>

It seems stories that I have voted up in the new page are taking longer to transition from the new page to the front pages. In fact the upvote counter does not move at all if I upvote. Anything wrong going here ? <comment><USER2> One upvote is not enough to get to the front page, so I'm not exactly sure what you're expecting, nor how the current situation differs from your expectation. Perhaps you could be a little clearer and say exactly what you're doing, exactly what you expect, and specifically how these things are different from each other.

Certainly, as someone else has commented[0], clicking the up arrow does not always change the score you see until you refresh the page. Also, as someone else has commented[1], the system has "voting ring" detection systems, and sometimes it thinks votes are part of a voting ring and then doesn't count the vote at all, and might even apply a penalty to the item's ranking.

So you need to be more specific. Also, you can ask about specific incongruities by emailing firstname.lastname@example.com.

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

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

<comment><AUTHOR> >One upvote is not enough to get to the front page

Oh! of course. The perception that stories languish on the "new" page inspite of having received upvotes (not mine) was a qualitative observation rather than a quantitative one. May be the compete pool itself has grown larger and it needs more votes to get promoted.

What I am talking about here is that even after I have upvoted a story and refreshed the page after 15 minutes it still does not show the upvote.

Question of voting ring does not arise, the very thought is quite preposterous ! :) Unless it has a tendency to trigger false positives. If there was indeed such a tendency, I think that would have come to light sooner.

<comment><USER3> The delay in seeing your votes show up on submissions can be explained by some combination of the following two issues:

The first issue for you to consider is the continuous system load caused by _immediately_ counting every single vote and/or flag on submissions. It makes a lot of sense to batch the tallying operations and only update every "N" minutes to reduce load. Additionally, since an up-vote on a submission will mark it so it's stored in your "saved stories" list, the overhead of immediate processing is most likely larger than most imagine. Also, there's the overhead and delays of multiple types of caching being employed. As always, it's a huge balancing act.

The second issue is how ring-voting, ring-flagging, and even ring-rating are constantly occurring since combating the problem is exceedingly difficult, and the rewards for successful abusive manipulation can be substantial. Abusive manipulation from multiple people/accounts is even more difficult to solve on any system designed to produce collaborative curation. Generally speaking, HN is collaborative curation, but attempts are made to prevent abusive manipulation.

</comment></comment></comment><comment><USER4> When I visit the new page and upvote, it doesn't increment either even after upvoting then refreshing the page. But did it always do that? I don't think so - I think that, in the past, it would have incremented even without a refresh.

I wish we could view the new page at the same time and then both could upvote the same story to see what happens. It could be that all stories on new are shown with a score of "1" yet they really have a score of "0". If that was the case, the first vote just moves it from a fake "1" to an actual "1".

</comment><comment><USER5> Are you trying to do a voting ring and get your content to the front page? Maybe your accounts are flagged to be in a voting ring?

</comment><comment><USER6> You probably need to refresh to pick up the new vote count. That's how it works for me (I just upvoted this post). At first it stayed on 1, on the refresh it was 2.</comment>


Bohemian Tragedy: The rise and fall of George Sterling's California arts colony - <AUTHOR> https://www.poetryfoundation.org/articles/146051/bohemian-tragedy <comment><USER2> Wonderful bit of history ;)

Archive collection of works by George Sterling

[https://archive.org/search.php?query=creator%3A%22Sterling%2...](https://archive.org/search.php?query=creator%3A%22Sterling%2C+George%2C+1869-1926%22)

</comment><comment><USER3> This reminds me of Ascona, Switzerland, where another proto-hippy commune existed in the early 20th Century. Luminaries there included D. H. Lawrence (who was both at Ascona and Carmel), C. G. Jung, Herman Hesse, Franz Kafka, Rudolf von Laban, Isadora Duncan, Paul Tillich, and Mary Wigman. The scene is intriguingly documented in a book called _Mountain of Truth_.[1]

[1] - [https://www.amazon.com/Mountain-Truth-Counterculture- Begins_...](https://www.amazon.com/Mountain-Truth-Counterculture- Begins_Ascona-1900-1920/dp/0874513650/)</comment>


Sony Says 4K Movies Will Cost a Whopping $30 Apiece - <AUTHOR> http://recode.net/2016/03/29/sony-says-4k-movies-will-cost-a-whopping-30-when-streaming-service-launches-in-april/ <comment><USER2> So they want to encourage pirating?

<comment><AUTHOR> Apparently so. It's Sony. They never learn from their history.</comment></comment>


Ask HN: Session token stealing - <AUTHOR>

I noticed in one of the discussions on hacking Github, people were saying that the real token or session id must not be revealed to the user-agent.<p>How does this work because wouldn't a common value have to be known between the browser/server? <comment><USER2> The session ID serves as a key for a server key-value storage which holds the "session data". It carries absolutely no authentication info, unless implemented in the client code (like an IP check).

Reading out the SID is possible e.g. with injecting a JavaScript that reads document.cookie value.</comment>


A bug story: data alignment on x86 (2016) - <AUTHOR> https://pzemtsov.github.io/2016/11/06/bug-story-alignment-on-x86.html <comment><USER2> Summarizing the conclusion of the article: GCC correctly interprets the spec as saying that all integers reads must be aligned in memory, and when vectorizing the code chooses to use an "aligned" instruction that fails on unaligned data (MOVDQA). On modern x64 processors, the unaligned version of this instruction (MOVDQU) is just as fast on both aligned an unaligned data, and has the advantage of not causing a segfault when run.

Is this a bug in GCC that should be fixed, or is GCC justified in its behavior? Or is there another interpretation?

Having been bitten by this in the past, my conclusion is that while this is not a bug, it is (slight) evidence that GCC will not act in its users' best interests unless required to do so by the spec. Given the same inputs, Intel's ICC generates working fast code. If both compilers were equally available, I would usually prefer ICC over GCC for code that is going to run on modern Intel processors.

<comment><USER3> _unless required to do so by the spec_

Which IMHO is an absolutely stupid point of view, because compilers don't exist in a void. As the old saying goes, "what's right isn't always legal, and what's legal isn't always right", and behaving to the letter of the law is not the same as behaving to the spirit of the law.

Thus I think it is absolutely a bug. The standard even says undefined behaviour may result in something like "behaving in a manner characteristic of the environment", which is absolutely what programmers expect from the language.

I also suspect the fact that GCC has become a de-facto monopoly (duopoly if you count Clang/LLVM) among C compilers for Linux platforms makes them more likely to dismiss such complaints.

My experience agrees with yours that ICC and MSVC are nowhere near as aggressive and hostile with UB, yet still generate very good code.

<comment><USER4> Given that it's gcc is generating instructions which require alignment "behaving in a manner characteristic of the environment" is one way of describing this situation

<comment><USER3> Then perhaps Intel is ultimately to blame for this mess, since requiring alignment is completely at odds with how x86 normally behaves, and as shown in the article, there's a version of the instruction not requiring alignment _and_ not really slower at all.

</comment></comment></comment></comment><comment><USER5> I'm surprised any seasoned C developer would make this mistake. You haven't been able to assume trivial translation of C code to assembly for decades.

Casting from a 'pointer to type A' to a 'pointer to type B' is unsafe in all but a handful of circumstances.

\- B is char or unsigned char.

\- A is char or unsigned char, _and the pointer was previously cast from a pointer to type B_.

\- Where A is a struct (or a standard layout[0] class in C++) and B is the first member of that structure.

[0] [https://en.cppreference.com/w/cpp/language/data_members#Stan...](https://en.cppreference.com/w/cpp/language/data_members#Standard_layout)

<comment><USER3> _You haven 't been able to assume trivial translation of C code to assembly for decades._

Then perhaps everyone should continue to do that, and continue to _very strongly_ complain to the compiler-authors who seem to have become absolutely engrossed in blindly following the standard to the letter and completely ignoring the fact that people are wanting C precisely because it's supposed to be close to Asm. But I guess it satiates their egos more to point and laugh... "we're following the standard, fuck you for thinking we care about anything else."

<comment><USER5> If the standard didn't allow this optimization then GCC would have to emit unaligned access instructions everywhere. If it did that then people who want C to be 'close to the machine' would be complaining about lackluster performance and calling for everything to be written in ASM.

The reality is that the abstract machine modeled by C is a long, long way from what modern CPUs actually do, and the C language standards committee seems to have little interest in extending their language

<comment><USER3> If you were compiling for an architecture that doesn't allow unaligned access, then you'd expect unaligned accesses to fault. If you were compiling for an architecture which does, then you'd wouldn't. That's what sane undefined behaviour should be expected to do.

</comment></comment></comment></comment><comment><USER6> Previously:

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

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

Some new developments:

> C++ allows us to write the same function in much more readable way by > employing some template programming. We'll introduce a generic type called > const_unaligned_pointer.

If you support C++20, there's std::bit_cast: [https://en.cppreference.com/w/cpp/numeric/bit_cast](https://en.cppreference.com/w/cpp/numeric/bit_cast)

Edit: fixed link. Thanks, nkurz.

<comment><USER3> I think something has gone _very_ wrong with the state of programming when the original C version reads extremely straightforwardly, the version that works without UB already looks quite a bit more noisy, and the C++ version is just... _yuck_!

In this case, just writing the appropriate Asm instructions themselves would've been much shorter and simpler, and also worked the first time.

<comment><USER3> ...and something has certainly gone very wrong when you get downvoted for pointing out the truth! A lot of this idiotic complexity increase would be completely avoided if compiler authors would just exercise some common sense, but unfortunately it's not so common after all.

</comment></comment></comment><comment><USER7> This is just expected behaviour isn't it? So many processors require aligned access from the original C target of the pdp-11 onwards. That it happens to work on a x86 is pure chance.

</comment><comment><USER8> Am I the only one weirded out that the author didn't even consider writing/benchmarking the obvious byte-at-a-time version (in a loop, and/or unrolled) before resorting to a nonportable/incorrect 'optimized' version?

Versions of GCC old enough to drive are pretty good at generating fast code from byte operations and summing up bytes seems like the kind of transparently analyzable case where modern compilers really are sufficiently smart

</comment><comment><USER9> Challenge for all the anti-C people here: what other language (a) lets you set up this situation in the first place and (b) avoids the problem "optimally"? That is, generates performant assembler on x86 and doesn't crash on ARM?

(a) is a much harder criterion than it sounds!

<comment><USER10> Pascal probably</comment></comment>


#NewTwitter simply too crowded? - <AUTHOR> http://binarybonsai.com/2010/09/29/newtwitter/ <comment><USER2> I think it's no more crowded than Facebook. It will take some time for your eyes to get used to, but I think overall it's very well thought out.</comment>


Zero to $3.4B: Luminar Goes Public - <AUTHOR> https://www.1517fund.com/post/luminar-goes-public <comment><USER2> ... on Ivy League students: ""It isn't that these students are not smart enough. It's that they try too hard for respectability, which is deadly to creativity.""</comment>