Fixed – The easiest way to fix a parking ticket - <AUTHOR> http://www.getfixed.me <comment><USER2> "Up to 50% of tickets are dismissed when challenged."

There is probably a high number (half according to them) of tickets that get dismissed because of selection bias. Tickets [that have been] challenged are probably challenged because they have a good chance of being dismissed due to reasonable issue. Challenging more [random] tickets will probably cause this number to fall.

</comment><comment><USER3> I'm confused. Why? Are we talking "I didn't do anything wrong" tickets, stuff that is unfair but hard to fight?

Or is this about "I park wherever I want and try to avoid the consequences"?

So far it seems that most of the customers are of the latter variety. While I understand the motivation to act like an asshole, this service empowers .. assholes?

We're regularly discussing if free apps (downward spiral) or free content (adblockers) are okay. But free parking is fine, right?

<comment><USER4> You've identified two classes of customer for this app but speculated, without evidence, that most of them fall into only one of those classes.

Ironically my objection to this service is essentially the opposite of yours. I see this app as imposing a middleman's fee on something that, in a perfect world, citizens would be able to perform themselves with the same probability of success. Contesting an illegitimate parking or speeding ticket is a fairly straightforward matter, but in my (personal) experience, unless you bring a lawyer to the courtroom your arguments will simply be ignored. In my area, the courts do not even keep records, so you can't use the judge's blatant dismissal of your concerns* as grounds for a mistrial on appeal.

Maybe I'm not understanding how the service works, but I see this service as simply a specialized and cheaper lawyer replacement. Maybe that's progress since you can actually save some money if you win, but you're still paying a more powerful entity in order to get respect in a court of law.

*I've literally been told by a judge, "stop speaking now, your turn is over" seconds after showing that the officer didn't use a LIDAR gun correctly per the manual, and upon cross examination didn't even know the type of device he was using (Me: "Were you using a radar or a laser based device on <date> at <time>?" Officer: "I was using the device the department issued me." Right afterwards: "Me: If you don't know what kind of device you were using, how can you know the effective range of the device?" Officer: "I believe it was effective and accurate when I used it."). The judge repeatedly referred to it as a "LASAR" device...

<comment><USER5> I'm with you because I had the same experience with a judge while lawyerless. I showed him a manufacturer tech spec on my car to make the point that based on its 0-60 acceleration, it was physically impossible that I was going 67 mph by the time I reached the intersection where I was clocked from where I started accelerating. His response upon seeing the specs was, "What are you, trying to sell me on a car?! This officer (witness) has been with the department 15 years. Guilty."

<comment><USER6> If that judge had been on HN he would have been cited for 1 count of 'appeal to authority'.

</comment></comment></comment></comment><comment><USER7> Driving is bullshit. Just everything about it: expensive, inconvenient, and a backdoor to reduced rights (search * seizure, etc) and run-ins with the legal system.

Think about it: if you're a typical middle class person, when is the only time you ever have a run in with the law? I lived three years without driving in Chicago. I don't think I ever even talked to a cop in that time, and if I did it must've been pleasant and forgettable (I think beat cops with patrols of nice neighborhoods tend to be chill). I move to PA/DE and have to commute to work, and boom: in the space of a few months I've got three parking tickets, and stress to update my {registration, insurance, license plate} to avoid further run ins with the law.

I can't wait to move back to somewhere I can commute by train and leave this bullshit behind me.

</comment><comment><USER8> I can't find anything on their site that lists what cities are supported, but I'm pretty sure it's Bay Area only.

I totally understand that, it'd just be nice to see it in a FAQ or something.

<comment><USER9> If you contest a ticket and the officer does not show up you win a default judgement. Perhaps they are playing on the fact that unless they are on duty on the scheduled date, they are probably not showing up at court.

<comment><USER2> Many jurisdictions will pay officers to appear and many don't factor appearing into their budgets/schedules, so the officers are paid at overtime rates (time and a half). Many officer's don't mind having to appear... they make bank and many pensions are based on the three years of highest revenue (this is a method officers abuse in Wisconsin... they will work as much OT as they can for three years especially near retirement, since the legislature hasn't bothered fixing/forcing pensions to be based on 40 hours / week.)

</comment></comment></comment><comment><USER10> The title and page seem to imply that parking tickets _inherently_ are something which need fixing. As if their very existence was a blight upon the world.

If you agree, might I suggest you go into politics or perhaps traffic planning?

<comment><USER11> most people agree that tickets are something which need fixing[0], but you make 'going into politics' sound so easy. Maybe we all think that local politics are institutions rife with internal corruption and are essentially a club of elites? Why not try to push change on them a different way?

[0][http://laist.com/2014/02/26/local_heroes_are_taking_la_to_co...](http://laist.com/2014/02/26/local_heroes_are_taking_la_to_court.php)

<comment><USER10> When I said "go into politics", I did not _necessarily_ mean to become a politician. I meant to make political change – to go after the problem on the political level, however that may be. There are _many_ kinds of "politicians", just as war is merely a continuation of politics by other means.

</comment></comment></comment><comment><USER12> How about a refund for my taxes that supported an asphalt wasteland while I spent years living in a suburban hellhole? Parking tickets are issued because you don't have a right to unlimited free automobile storage. Hell, why can't I park a hot tub in front of my house in the same spot? Would be a lot more fun.

<comment><USER13> Taxes don't really work that way, but I generally agree with you. Vote at the ballot box.

</comment></comment><comment><USER14> Won't cities adapt to fight this the more tickets are challenged? They'll say something like: "Oh, this same attorney is fighting hundreds of tickets? We're going to require more evidence to reverse these tickets".

They'll put up walls and/or make something about this service illegal.

And yes agree that many people will abuse this and fight every ticket regardless of the validity which will cause cities to push back like I mentioned above.

Seems like a tenuous business model.

<comment><USER15> Businesses that make lots of deliveries already use services that dispute tickets. This is just aggregating retail customers for those services.

</comment></comment><comment><USER16> >No fee to contest: We charge 25% of the fine if you win. You have nothing to lose.

Except that you are assuming they are better at contesting tickets than you.

<comment><USER17> Most people don't know anything in particular about contesting a parking fine. But it's literally these people's job. Also, note the incentives are the right way round: they get paid only if they win.

<comment><USER16> They're pretty much just taking the data you enter in the app, printing it on the SF MTA protest form, giving it a quick read, and mailing it in.

</comment></comment></comment><comment><USER18> For German residents there's [http://geblitzt.com](http://geblitzt.com) \- though it doesn't have an app. And it's not just for parking tickets but also for speeding tickets and such.

</comment><comment><USER16> [http://www.cnn.com/2014/02/20/tech/mobile/fixed-app- parking-...](http://www.cnn.com/2014/02/20/tech/mobile/fixed-app-parking- tickets/)

"If the motorist thinks they have a case, the app will prompt them to capture any additional photographic evidence with their phone and then digitally sign a letter. Fixed has contracted with a team of legal researchers fluent in local traffic laws who will review each case before printing out the letter and submitting it via snail mail to the city."

Here's the form, now you don't need the app: [http://www.sfmta.com/sites/default/files/pdfs/2013%20AR%20PR...](http://www.sfmta.com/sites/default/files/pdfs/2013%20AR%20PROTEST%20FORM.pdf)

The legal researchers job is probably just to sanity check that people aren't submitting complete junk, like penis photos.

</comment><comment><USER19> Excellent Idea.

\- Pros :

* This might lead to more people challenging their parking tickets. * Those who give tickets will be forced to think twice before giving a ticket. * Since enforcement people need to complete a fixed quota of revenue through parking tickets they will have to issue more tickets per day than before purely because more of them will get contested. This will mean people will have to take extra precautions while parking their car because probability of ticket has gone up.

\- Cons:

* If too many people start contesting then the authorities(court) may simply take a hard stand and the ratio of cancelled tickets/challenged tickets may go down. This may hurt many genuine "I did not do anything wrong" people.

</comment><comment><USER20> A broken meter is a valid reason in other cities?

Huh. Every parking meter around here specifically says if it is broken you can't use it. People are ticketed accordingly if they park there.

<comment><USER21> Really? Seems a bit unnecessary to take the spot completely out of action because the meter is broken.

Here (Melbourne), if a meter is faulty but the council doesn't know, you can SMS your numberplate and the meter ID to their faults number. The automated response tells you that the time limits still apply and gives you the number to call if you still get a ticket.

If the council knows the meter is faulty and they haven't fixed it, they generally put a locked bag over it so no one can use it with instructions that the time limits still apply.

<comment><USER2> "Seems a bit unnecessary to take the spot completely out of action because the meter is broken."

Yes it seems a bit stupid but governments often don't operate with efficiency or common sense as a primary goal or concern.

</comment></comment></comment><comment><USER22> For those interested in reading about this, there were some good comments in the previous HN thread:

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

</comment><comment><USER11> emanating from LA is a court challenge that may decide that parking penalties are excessive. This would be a statewide ruling (it's in the state courts IIRC). If, say, parking tickets were curbed at "treble damages", wouldn't this hurt this business' model?

[http://laist.com/2014/02/26/local_heroes_are_taking_la_to_co...](http://laist.com/2014/02/26/local_heroes_are_taking_la_to_court.php)

</comment><comment><USER23> Can I get an invite? email@example.com. Need to invite my roommates, who both have a few tickets they need to get fixed.

</comment><comment><USER24> If this gets popular, the courts will just change how they handle challenges.

<comment><USER25> In what way can they change the process?

<comment><USER26> They can charge to fight a ticket.

Boston does that:

[http://www.boston.com/news/local/massachusetts/articles/2011...](http://www.boston.com/news/local/massachusetts/articles/2011/03/07/controversial_ticket_appeal_fees_to_have_sjc_hearing/)

In Boston parking tickets are not about doing something wrong, or trying to curb behavior. They are basically a backdoor tax on the residents.

<comment><USER27> Seems unconstitutional/illegal to me.

While a layperson might not be able to fight it, a company who's business model is based on it might definitely be in a better position.</comment></comment></comment></comment>


Show HN: An app for comparing PDFs - <AUTHOR> https://www.parepdf.com/compare <comment><AUTHOR> I created this software using Mozilla's PDF.js and a custom PDF viewer.

It replaces the red channels in a pair of PDFs to show the differences between files.

Original idea from [https://vslavik.github.io/diff- pdf/](https://vslavik.github.io/diff-pdf/)</comment>


Cambridge PhD student is winner of first Bitcoin scholarship - <AUTHOR> https://www.cambridgeindependent.co.uk/business/cambridge-phd-student-is-winner-of-first-bitcoin-scholarship-9096459/ <comment><USER2> HAHAHA, great scam! Flagged.

<comment><USER3> To wit:

> Named after bitcoin creator Satoshi Nakamoto (aka Dr Craig S Wright)</comment></comment>


HN: Anyone looking for a technical co-founder? - <AUTHOR>

I am interested in finding a co-founder to chase my endeavors with. Specifically I am looking for someone who is highly technical, and has a deep understanding of low-level computing (Can code in C, knows x86 Asm, so on and so forth).
I am aiming to build creative products that solve difficult, more low-level problems associated with computers. I am not so much interested in doing gimmicky web startups (although if a great idea is out there I will dive into a web solution as well)
Obviously I am looking for a naturally motivated person, someone who loves to hack, innovate, brain-storm, and have fun with new ideas. Also someone with persistence and patience.
If anyone out there has these qualities and is looking to partner up with myself, who has very similar attributes to the ones described above, please feel free to shoot me an e-mail to talk!
firstname.lastname@example.com
Thanks! <comment><USER2> This comes across as "I have a really cool idea, and all I need is a low-level technical wizard to implement it"

OK, at the end you say "... myself, who has very similar attributes to the ones described above, ..." but even so, it doesn't give a good impression.

I don't know if you'd call me highly technical, and I certainly don't have the time to chase anything new, especially with someone I don't know, doning something they haven't described, using technology unspecified, but what you've written doesn't inspire me to contact you at all.

Quite the opposite.

Since you claim to be similar to the person you speak, would your submission have attracted you? If you're highly motivated with ideas of your own, wouldn't you have read that and thought - "No, too busy"?

<comment><AUTHOR> Maybe, because I don't see many technical founders out there. Working with all technical people I feel is far more productive.</comment></comment>


How Mixpanel Created Demand - <AUTHOR> http://themacro.com/articles/2016/08/startup-school-mixpanel/ <comment><USER2> Sadly, this is our last episode of the show for a little while. We learned a huge amount putting it together - about making good radio, asking good questions, and how some of our favorite companies got started. We hit a point, though, where we thought the show needed to evolve to stay great, and while we figure out what that means, we're going on hiatus.

I want to thank Kat and Colleen for all of their help putting the show together, for figuring out what guests we should have, and for cohosting. I also want to thank the good people at Sirius for making the show possible and for giving us everything we needed to make something of which we are proud.

Stay tuned.</comment>


Upverter (YC W11): the perfect tool for open-source hardware - <AUTHOR> http://venturebeat.com/2011/09/13/upverter/

<comment><USER3> To me the big difference they bring to the table is that it is web based, instead of downloadable software.

There is a lot more to your average EE CAD package than just wiring up some parts. That's the easy bit. Rules checks, physics, placement, packages, PCB design, (auto)routing, Gerber files and all the other 'goodies' are required before you can take on the big guys.

Schematics is an important element in the whole chain of developing hardware, but it really needs a lot more than that.

That's a large number of man-years, and by going the software-as-a-service route they gain some advantages but are also stuck with a number of disadvantages, the largest of which is that they won't be seeing the benefits of user contributions at a level where it will move the needle. Of course there will be contributions to the parts library that can be shared, which is a step.

The 'perfect tool for open-source hardware' would benefit from being open- source itself.

<comment><USER4> I took the tour on their site and it looks neat but the first thing I thought was, "Where's my layout tool?"

Open source hardware is no good if I can't manufacture it on a circuit board. Yes, breadboarding is handy for small stuff, but 256 pin BGAs don't fit on breadboards. And repeatability isn't so grand.

With a nice, reasonable to use layout tool (even with just simple routing assistant type features [push and shove]) and tutorials on how to use it, what DRCs are and how they're used, and maybe videos showing people who know how to do this stuff teaching, upverter could be really cool. Heck, for a full-ish featured EDA package in the cloud targeted at open hardware, I'd even pay to use it (provided we're not talking Cadence or Mentor money, more like GitHub paid account money).

<comment><USER5> Hey bradfa, Zak from upverter here. We hear you! Layout will be one of the next things we launch (we are working on it right now, hopefully just a few months away).

The hope is to also add a "print button" to connect users designs with rapid manufacturing suppliers.

<comment><USER3> That's a hell of a business model! Congratulations.

</comment></comment></comment></comment><comment><USER6> As a current EDA user, I hope these guys (or something similar) take off, I really do. It's ridiculously painful working with current EDA tools and not having access to tools I take for granted as a programmer (version control, diff, even text-based data that I can beat up in my own scripts).

But I think they're coming at the wrong end. Their schematic capture was painfully slow when I tried it a couple weeks ago, and I (and I suspect nearly every other electrical designer) rues having to change tools. If someone wants to become the 'github of electronics', I strongly recommend working on getting some sensible versioning and sharing going without also tackling the problem of creating EDA tools.

Having said that, a shared crowdsourced library is a big help, and some others have already noticed the good it can provide: <https://github.com/adafruit/Adafruit-Eagle-Library>

<comment><USER5> Hey patrickyeon, its Zak one of the Upverter founders. Thanks for the comment.

We just pushed a major update publicly yesterday that had some incredible performance gains (50 - 100x faster). We have also done a bunch of selective rendering updates which make it feel a ton faster to use.

You should give it a try again and let me know what you think! Hopefully we are a lot closer!

<comment><USER6> I'm glad to hear you're not ignoring performance, but please keep in mind that you're putting a big stumbling block in the way for people who would want to use a similar service. github would've gone absolutely nowhere if they forced programmers to re-type everything into HTML forms, or even into extremely well-written web apps.

<comment><USER7> Github would have also gone nowhere if they only supported code written in one text editor.

Most EDA software is written by companies who have no interest in letting you see how their proprietary formats work.

<comment><USER6> > Most EDA software is written by companies who have no interest in letting > you see how their proprietary formats work.

Oh boy, I know it, and it's been a pain in my side. However, EAGLE (lots of hobbiests use it) is migrating to a fully-documented XML-based format [1], and there are two open-source projects for schematic capture, kicad and geda, which would give someone a head start on parsing their design files, at least.

[1] <http://www.element14.com/community/message/15751>

</comment></comment></comment></comment></comment><comment><USER8> Wild fantasy for library & component search - once I find a part - not only can I pull in the symbol and footprint, but also select a canned snippet for one of the common use cases of that part (ie: what everyone copies from the app. note and/or reference designs). Eg: switchers+inductors+caps, max232+caps, ... This could be a value-add for certain parts and suppliers.

Bonus points for parameterising the component selection and adapting to current design rules!

</comment><comment><USER9> A few things: when placing parts, allow the user to press escape or other key/mouse combo and jump back directly to the library part selection. It makes it easier to populate a schematic.

Second, separate the parts into different libraries! Other EDA packages have thousands of parts, it would be a mess to have all in one list, even with filtering. It seems you are loading all the parts when creating the library dialog? Probably a different approach to make it manageable...

Preview for the parts, including PCB footprint and variations. What do you plan to do with parts with different blocks, like logical gates, power pins, etc ?

When adding nets, allow the user to move parts around.

I have a few more, but I'll wait when you get layout, drc/erc , auto routing and pcb webgl 3d view working ;) Besides this, keep the good work!

You can try to look at the mailing list archives of the open source packages gEDA, PCB and kicad. There's a trove of nice info and discussions there. I contributed long ago (1998?) to gEDA and use these , eagle and others more or less frequently.

</comment><comment><USER10> I really like the focus on getting the open source hardware people using the product first, before taking it to the enterprise. Kind of like GitHub - <USER2> for open source, pay if you want to keep your code private.

</comment><comment><USER11> I just took the really short tour. Looks like a neat tool, as a web-based schematic capture package. I've never run across one of those before. I mostly use Altium in my work, but have considered Eagle and gEDA for this. I don't know how you'd collaborate on schematics though, seems like only one person can work on a schematic at a time.

I don't see any support for hierarchy in a design. For scaling things you need that. You advertise pages that are as large as you want, but that's more a hindrance than a help, I think, because you can't print an infinite-sized page. And how do you print? How do you get the data out at all - is that possible? In order to do layout you'll need to be able to produce a netlist, and the community-provided parts library is not so great if it doesn't carry over into the physical world of PCB layout. It would also be good to be able to do a simulation, but that is going to really be tough on your servers.

It would be really cool if you didn't have to sign up to try it, that stopped me in my tracks even if it did look like an easy form to fill out.

</comment><comment><USER12> :-( I was planning on doing this for YC next summer. Looks like I got beat to the punch.

<comment><USER13> Competition is good.

</comment></comment><comment><USER8> So when does interop. with Octopart happen?

<comment><USER5> The parts library is already integrated with the Octopart API.

<comment><USER8> Ah - that explains the voluminous library. I missed the references to octopart in some of the library parameters - IMO, that should be called out as feature.

It'd be cool to go from the end of a search via octopart ui to a new symbol in upvert without cutting and mis-pasting part numbers.

</comment></comment></comment><comment><USER14> Really pleased to see a YC startup in this area. One of the secondary ideas I applied to YC this round is a marketplace for new types of computers based on Arduino.

<comment><USER15> > One of the secondary ideas I applied to YC this round > is a marketplace for > new types of computers based on Arduino.

I'd be interested in learning more about this if you wanted to share.

</comment></comment><comment><USER16> This is a really neat Idea. I'm working on a 60inch touch screen for doing data analysis. I've tried it on our large system and it works like a charm (Webkit in QT). I think this will be interesting to follow your progress!

I'm a Altium user, can't really use it on a iPad. Upverter can go almost everywhere!

</comment><comment><USER17> Login with Facebook would be nice. Also, have you guys thought about having some of the featured content on the front page? It's easier to get an idea of what it's about if you don't start with a clean slate and don't have to create an account..

</comment><comment><USER18> When I read the name Upverter, I read it like:

U-pervert-er</comment>


Skype's Crazy Regex Easter Egg - <AUTHOR> http://blog.nyaruka.com/skypes-crazy-regex-easter-egg <comment><USER2> I find it highly annoying that this, as far as I understand, really doesn't use regular expressions.

The s/that/this/ syntax is _not_ , of course, a regular expression. The regular expression is the thing that _might_ go into the "that" part, an expression that can match against several different inputs. If all it supports is literals, it's not really worth calling it a regular expression, in my opinion.

The article expresses this like so:

 _Some experimentation shows that it isn't a full regular expression engine, it will only do straight word substitution._

I think this is stretching it; sure all literal strings are regular expressions, but if that's all there is (i.e. no alteration, repeat etc), then why call it an RE at all?

Am I just being grumpy?

<comment><AUTHOR> Oh, no argument there, though being "highly annoyed" may point to some grumpiness.

It is clearly not a regex engine, but it operates like a very very naive one, and uses the Perl syntax for them.

Ultimately Regex just seemed like the easiest / clearest way of describing the functionality. IE, if I say "Skype supports the Perl Regex syntax for simple word substitution" you probably instantly think of s/a/b/.

Maybe I should have used that as the headline, but it seemed a bit long.

<comment><USER3> Historicaly it is more a sed like syntax..

<comment><USER4> And 'sed' is even easier to say than 'perl regex'!

</comment></comment></comment></comment><comment><USER5> I was sceptical about this, but it works.

I also noticed recently that, in a somewhat shell-like way, you can press the up arrow to edit your previous message at will (but perhaps this is common knowledge).

<comment><USER6> yup, just some toying around by our mac devs :)

<comment><USER7> As a suggestion, you could search the line for the substring with the least Levenshtein distance from the correction, to use as the text to replace—and thus also support the "*word" correction syntax I see quite more often from non-technical friends. :)

<comment><USER8> I believe (though am likely wrong) that the *correction format originated in IRC, where you can't edit text once you've sent it... though I now see s/wrd/word/ quite often too - but that's mainly in technical rooms.

</comment></comment></comment></comment><comment><USER9> _Valentines day special_

guy> I love you darling!

girl> GO 2 HELL!!

guy> s/love/hate

guy> s/darling/bitch

<comment><USER10> Last time I tried, I could only edit my posts while the other one hadn't answered yet. So: haha, but no.

<comment><USER11> You can right click any message in your history and hit edit.

<comment><USER12> Not on Windows...

</comment></comment></comment></comment><comment> brown9-2 You can type in "/help" in a chat to see more options:

        sys: Available commands:
         /me [text]
         /add [skypename+]
         /alertson [text]
         /alertsoff
         /whois [skypename]
         /help
        For more help please see http://www.skype.com/go/help.chathelp

Clickable link to the full list: <http://www.skype.com/go/help.chathelp>

</comment><comment><USER13> So how do I write the literal version now? I still want it for humorous effect.

<comment><USER14> Just leave off the trailing slash. Once someone pointed out that the sed syntax works for replacing, I started doing that.

</comment></comment><comment><USER15> So how does it look in your logs?

 _I will pay you $1,000 to do this project for me_

(at end of chat)

 _s/$1,000/$1_

</comment><comment><USER16> When I first found this feature, I tried to write an email to Skype to thank them for including it. Sadly, there is no way to do such a thing. I looked all over their website for a contact email address, and I finally found one on a hard-to-find page, but when I wrote my message to it, I just got an auto-reply saying basically "please don't send email to us. Call us or open a support ticket." Opening a support ticket just to say "thank you" didn't seem right. It's sad that the company provides a way for people to complain about the program not working, but not for people to thank the makers of the program. (And I don't think it's because thank yous are useless to the company – knowing what your customers like is valuable feedback.)

</comment><comment><USER17> That feature has been around since 2008, iirc.

</comment><comment> adam-_- This has worked for as long as I can remember.

</comment><comment><USER18> How is this an easter egg? Been using it for years.

<comment><USER16> It's an easter egg in that there is no documentation for the feature, and it is one that only people who are "in on the joke" (use IRC) would look for. The feature being functional doesn't prevent it from being an easter egg.

</comment></comment><comment><USER19> Doesn't work in the linux version :( Skype, can we have an update with new functionality? (the interface is fine!)

<comment><USER20> Mmh, I noticed it works with my Skype client, on Fedora, while it doesn't work wth my buddy's client, on Windows.

<comment><USER21> Works on Windows. At least it did a few months ago when I first discovered it.

</comment></comment></comment><comment><USER22> I've always wanted to implement this in my IRC client, but been too lazy, it's nice to see it implemented in some form of chat client, although it's a bit lacking. Is the change visible for all participants?

<comment><USER23> You can edit sent messages on IRC?

<comment><USER24> No, but some clients such as linkinus will apply the regex on the client-side. Less capable clients just display it like any other message.

</comment></comment></comment><comment><USER25> You do not need to type in /s/blah/anotherblah, it is already enough that you just hit the 'Up'-key on your keyboard. You then can edit previously written text!!!

It is really interesting that nobody points this out ;)

</comment><comment><USER26> You can also right click on a reply and click "edit message" [1] – tested on Skype for OS X.

[1]: <http://cl.ly/4Z1R>

<comment><USER27> You can also press the upper arrow to edit the last message (on mac)

</comment></comment><comment><USER28> This doesn't work on windows version of skype.. i guess windows users have to pay for not having regex :P

<comment><USER28> Now a good question would be, will it work if I had Regex for windows installed when installing skype or what is its windows replacement..!!

</comment></comment><comment><USER29> Cool so whats the regex to erase all the previous comments?

</comment><comment><USER30> s/Bit/But

<comment><AUTHOR> Thanks. :)

</comment></comment><comment><USER31> /topic works as well.

</comment><comment><USER32> words* <\- I just saved a few bytes worth of network traffic, and _a whole lot_ of CPU cycles.

<comment> T-hawk At the cost of mental cycles of your recipient reader to parse what just happened, which come in much less available quantity than network bytes or CPU cycles.</comment></comment>


Things HR Won't Tell You  - <AUTHOR> http://online.wsj.com/article/SB10001424052702303491304575188023801379324.html?mod=WSJ_hpp_sections_careerjournal

<comment><USER2> HR also won't tell you that they report to the CFO, that their performance is measured almost entirely in terms of managing fully loaded headcount cost, that they have virtually no incentive whatsoever to help you in any way, that no clueful manager in the company wants to hire through their candidates because the good candidates find the real hiring manager themselves, that despite no particular qualifications to do so they are often solely responsible for determining the structure of your health benefits, and that as a pure cost center perched anomalously close to the top of the org chart with access and alleged influence over compensation information they are one of the most political divisions in the company.

Basically, that they're evil.

<comment><USER3> This. HR Never works for you. HR works for management.

<comment><USER4> The purpose of HR, in a nutshell, is to protect the company from its own employees. In practice "the company" means "senior management".

They have a secondary purpose as well, which is to perpetuate their own existence. And, that's all.

</comment></comment></comment><comment><USER5> Enforced arbitration clauses strike me as the most worrying thing. As described, it amounts to signing away your statutory rights and submitting to some form of private justice, somewhat like a non-free person. The most horrific case I've heard about is of course the Jamie Leigh Jones one.

<comment><USER6> Private arbitration as it currently stands in the US is hopelessly broken. There are numerous conflicts of interest for arbiters, all favoring employers. As the article says, arbiters find in favor of employees in 30% of cases _at best_. I'd prefer to see mandatory arbitration made completely illegal until it can be fixed - if it can be fixed.

<comment><USER7> Is it really valid to assume that fair decisions should be split 50/50?

<comment><USER8> Probably not, but if you _know_ that arbitrators are paid by the employer, and will be doing repeat business with the employer, and then find for the employer 88% of the time, it ought to raise a few eyebrows.

</comment></comment></comment></comment><comment><USER9> I've sort of held the belief that as time went on, towards the latter half of the early 2000's decade that employers apparently woke up, and realized that people are either (A) desperate to have jobs or (B) desperately hoping they'll still have theirs in the morning and used the opportunity to squeeze whatever control they could out of the fact.

So little worker bees in the office are so terrified that anything as much as a sneeze will get them fired because there are thousands more people ready and willing to take that position.

<comment><USER10> This is exactly the mentality that makes many Americans so paranoid about immigrants.

<comment><USER9> I understand your point, but I'm not worried about an illegal immigrant taking my Sys Admin job. And that's the general argument that I try to support.

"They're taking our jobs"

Correction, they're taking the jobs Americans are often too lazy or too elitist to apply for, when out of work. Manual labor isn't beneath anyone, present company included-but statements along the lines of immigrants taking jobs seems to indicate that's how people really think.

<comment><USER11> in california i hardly see any american.

Be it in the streets, in the bars, in the fortune 500 offices...

My guess is that the entire state is a piramid scheme for immigrants

<comment><USER8> Many of the people you assume are foreigners were probably born and/or raised in this country. A bunch of them probably had parents that were born or raised in this country.

Don't confuse ethnicity with citizenship.

<comment><USER12> It's not _that_ unlikely that a randomly chosen person you see in California actually will be foreign-born, though, since about 1 in 4 people in the state were born outside the country.

<comment><USER8> There's a big difference between "hardly see any" and "75%".

<comment><USER11> i may not be distributed accros the state like the statistic :)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> Excellent timing for me. Just this past week, I set up a Wufoo form as a performance review for myself. I asked a bunch of users at my current client to fill it out to let me know how I've been doing. I thought it would be useful for me, since I don't have any formal feedback mechanisms as an independent consultant.

Everyone was happy to oblige and several filled out a form. Then I got a call from someone who, just on a whim, decided to check with HR first. That's how we found out that it's against company policy to allow people to provide feedback to outside consultants. This is in case the consultant gets let go and the feedback contradicts that of the consultant's direct supervisor. If some kind of dispute arises, they want everything to match the company line.

Having worked for these types of corporations for so long, I completely understand how this policy came about. However, thoughts of "evil" Toby from "The Office" keep cropping up somehow.

</comment><comment><USER14> According to the article, we should comment here about it with our views, lest these threads are monitored and lead to our firing.</comment>


Apple's bid to become a $1 trillion company starts this week - <AUTHOR> https://techcrunch.com/2017/10/29/apples-bid-to-become-a-1-trillion-company-starts-this-week <comment><USER2> and still can't make an IDE that doesn't crash..</comment>


Big Prometheus: Thanos, Cortex, M3DB and VictoriaMetrics at Scale - <AUTHOR> https://monitoring2.substack.com/p/big-prometheus <comment><USER2> Before anybody thinks that they need something like this at work, I have seen single node HA Prometheus set ups work at one of the largest CDN's in the country for metrics.

Reddit's own Kubernetes infrastructure team uses single node (pod) Promethei as well. [0]

If you look all of the components that are required to run Thanos [1], the operational complexity is incredibly high. I know its a shiny tool, that is super cool but please make sure you have an actual need for some of these before devoting resources to them.

[0] [https://www.reddit.com/r/kubernetes/comments/ebxrkp/we_are_t...](https://www.reddit.com/r/kubernetes/comments/ebxrkp/we_are_the_reddit_infrastructure_team_ama_about/fbbk7jk/)

[1] [https://improbable.io/blog/thanos-prometheus-at- scale](https://improbable.io/blog/thanos-prometheus-at-scale)

<comment><USER3> Prometheus author here (Julius).

Generally agreed that you can get far with a single Prometheus server (or many independent vanilla Prometheus servers, potentially also using Prometheus's own federation). But I still recommend Thanos as an extension to a lot of people. I like Thanos because it's so easy to deploy alongside an existing Prometheus installation, while itself being mostly stateless (long-term state is kept in object storage), and it gives people:

\- a global view over multiple Prometheus servers \- deduplicated view over servers in an HA pair \- durable long-term storage for little cost

The Thanos architecture diagrams (especially the one in their README.md) can look a bit intimidating, but I find it sooo easy to get started with in practice, since you don't even need to deploy all of the components to begin with it. I usually tell people to just drop in a Thanos sidecar next to each of their Prometheus servers, so they will get backups of all their Prometheus server data (for those who are interested in long-term data retention). And then later, they can add the Querier component for an integrated view over multiple servers. And then later they can deploy the Store gateway to also integrate back long-term data into that view. And then at some point, the compactor...

Without being a Thanos expert, it took me ~15 minutes to deploy all those components (+ Minio for object storage) in front of a training audience that wanted to know more about Thanos (while reading Thanos + Minio docs). Of course a proper production deployment always takes way more time, but still I like how conceptually simple it is to integrate Thanos with Prometheus.

<comment><USER4> Do you have by any chance recorded this?

<comment><USER3> No, sorry, it was a private commercial training.

</comment></comment></comment></comment><comment><USER5> When my team agreed to use Prometheus from the client side we looked at Thanos, Cortex, and M3DB, but none of them gave us the flexibility and comfort of adoption for a small team providing a service to 10s of internal groups. We have many private internal DCs and needed metrics to be stored in the cloud, pulling data to the cloud seemed awkward and required access rights we couldn't get.

We ended up using Postgres 10 w/ TimeScaleDB and their Prometheus plugin with a simple emulated push gateway that converts a prom formatted http post to a postgres batch insert. Postgres is 3 nodes monitored with Patroni.

Working great for us and handling 1000+ metrics a second with ease and we get SQL for both real-time metrics for monitoring and analytics for business needs. We are using about 10-15% of our systems giving us room to grow.

<comment><USER3> > We have many private internal DCs and needed metrics to be stored in the > cloud, pulling data to the cloud seemed awkward and required access rights > we couldn't get.

You mean having a Prometheus server run in the cloud, but then pulling from on-prem things from the cloud? Not sure how either Cortex or Thanos would require that, as you'd still run on-prem Prometheus servers for them, but then collected data is pushed to the cloud in the end. But maybe I'm misunderstanding what you mean here.

> Working great for us and handling 1000+ metrics a second

Curious about this - I would expect any system to be able to do that easily, as that's a tiny, tiny amount. A single big Prometheus server can do roughly 1000x that (I think someone once managed to do 1M samples/second ingested).

</comment></comment><comment><USER6> VictoriaMetrics author here. I like the post, since it is cleanly written and it isn't biased to certain solution. I'd recommend readers trying all the mentioned solutions - Thanos, Cortex, M3DB and VictoriaMetrics and then choosing the solution that fits them the best.

Each solution has its own weak and strong points. The main selling points for VictoriaMetrics are:

* Operation simplicity. This is especially true for a single-node version, which is represented by a single self-contained binary without any dependencies. It is configured by a few command-line flags, while the rest of configs have sane defaults, so they shouldn't be touched in most cases.

* Low resource usage (CPU, RAM, disk space and iops, network bandwidth).

* High performance.

See also an interesting talk from PromCon 2019, where all these solutions are compared by Adidas monitoring team [1].

[1] [https://promcon.io/2019-munich/talks/remote-write-storage- wa...](https://promcon.io/2019-munich/talks/remote-write-storage-wars/)

</comment><comment><USER7> So here is my case. I'm running multiple Prometheus HA pairs to cover different teams. At the moment, I'm using Thanos and VictoriaMetrics in parallel to test them out.

Thanos was the first I set up as VM wasn't open-sourced yet. It wasn't hard to setup and had it running in about a day together with Minio as an S3 backend. To this day it's running without a problem, apart from an alarm every now and then that the Store or Compactor couldn't get something done. But I didn't look too much into it since everything graphing-wise seems to work. Upgrades are also easy and I love the global querier option. I sometimes see people having OOMs on a rather "large" servers on Slack, but Thanos team is suppose to be working on optimizing memory usage and it's getting better and better.

After the last PromCon, I also configured VictoriaMetrics. Installation was as simple as it can be, way simpler than Thanos, but I'm using a single node version. It works really good for the last 3 months. Resource usage is a lot lower than on Thanos.

Both solutions have their own Slack channels with developers and users there, so it is easy to get help and resolve issues.

In the end, I think I'll go with VM in my case, since it has less moving parts, doesn't need S3 backend (we are on-prem and don't have a production S3 storage) and lower resource usage. It can also ingest InfluxDB metrics, which is a massive bonus for me, since NOC team is using a solution that can only send metrics to InfluxDB (snmpcollector).

</comment><comment><USER8> I enjoyed the post. Good links to a lot of relevant, recent stories & events.

Not the article's fault, but it cites the "ClickHouse Cost-Efficiency in Action: Analyzing 500 Billion Rows on an Intel NUC" article that was published January 1. It's a week old, & I kind of feel like I'm never going to get away with it. It seems like a great, fun, interesting premise, but the authors took what is a challenging, huge data-set, and, under the guise of making the data look "realistic" they drained all the entropy out of the dataset, & then claimed they were 10-100x faster.

Well, yes, maybe for some workloads maybe. Maybe the changes they made might in some circumstances be "realistic" for some IoT use cases, maybe.

But I feel like I'm going to see this article come up again, and again, and again. And each time, I'll have these frustrations, about how while they may still be running queries on the same number of rows, they are running queries on many orders of magnitude less data. It's a fun read, & genuinely useful- in some circumstances- tech, but I don't expect to see this nuance showing up. I'm already weary, seeing this Clickhouse article again.

<comment><USER9> The difference between rowstores (Scylla/Cassandra) and columnstores (Clickhouse) comes down to the physical layout of data with batch/vectorized processing and other techniques.

There will always be a 1-2 magnitude increase in performance regardless of the data. They also used the same number of rows, except with smaller cardinality in measurements which would make an insignificant speed difference.

</comment></comment><comment><USER10> Cortex author here (Tom Wilkie). Great post that honestly highlights the differences between these systems - thank you!

The biggest take home here - and the first thing the post mentions - is the a single HA pair of Prometheus servers is enough for 80-90% of people. TLDR you probably don't need Cortex (or Thanos, etc)...

...unless you run multiple, segregated networks (regions). Then something like Thanos (or Cortex) is useful - not for a the scale argument, but because you need a way to "federate" queries and get that global view. IMO!

<comment><USER11> Isn't this the whole point of the federate endpoint? That you just run a central Prometheus pair to federate metrics at low resolution from a ton of places?

I only care about high resolution metrics for alerts. Otherwise I can just take a handful of them at 5m intervals, but from a lot of places.

<comment><USER3> There's different tradeoffs... Prometheus's own federation is a pretty simple scrape-time federation - a Prometheus server pulls over the most recent samples of a subset of another Prometheus server's metrics on an ongoing basis. Thanos does query-time federation rather than actually collecting and persisting data for all "federated" servers in a central place (other than the e.g. S3 bucket for long-term data). So with Prometheus federation you have to choose pretty carefully which aggregated stats you'd like to pull into some higher-up Prometheus layer, and then you only have access to those (in that server). Thanos allows you to query over the data in multiple Prometheus servers at once, in all their detail.

And I think Cortex is mostly useful for people who want to run a big centralized, multi-tenant service in their org to keep all the global view and long-term data. (most people tend to use Thanos)

</comment></comment></comment><comment><USER12> Let me explain my experience with tsdb selection. in 2018 we understood that we need something for long term storage. Selection was between thanos, elasticsearch and m3db.

M3db looks promising but after reading issues and docs i found i have to test it like database not like a drop in solution. for example that topic [https://groups.google.com/forum/#!topic/m3db/6iG2NL7hJ7A](https://groups.google.com/forum/#!topic/m3db/6iG2NL7hJ7A) And cortex and thanos announced that tweet [https://twitter.com/fredbrancz/status/1043060822988259333](https://twitter.com/fredbrancz/status/1043060822988259333)

Elasticsearch got disqualification because of no remote_read support. So i stopped looking for anything for at least half year just updated retention policy in Prometheus to 150d.

Also VictoriaMetrics was banned because of no source code. Also [https://github.com/akumuli/Akumuli](https://github.com/akumuli/Akumuli) was banned because of nobody hear about it. :(

Than after some time VictoriaMetrics appears to be open source and there was no issues with rate function and useless extrapolation.

So i test it on a small setup at about 7k metrics per second on single server. And it was amazing. Than 14k/s and 20k/s Previously i have the volume for Prometheus data and it was about 30 gigs on smallest install to 70 gigs on largest Moving from storing 30days in Prometheus to 90 days in vm was the huge benefit. On every of three instances with 7, 14 and 20k metrics per second i can extend retention from 3 to 5x on the same volume. With same dashboards. With same alerts. Just added remote read and remote write.

Than i decide to take it on a real life web scale production. So i started from 11 servers f2-micro on gcp. * 3 storage * 2 insert nodes * 2 select nodes * 2 promxy * 1 grafana * 1 selfmon prometheus

Got lots of expected ooms on 60k per second. Than i move to n1-standart-1 for storage and insert. It can handle at about 650k per second insert load for several weeks without ooms or any unaxpected behaviors. That was real life data from prometheus-operator from one of our rc clusters. node-exporters, application metrics and kubemetrics.

Tuning it to n1-highmem-2 for storage nodes so get enough room for background merges and so on.

Also i copy my Prometheus rules from prod to promxy (at about 200 in sum). That makes some noise for read. So i got at about 70 reads per second and pretty 90% cpu utilization on promxy servers. But almost no additional cpu load on vm servers. So i just bump all numbers in queries from seconds i moved to minutes, minutes to hours and hours to days in every query that have offset or rate or increase. That add some load to vm but not that much i expected.

In summary i'm amazed with simplicity of scheme i got. Performance is also great. My dashboards looks the same in Prometheus and VictoriaMetrics.

Oh. by the way i have some experience asking questions in issue tracker of Prometheus and VictoriaMetrics. And honestly prefer Aliaksander style of answering - long and with good under the hood info.</comment>


Introduction to Go Modules - <AUTHOR> https://roberto.selbach.ca/intro-to-go-modules/ <comment><USER2> Recently found a command line library written in go that was so useful to me in a python webapp I'm building, I decided to just wrap the go app and call it from a python subprocess. It is a bit slow to do it this way, but premature optimization, and all that. Anyhow, the bottom line is due to this I was forced to get a handle on Go this week so I could at least build the go library and make a few changes as needed. Wow, was I absolutely shocked to find out current package management in this go app is just pulling libraries from master on github. It really made me feel like go is far behind python in maturity. Pulling all these dependency libs from master definitely does not feel production ready. Maybe this will help resolve things.

<comment><USER3> I was likewise shocked at how good go compared to python in this regard.

Resolve your deps once, at build time, and you're done.

Compare that to dealing with the externalized deps that is deploying a python app on a machine that might have the correct version of python and all dependencies, or not. virtualenv? good luck. You end up bringing in docker and other tools just to deal with it. But what do you do if the machine is locked down by corporate IT and they don't allow docker or the installation of other python deps?

<comment><USER4> > at build time

Unless you're using CGO, in which case you still have to make sure your target environment has the shared libraries your bindings will make calls to.

<comment><USER5> Unless you statically link your dependencies, but that comes with its own can of worms.

</comment></comment></comment></comment><comment><USER6> Isn't it a little odd that these are called modules when they sound very much like packages? In many languages, a module is just a source code file that can be imported. Why is Go redefining this term?

<comment><USER7> Go's terminology matches java, and is the exact reverse of your comments: a package is a namespace, a module is a bundle of 1..n namespaces (packages).

<comment><USER8> Java "packages" are namespaces, Java "modules" are modules, and Maven/Ivy "modules" are packages.

<comment><USER9> Maven modules are a bit of a mess, it's a set of packages but a package can be split into different Maven modules.

I agree with the GP that go package/module are similar to Java package/module

<comment><USER10> Maven modules aren't necessarily packages; you can have POM only maven artifacts for things like BOM's, for example.

Thankfully the whole split-package nonsense will eventually go away, since the JPMS doesn't allow a package to reside in multiple modules.

</comment></comment></comment></comment></comment><comment><USER11> Do I have the ability to somehow specify "use git+ssh for this dependency" with the new modules system?

Right now it seems near impossible with go to do that other than manually cloning the repositories into the correct path. We can't host our things publicly and have to use SSH to clone the repositories at my company.

It is especially frustrating in our CI/CD process if we need to manually clone our packages for setting everything up.

<comment><USER12>
        git config --global url.ssh://firstname.lastname@example.com/.insteadOf https://github.com/

<comment><USER13> This is what we use too, but it's still magic (in a different tool) and Go shouldn't be relying on it.

<comment><USER12> I think it should actually. Go's module system should not have to give consideration to the particular transport you want to use.

Its references are canonical and it's up to you to set up the relevant process for it to retrieve the source for those references.

I get the impression that that's what the proxy stuff is about - you'll just set up a proxy which deals with retrieving the code.

<comment><USER13> > Go's module system should not have to give consideration to the particular > transport you want to use.

> Its references are canonical and it's up to you to set up the relevant > process for it to retrieve the source for those references.

Git has a proper notion of references; it properly separates transport from references of remotes. Go uses just `[https://`](https://`) links, and expects the website to have a single `<meta>` tag containing a vcs clone URL (i.e., transport) to use. VCSes have had separation and multiplicity of transport for a long time, but Go will deal with only one URL (i.e., transport), with no way for the user/distributor to specify preferences otherwise.

For example, everything from git.kernel.org to github.com allows the user to chose which URL to clone with. The remote is _not_ supposed to know or dictate a single transport.

I think `go get`'s limited method of transport discovery is just a hack that got released into production and stagnated in its form. It was a perfectly fine hack for public repos (on the internet or on Google's intranet), but it just never got any features (let alone documentation) specifically for repos that need an authenticated way to clone them. The fact that git has a nifty way to rewrite URLs is just a luck.

<comment><USER12> Bear in mind, Go doesn't just support git... so HTTP and SSH aren't the only options.

<comment><USER13> > Go doesn't just support git

I didn't claim Go supports only git.

> so HTTP and SSH aren't the only options.

My entire point is that VCSes support multiple transports since before Go came about. I never claimed Go should support HTTP and SSH only. In fact, I never claimed it should support either. I claimed it shouldn't force the VCS host to chose _for the user_ which clone URL (and thus transport) to use.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> The v2 library suffix on the package path seems rather hackish.

Feels like it would have been better to use a different delineating character instead of a slash to make it abundantly clear at a glance that it's effectively a major version tag and not a subpackage.

Other than that, seems relatively straightforward. Hope this is the last "new and completely different" attempt to tackle dependency management in Go.

<comment><USER12> Particularly the fact that it only applies after the second version. If we're going to require /v2, /v3, etc - shouldn't we also require /v1 for the first?

Also it's unclear how initial development (as per server) is to be handled. If the first few versions are v0.1.0, v0.2.0, etc. - how are these handled on the import paths.

What if a package URL actually contains "/v2" at the end, but this isn't actually referring to the version and should be used when fetching the package. Seems very odd. Agree that it should have been more like "@2".

What if you want to include two different minor versions, for example, as you can include two different major ones. Is that possible/allowed?

<comment><USER15> Requiring v1 would break backwards compatibility. If you create a new library, feel free to do that. The point is to treat different major versions as different packages, enough obviously lets you use multiple major versions in your project.

v0 and v1 are treated as the same package, you're supposed to use v0 as long as you're adapting to vgo / potentially doing breaking changes and use v1 when you know you'll keep a stability guarantee.

As I mentioned in the sibling comment, it's all described in Russ's blog post series, long, but well worth the read: [https://research.swtch.com/vgo](https://research.swtch.com/vgo)

</comment></comment></comment><comment><USER16> Lot of thanks to the author for this post. I have 2 questions:

1\. How does one use a branch of a dependency in go.mod? (scenario: local dev where api & impl repos are separated)

2\. How does one use branch from a fork in go.mod? (scenario: fixed bug in someone else's repo and now want to use my fork)

<comment> ainar-g 1\. IIRC you should be able to do

      go get example.com/repo@branch-1

2\. Something like

      go mod edit -replace example.com/repo@version=example.com/fork@version

It seems like the second command doesn't understand branches, so you'll need to specify a "pseudo-version" like "v0.0.0-20171125154426-754f7301a386". Or maybe my go1.11 is just out of date.

</comment></comment><comment><USER17> Does vgo miss a nuance in the semantic versioning of 0.x.x branches in that any bump to minor or patch allows a breaking change? Specifically point 4 of the spec. Some projects or libraries have a huge psychological barrier to releasing a 1.0.0. React comes to mind when they finally went from 0.14.x to 15.0.0.

\---

4\. Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable.

[https://semver.org/#spec-item-4](https://semver.org/#spec-item-4)

<comment><USER18> Go developers made a reasonable choice. Unstable API is just another way to say that there is no API. And with zero API any change is compatible and cannot break anything. So there is no need for v0.

<comment><USER19> If there is no API, how can the library be used? Every function a library exposes is part of the library's API, so for a library to have no API, it cannot expose any function.

</comment></comment></comment><comment><USER20> So, if I want to use the new code in v2 for my v1 legacy consumers, would I let v1 (or a new v1.1) depend on v2, and wrap the new hi-method passing in a default parameter of "en" for language?

Or is my only "supported" option to push consumers to the new major version - with the possible bit-rot of the old code?

[ed: that is manual backport fixes/improvements to a v1.x version]

<comment> ainar-g Russ has explicitly written that yes, redefining v1 in terms of v2 is not only the way to go, but in the future it might help automatise the switch to v2 with the "go fix" command.

See [https://research.swtch.com/vgo-import](https://research.swtch.com/vgo- import), section "Automatic API Updates".

</comment></comment><comment><USER21> "Go modules is a first step in potentially eliminating $GOPATH entirely at some point."

Hooray!

<comment> ainar-g Ech. I will prefer GOPATH over the hell that are C/C++ include paths any day of the week. How many are there on a modern Linux system? Six?

Holy hell, it's eight!

      $ gcc -xc++ -E -v -
      #include <...> search starts here:
       /usr/include/c++/7
       /usr/include/x86_64-linux-gnu/c++/7
       /usr/include/c++/7/backward
       /usr/lib/gcc/x86_64-linux-gnu/7/include
       /usr/local/include
       /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed
       /usr/include/x86_64-linux-gnu
       /usr/include

<comment><USER7> I'm not sure I see the difference. $GOPATH can be a list, all this tells you is that C and C++ libraries come from various sources (system, compiler, package manager, …), you could have the exact same crap in your system- provided GOPATH if there was such a thing.

<comment><USER22> Well, you have a system-provided GOPATH, in GOROOT (on my system, the stdlib source is in /usr/lib/go/src). But you just surprised me: I never knew that GOPATH is a list.

</comment></comment></comment></comment><comment><USER23> Why can't google just maintain a npm.js style repo for go packages (together with a package manager program)? And a proper simple to read manifest file for a go programmer to list out external dependencies with their versions

I really don't see these git based hacks can improve situation much.

<comment><USER24> Because a centralized repo is a disaster.

<comment><USER25> Why? It has worked out quite well for pretty much every other ecosystem like CPAN, PyPI, Maven etc. don't you think?

<comment><USER24> It worked out for the time being, but npm destroyed the illusion. I don't even see the problem. A package manager could rely completely on git with the advantage to not have an single authority that isn't giving a flying fuck about quality and security of the hosted packages. Yes it forces you to dig out a good package, evaluate it and look at the track record of the devs. Someone has to do it, but it is currently hardly happening.

</comment></comment></comment></comment><comment><USER12> Is there a recommended process or guide on the best way to switch from dep to modules?

<comment><USER15> vgo mod can read your lock or vendor file (it supports most of the go vendoring solutions) when initting.

<comment><AUTHOR> Happens automatically when you run 'go mod init' in a directory containing Gopkg.lock. Caught me by surprise the first time as I had no idea it did that :)

</comment></comment></comment><comment><USER26> Go modules are a step in the right direction but still doesn't protect you for when a developer deletes their repository!</comment>


"My phone's camera is damaged and makes noise upon activation..." - <AUTHOR> https://www.reddit.com/r/TrueOffMyChest/comments/dqn3rn/my_phones_camera_is_damaged_and_makes_noise_upon/ <comment><USER2> How could you check if camera is working at the moment?

Let's asssume you don't want to throw you phone into sand in hopes of getting some audible clues.

Also let's assume you don't want to upload custom ROM to your phone, unless it's super easy.

<comment><USER3> Its pretty easy. Most of the tools are as easy to install as any other software. The biggest hurdle is locating the correct set of tools for your device, but forums are helpful if you are patient. The bigger issue is that you now have a new attack surface to worry bout. No free lunch.

</comment></comment><comment><USER4> There is a reason why security experts recommend to everyone to never permit any app access to your camera on iOS.

This is probably also the reason why I never would recommend anyone to use android, ever.

<comment><USER5> The permissions on my Android device (Samsung, it may be different for AOSP) are wonderful. I even get notifications if an app uses unusual permissions in the background, and can easily view permissions by app and apps by permission.

</comment></comment><comment><USER6> This is why you should tape it, just like on your laptop.

</comment><comment><USER7> Of course a less paranoid way of looking at this is to consider that the operating system might be polling its various devices and sensors in some sort of maintenance routine. Perhaps it is doing the equivalent of drive head parking, or checking for faults.

</comment><comment><USER8> Oof the comments in that thread are certainly something...

<comment><USER9> Best comment ever: "I am way too high for this shit man.." \- newly extra super paranoid hipster, yelling at the sky (via reddit)</comment></comment>


µTorrent iPhone App rejected (after four months wait) - <AUTHOR> http://torrentfreak.com/utorrent-iphone-app-rejected-by-apple-goes-underground-090831/

<comment><AUTHOR> Here's the app author blog post about this (where he also says that it took four months before the app got rejected):

<http://www.cloudgoessocial.net/2009/05/19/µmonitor-rejected/></comment>


Defolio: designers workflow + Github-style crowd design + inspiration community - <AUTHOR> http://defol.io/

<comment><USER2> Interesting. Would love to see some screenshots/tour (nothing fancy) before signing up though. What I understood from the homepage: it's basically a place to upload/version/share your files?</comment>


Diversity and Discrimination in Open Source - <AUTHOR> https://quillette.com/2018/06/26/diversity-and-discrimination-in-open-source/ <comment><USER2> Isn't it illegal in the US to offer internships based on race or gender?

<comment><USER3> There are quite a few groups that place people into internships, and which work to promote people of demographics whose presence in tech is currently below what would be expected from the same demographics' share of the overall population.

I suppose if you want to argue that should be illegal, or that it should be illegal to use one of those places to source your interns, you can. But if you do that, you take away the "pipeline problem" response so many companies like to use to explain why they hire few/no female, black or hispanic people.

In other words, to argue against this, you must also make the case that the "pipeline" feeding a particular company is a matter of that company's choices and that the company can be held responsible for the demographics coming out of that "pipeline". Which, if you really want to make that argument, go for it. But I think the average person who is upset by the idea of places like Outreachy or Code2040 will not want to follow all the way to that logical conclusion.

</comment></comment><comment><USER4> I'm disappointed with their race-based criteria, in my perception Arabs/Middle-Easterners ("looks like a Muslim") rank far higher on the oppression scale than Hispanics.

</comment><comment><USER5> The author rightly objects to hiring interns based on their race or professed sexual orientation:

"This time around, however, the LLVM foundation decided to pay for an internship themselves, and agreed a partnership with an organization called Outreachy. This collaboration saw LLVM adopt interesting new eligibility criteria. Outreachy's rules state that an applicant must "meet one of the following criteria":

You live any where in the world and you identify as a woman (cis or trans), trans man, or genderqueer person (including genderfluid or genderfree). You live in the United States or you are a U.S. national or permanent resident living aboard, AND you are a person of any gender who is Black/African American, Hispanic/Latin@ [sic], Native American/American Indian, Alaska Native, Native Hawaiian, or Pacific Islander"

<comment><USER6> How the hell are you supposed to prove that you "identify as woman" if asked? If they follow the ideology at work here, everyone can identify as any gender, so basically everyone can apply by pretending to be a woman. Then they can make a fuss about being discriminated if Outreachy doesn't acknowledge they are indeed indentifying as a woman. This whole minory/discrimination is a double edged sword.

<comment><USER7> But how common is it actually to pretend to be a gender you are not for something like this? Displaying yourself as trans brings huge social opprobrium in most places. I can't imagine anyone I know pretending to be a trans woman to get a job. Do you have any evidence this is a common problem?

<comment><USER8> Someone willing to take on the stigma and dangers for an opportunity instead of go for one of the already abundant opportunities available for them may not be entirely cis anyway.

<comment><USER4> There's actually not that many opportunities for internships on C/C++ compilers.

I mean, maybe the GCC people will take you, but... yeah.

<comment><USER9> "There's actually not that many opportunities for internships on C/C++ compilers."

It seems like there are a lot of llvm-related projects outside of llvm itself, which might mean there are C/C++ compiler-adjacent internships out there.

</comment></comment></comment></comment></comment></comment><comment> cup-of-tea Has this been silently hidden from the front page? I saw it on the front page, switched computers and now can't find it listed anywhere.

<comment><USER10> This happens every time when a post or thread exposes the social justice orthodoxy for the pernicious and self-centered bullies that they are.

The original announcement about Rafael leaving LLVM was flagged off the front page too: [https://news.ycombinator.com/item?id=16982837](https://news.ycombinator.com/item?id=16982837)

Remember LambdaConf? Those posts also ended up several hundred items off the front-page, without being visibly flagged. [https://archive.is/iI5NA](https://archive.is/iI5NA)

HN maintains plausible deniability and claims that it wants to keep ideological warfare and flamewars out, but the pattern is too obvious for that to be believable, because only one side of the argument consistently gets flagged away.

<comment><USER11> This story was flagged by users and received a mild penalty for being a follow-up post (to the original announcement to which you've linked) without significant new information.

Everyone sees the pattern that represents the "other side" as having an unfair and total advantage. From where we sit, it's an obvious bias that perpetuates this kind of indignant sense of persecution which leaks meta all over the discussions—except it's even-steven. How can a site be both a Church of SJWs and an alt-right shithole?

Your lead moderator on the subject recently:

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

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

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

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

<comment><USER12> I see this claim from HN moderators from time to time that "both sides" get same treatment, but I can't recall a single time where this kind of article stayed in the front page, or forbid, had flagging turned off. Anecdotal, but it is the observed pattern that I have seen.

It would be lovely if someday you all made a statistic summery of how often moderation action is made on gender equality articles, "which side" the article is on, and what the moderation action was. A nice intern project that would at minimum give some data on the subject.

I suspect that it is partial possible to do from the outside using the API, and I have been tempted to do a bit of casual dig into how often dang comments his moderation with "I understand" or "I get what you ..." vs a more aggressive "do not do this again" or "you will get banned". It would naturally just measure the tone, but would again give some insight in how the moderation is spread on both sides.

<comment><USER13> The problem with publishing data on all that is that it wouldn't convince any of the people who care strongly about this either way. All it would do is pour fuel on the flamewars. I say this with high confidence based on past experiences.

<comment><USER12> I would say in other flamewar topics, publishing data has had a net positive effect. For example, having some data on GPL vs BSD license usage has not killed the flame war but it has elevated some of the discussion. Similar for comparing install/download numbers of Vi vs Emacs. It is unlikely to cause anyone to "switch side" but it reduces the anecdotal noise and focus the discussion to either be about the strength and weaknesses of each side or to be about the data collection method.

I personally can't think of a single flamewar topic where data has poured fuel on the flame and made the discussion worse. Could be a failure of imagination of course but past experience has been clearly on the positive. I see however that the work is unlikely to be done by you all if you collectively don't think it is a good idea.

<comment><USER13> Those are good points! But I still don't see the upside. I think it would likely force us into spending even more attention on ideological matters, which already take up far more of our time and energy than they should. Just attempting (and repeatedly failing) to keep the peace here is at the limit of our resources and abilities. It takes time and energy away from other things we could be doing to improve HN. People don't often consider this opportunity cost, but it's on my mind a lot.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Summary: "I can't tell the difference between discriminatory hiring [rejecting based on identity] and targeted hiring [seeking people out based on identity]."

Author even acknowledges the previous policy (which does sound discriminatory based on their framing) is no longer in place at LLVM, which is the focus of the article.

This is not really about "open source." It's about LLVM, and springs off randomly at "open source" using poor-quality non-citations, weasel words (of the species "some people say"), and other hallmarks of bad, ideologically- tilted writing.

<comment><USER14> ... please read the article, its not about hiring. Its about internships.

<comment><USER9> That's arguably a kind of hiring.</comment></comment></comment>


The Accessibility Cheatsheet (2015) - <AUTHOR> https://bitsofco.de/the-accessibility-cheatsheet/ <comment><USER2> While there is a lot of useful information included, it's quite comprehensive for a cheatsheet. I tend to point others to the one from Moritz Giessmann instead [0].

[0] - [https://moritzgiessmann.de/accessibility- cheatsheet/](https://moritzgiessmann.de/accessibility-cheatsheet/)</comment>


Medical, Dental, 401(k)? Now Add School Loan Aid to Job Benefits - <AUTHOR> http://mobile.nytimes.com/2016/03/26/your-money/medical-dental-401-k-now-add-school-loan-aid-to-job-benefits.html?smprod=nytcore-ipad&smid=nytcore-ipad-share&_r=1&referer= <comment><AUTHOR> Ideally this (expensive student loans) shouldn't even be a problem that requires solving. But the situation is what it is and this sounds like a decent solution to help ease stress on your employees.</comment>


How oil traders make big bucks by using satellite surveillance - <AUTHOR> https://www.wired.co.uk/article/cubesats-economic-forecasting <comment><USER2> Great. The more people that know the flows of oil, the better.

They probably made big bucks by moving oil towards where there was going to be a drought of oil, or away from where there was going to be a glut.</comment>


Ask HN: Does anyone know of any good MOOCS/Online resources for writing? - <AUTHOR>

I am looking for any resources regarding writing. Preferably not something specifically aimed at Academia nor Fiction but something more general and applicable to blog posts for example. Anyone on here aware of any such guides/tutorials/books/moocs which might deserve a recommendation? <comment><USER2> I don't know about any MOOC on writing, but there is one very popular course named Writers Bureau. Their web address is [http://writersbureau.com](http://writersbureau.com)</comment>


Windows On ARM Users Need Browser Choice Too - <AUTHOR> http://blog.mozilla.org/blog/2012/05/09/windows-on-arm-users-need-browser-choice-too/

<comment><USER3> Don't know why Mozilla isn't making a bigger deal about the iPhone/iPad browsers. Apple pretty clearly still holds a monopoly position, at the least a majority position, but their platform is locked down. But it's ok for Apple, but bad for Microsoft?

I have a bad feeling about Mozilla's prospects going forward. If the mobile platform "single" browser model is allowed to continue, they don't really have a place in that world.

<comment><USER4> Because if they do, no one will care except a few FOSS fans and it would get flagged to death on HN.

But it's open season on MS, that's why we have three different stories on the front page reporting the exact same story, so they know how to get people riled up.

<comment><USER5> Not to mention that iOS is not as similar to Mac OS X as Windows RT is to Windows x86.

<comment><USER6> ARM Windows will only be the Metro version with all the isolated processes, etc. While Win x86 might have that, it shares nothing else with the traditional Windows model and is it to all intents and purposes as different as OSX and iOS.

I really don't see the problem with this if people don't have a problem with iOS only allowing Safari as the default browser.

<comment><USER7> Windows RT will apparently have an implementation of the classic Windows desktop with all the traditional Windows APIs, but only Microsoft applications will be allowed to use it. In fact that's the entire point of Mozilla's complaint - the bundled IE has an unfair advantage by being allowed to use the more powerful classic Windows APIs whilst other browsers are stuck in Metro.

</comment></comment></comment></comment></comment><comment><USER8> Mozilla should make more fuss about this because it's important.

I see my family happily using Linux on their laptops because 80% of what they need is a browser. And Google with ChromeOS also thinks that a browser should, in time, be enough.

So, the fact that we have ecosystems being developed where there is only one blessed browser (be it Safari or IE) is a severe roadblock.

The browser isn't like another app, it's more like another kind of AppStore. If we accept the current situation, they will find a way to monetize that too and there will be no escape.

<comment><USER9> Is having one "blessed" implementation of the web stack on a platform such a bad thing? Ultimately I think the notion of the "browser" and "operating system" as we know them today will disappear, and we'll be left with OSes that boot straight into a rendering engine. There will be no such thing as a "native app".

<comment><USER10> I'd say yes it is a bad thing. Why is Web so hot? Because it works on all platforms and is always up to speed. If my browser doesn't render a site properly I can fire up another web browser and try again. Imagine what would happen if each browser was locked into the computer. There would be browser war and someone would win. That means more people will use that browser/computer which will make developer hesitant to support other browsers. Circulus vitiosus and you'd have the same issue like with IE from ten years ago. Without competition dominant browser would stagnate and we'll be up to our necks in molasses.

Operating system as they are won't be going away soon anytime unless the issue network lag, security and availability aren't solved. Otherwise we'll just return again to the desktop paradigm.

</comment></comment></comment><comment><USER11> The key argument here is the same as Microsoft's previous issues with undocumented APIs. I think it's fairly clear that Microsoft wants Windows RT to be an iOS and Android competitor, not "Windows 8 on ARM". If you subtract the Classic mode from Windows RT it's in the same OS category as iOS, they just took a different approach to get there by basing it on their desktop OS.

The problem is that Microsoft has turned pretty much the entire Windows API into an undocumented API (AFAIK, please correct me if I'm misunderstanding the technical details here) and completely locked it down so that they're the only ones that can use it. It's not necessarily simple to move a large program like IE or Office over to a new architecture, but it's going to be an order of magnitude easier to do so when you don't have to rewrite it to an entirely new API (in this case Metro) while you're at it. Yes, Firefox can still put out a Metro version, but I would imagine that it would be a significantly greater undertaking than if they had the ability to write to Classic.

The unfortunate thing here is that this isn't necessarily an underhanded plot by Microsoft. There are definitely some benefits to the more sandboxed-style apps pushed by iOS and Android vs. what you can do with a desktop OS, especially when it comes to non-powerusers that just want stuff to work. From that point of view the Classic mode in Windows RT really shouldn't even be there at all, but if you want something like Office on ARM anytime soon then it's probably the only option. The trouble is that Microsoft wants to provide the additional benefits of a few key Classic applications while also trying to avoid having the OS turn into a bunch of poorly-ported desktop applications and I'm not sure they can have it both ways.

<comment><USER5> Reminds of how AnyCPU EXEs in the .NET Framework are loaded by the Windows loader.

</comment></comment><comment><USER12> This frankly isn't any different than my iPhone where no other browser can become the default!

<comment><USER13> Opera Mini is available for iOS devices in the app store: [http://itunes.apple.com/us/app/opera-mini-web- browser/id3637...](http://itunes.apple.com/us/app/opera-mini-web- browser/id363729560?mt=8)

<comment><USER14> It still uses the Safari rendering engine, because Apple mandates it.

<comment><USER15> No, Opera Mini doesn't use Safari. The reason for this is that with Opera Mini, the rendering engine isn't on the browser - it's on the server. This is what enables Opera to ship Mini as a tiny client, on a wide range of different devices.

There's a bit more info about this here: <http://www.opera.com/mobile/specs/>

In particular, _"The rendering engine is on Opera's server."_

</comment></comment></comment></comment><comment><USER16> I'm not sure why Microsoft wants to exclude other browsers from Windows RT. Since many people hate IE, wouldn't having more browser choice be a benefit? Mozilla or Google could probably offer a better browser on Windows RT than Microsoft. Does Micrsoft make much money off IE? Wouldn't it be a better value to focus on their comparative advantage creating operating systems to help others make the web browsers?

In the inevitable comparison to Apple: the iPad's browser resembles Safari, which a minority of computer users use, and has poor support for HTML5. If Mozilla could make Firefox for Windows RT, which would be the same browser many people are used to, and could potentially have better HTML5 performance on a tablet, would that not be an important advantage over Apple, at least for adoption among technical users?

<comment><USER17> Because letting in FireFox means letting in Chrome which means letting in Google to entirely subvert their beautiful new OS and turn it into ChromeOS. MS needs to be in a position - just like Apple - to ensure that browser based apps remain _at least_ just slightly worse than native ones so they keep a chokehold on the tollgates to the river of digital money that will come flowing through their app store.

<comment><USER18> To be fair, Apple originally wanted web apps to be the only form of third- party software. There was a huge fuss, and that brought us the App Store.

</comment></comment></comment><comment><USER19> With Microsoft's newfound love for HTML, this adds significant pressure to keep IE decent and updated regularly. IE10 is OK today but will be outdated in a year. Will IE11 ship within 12 months (from now, not Win8 RTM).

Otherwise MS has an OS emphasizing HTML, with a limping browser.

The ARM excuse is bogus.

</comment><comment><USER20> To be fair, there is one element missing from history, 90% market share in tablets. Microsoft doesn't have a monopoly position on tablets which is essentially what Windows on ARM means.

It's interesting to note that on iOS there's no way to really replace Safari. Any links still open in Safari, no matter what else you've installed. Of course Apple does have a monopoly position on tablets.

I'm not trying to say that there shouldn't be browser choice, just that danger is more Apple than Microsoft at this point. If Microsoft changed their policy today it would benefit almost no one, but if Apple changed their policy today it would benefit millions.

<comment><USER21> It hurts and annoys me to no end that web developers don't take a stronger stand against Apple for its ridiculous policies against allowing browsers. To me, the browser is the single most important piece of software on any computer.

People love to talk about how iOS native apps totally win over web apps. But do they stop to think why that is the case? Because, the one native app - <USER2> better browser - that could change the situation is not allowed on iOS.

Firefox and Chrome pushed the boundaries a lot when they first appeared on the desktop scene. But now they've become too caught up in standards compliance to actually do radically innovative things (except B2G, I'll admit).

I'm betting on a new kickass browser on Android to either force Apple and Microsoft to open up, or make them irrelevant.

<comment><USER22> But Apple also thinks the browser is the single most important piece of software on iOS. Because of that, they don't want to be dependent on a third party. They want to have their own optimized webkit engine used, so the users have the best experience. And it worked at least for the last 5 years, I greatly preferred Safari or iCab on iOS to the Android browsers.

<comment><USER21> If you don't have any real options other than IE, you cannot imagine a Firefox is possible.

Microsoft : IE :: Apple : Safari

<comment><USER22> The triumvirat of the future Web:

Microsoft : IE :: Apple : Safari :: Google : Chrome

It will be a hard place for Firefox and Opera.

I read the blog post again, and I understand it so, that Mozilla can make a Windows 8 RT (ARM) version of Firefox, but only in a sandboxed version (no plugins/extensions?) and without access to the classic environment. So Microsoft is more lenient than Apple, but the result is perhaps the same, that it will be too tough to compete with the built in IE browser and its privileged features.

<comment><USER23> Mozilla can't make web applications run fast because they aren't allowed to JIT JavaScript code. That is by far the most important thing (and it's true on both iOS and Windows RT).

</comment></comment></comment></comment></comment></comment><comment><USER24> You know, every so often, a Stallman item or quote or something shows up on HN and there is much wailing and laughing and mocking and gnashing of teeth.

Folks feel ashamed of his words, are outraged at his lack of tact and manners, and constantly and publicly denounce him as an anachronism, an inconvenient throwback to the bad old days of the free software movement. We drink beers, sip coffee, hack web apps, compare term sheets, and chuckle at this old goofball.

And then shit like this happens.

And you know what? Maybe he's right to be that crazy, and maybe we're wrong to be so dismissive and consider him so alarmist, and maybe everyone should take a good, hard look at what we value in tech and what we can do to protect it.

<comment><USER25> Just because some of Stallman's predictions have become true, doesn't mean every stupid BS he says is true. As civilized people we should discuss and decide what is true and what is BS, which is what many do on HN.

<comment><USER26> "discuss and decide what is true and what is BS"?!!

Do you honestly think that truth needs to be discussed and decided? The man - as much as I dislike him and his behavior - got it right. and it isn't the first time too. Sure some of his statements might seem too outlandish at first, but many of them happen. Anyone remember this <http://gnu.org/philosophy/right-to-read.html> ?

I simply cant fathom the reasoning of people who are quick to ridicule any idea that does not fit in their image of how the world works.

<comment><USER27> Stallman's _opinions_ for how the world should work and his predictions for what will happen in the future are not "truth."

I think it's totally fair to look at something he's said or written in the context of a guy who has been right in the past. But that doesn't mean everything he says is beyond reproach.

</comment></comment></comment></comment><comment><USER28> Given that right now there are already two more popular (extant) choices, iPad and Android Tablets, I fail to see how this is an issue.

Back in the day when Microsoft got in trouble you couldn't really argue it was feasible to get a PC without Windows.

</comment><comment><USER29> There is actually nothing preventing anyone from writing a browser for windows on arm. The issue is that the API makes it inconvenient for existing browsers to be ported.

I've written a proof of concept HTML to WPF parser/renderer that worked fine inside WinRT. It wadls written in c# which is where the issue is I think...

<comment><USER30> _...WinRT. It wadls written in c# which is where the issue is I think..._

You can write WinRT in C++ as well. This was shown again and again on the Build Windows launch conference.

Edit: I don't know how restricted the WinRT APIs are though and how being restricted to those (as opposed to the traditional Win32 APIs) affects what you can implement and not.

Edit2: This post seems to answer it. Browsers will have issues.

[http://www.freelists.org/post/luajit/FYI-No-JIT-on- Windows-8...](http://www.freelists.org/post/luajit/FYI-No-JIT-on- Windows-8-for-ARM)

<comment><USER31> Why is the ability to make code executable at runtime unavailable? JRuby can run in the browser, and NativeClient runs applications that use JIT[1], so I assume the ability isn't inherently at odds with sandboxing.

1\. [https://groups.google.com/forum/?fromgroups#!topic/native- cl...](https://groups.google.com/forum/?fromgroups#!topic/native-client- discuss/karmYg8XACI)

</comment></comment></comment><comment><USER32> When you don't have an OS choice (in order for a tablet to be approved for Windows 8 ARM), browser choice is the least of your worries.

</comment><comment><USER33> This is unforgivable: [http://arstechnica.com/information- technology/2012/01/window...](http://arstechnica.com/information- technology/2012/01/windows-8s-locked-bootloaders-much-ado-about-nothing-or- the-end-of-the-world-as-we-know-it/)

Basically, all ARM Windows machines will have an encrypted boot loader. The concessions you might have read about are for secure boot on other systems.

They also have been threatening Linux distributors with patent infringement lawsuits. Every ARM phone has a windows license paid for it, it's just not installed.

This is truly the sign of desperation and insanity. Once you get scared of the competition that much, you might as well show yourself to the door.

I want to make myself clear: Microsoft has done great things. But now; well now they are finally having to bleed. And we, the customers and competition, are going to see just how fearsome a desperate, dying cornered animal it truly is.

That patent library and legal team aren't going to go unused...

<comment><USER34> _Basically, all ARM Windows machines will have an encrypted boot loader. The concessions you might have read about are for secure boot on other systems._

I haven't been able to test it myself yet, but some of my users tell me that EasyBCD is able to work around this issue.

<comment><USER33> Can you point me to where it works with an ARM Windows 8 device? I don't doubt it, I just don't see it anywhere in the documentation.</comment></comment></comment>


Guido on the fate of Lambda, map() and filter(), and reduce() in Python 3000 - <AUTHOR> http://www.artima.com/weblogs/viewpost.jsp?thread=98196 <comment><USER3> "filter(P, S) is almost always written clearer as [x for x in S if P(x)]"

Is this widely believed by Python hackers?

<comment><USER4> If P is a built-in function taking a single argument, or one that's already been defined, no. That's often not the case, though, and using a simple lambda is annoying and usually less efficient the rest of the time.

For example,

        filter(isfile, os.listdir(some_dir))

is cleaner than:

        (f for f in os.listdir(some_dir) if isfile(f))

But

        filter(lambda f: f.endswith('.py'), os.listdir(some_dir))

is worse than:

        (f for f in os.listdir(some_dir) if f.endswith('.py'))

Ruby's blocks are something to be jealous of, in this case. List comprehensions and generator expressions have other merits, though.

<comment><USER5> I wish there was an easy syntax (in Python) for not only map and filter - <USER2> for something like reduce/foldr/foldl as well. You still have to write loops to do this (or use reduce.)

<comment><USER4> Me too. I think the introduction of the functional module will actually be good, because there's less resistance to adding clever features for higher- order functions in the standard library than there is in the core language (in Python, at least, since it aims to be small and beginner-friendly). Look at the itertools module to see how that turned out -- lots of useful tricks borrowed from the ML family, and you can "buy it by the yard".

</comment></comment></comment></comment><comment><USER6> I think the problem of list comprehension is that it is not as flexible as combination of map() and filter(). For example,

      [F(x) for x if P(x)]

is equivalent to

      map(F, filter(P, S))

but what about the equivalence of

      filter(P, map(F, S))?

Without using any map() and filter(), this is the solution came up to my mind

      [x for x in [F(y) for y in S] if P(x)]

Pretty ugly, huh?

<comment><USER7> [F(x) for x in S if P(F(x))]

<comment><USER6> That means you have to do F(x) TWICE, which is sometimes ineffective (when F(x) costs too much)

</comment></comment></comment><comment><USER8> wait a minute, you can't just expect python primitives to vectorize? And people live without any(), all(), etc?

Its been a long time since I primarily wrote python, and I guess R has made me lazy, but seriously: WTF?

Maybe hold off on Py3K until this is done?

<comment><USER9> any() and all() are available in Python 2.5.

<comment><USER8> cool, I can't believe I haven't had occasion to use them yet.

thank you</comment></comment></comment>