My years working on black programs - <AUTHOR> https://www.thespacereview.com/article/3833/1 <comment><USER2> "My supervisor observed that I was anxious to learn new things. He assigned me to the Discoverer project to develop system schematics, interconnection diagrams, and wire harness definition. I was working for the Electrical Systems engineer. His was a very responsible and highly visible position. And like most engineers working in this new field, he was in his early 20's, just three years older than me. There were senior engineers in management positions, but there were no senior spacecraft engineers. Everyone was learning on the job."

Parallels to Silicon Valley are easy to find. It's a valid career path: if you want to progress fast, find a hot young area where there are no senior experts and work hard to keep up.

<comment><USER3> I'd assume nowadays it could be Cloud, AI? But thinking through, they do have some history.

<comment><USER4> From where I'm sitting, it seems like most of the money to be made in the next 10 years won't come from high tech, but rather from applying bang average tech (Python, React, Go, and standard AWS infra) to industries where the most experienced specialists have no concept of what those words mean (e.g. healthcare, agriculture, finance). There are huge opportunities to make these industries more efficient, and make money along the way.

<comment><USER5> Please do expand - I agree with you but as usual am missing the extra connection?

<comment><USER4> I work at a company that intersects finance and healthcare.

Our competitors to dominance through smart acquisitions, but this came at a fixed linear or super-linear operating cost per unit of growth. We are growing by identifying abstractions, and incorporating the new markets into existing ones.

Their method was the best way to quickly grow a company to a national scale in the 60s, but it comes at the monotonically-increasing costs of internal coordination and duplicate work. Software allows you to grow gracefully, while avoiding those problems as they appear.

As an example, we analyze inbound calls by volume every quarter to identify how we can anticipate user needs, and solve them ahead of time, without requiring a phone call (thereby improving the client's UX and saving operating cost). Every year, we reduce our call volume while simultaneously increasing our client headcount and improving the tools that are at our team's disposal. That kind of iterative optimization isn't possible at the big conglomerates.

Look for industries that haven't figured this out yet, those are the ones where the money will be made; Stripe is a good example of this playing out in finance.

<comment><USER6> Hello,

thank you for your explanation! I would love to hear more about your approach. I am looking what to do next in my professional life, and these kind of concepts sound very exciting!

Would you perhaps be willing to have a short conference call, or perhaps, an email exchange?

My email address can be found in my profile.

Cheers!

</comment></comment></comment></comment></comment></comment><comment><USER7> During the Iraq War, everyone marveled at the great new technology behind the Predator drone to conduct surveillance and deliver ordnance during strike operations. Then it leaked that the Predator had been developed 15 years earlier and used successfully in Desert Storm. Cut to 2011 when we learned that the SEAL team that killed Osama Bin Laden used a stealth helicopter, something that no one in the world had any public success toward achieving, and we not only achieved it but were running classified missions with it.

Based on those two examples alone, I estimate that the most secretive programs are 15 years more technologically advanced than we are in the public domain.

AI and Quantum Computing come to mind as likely focus areas in addition to those already mentioned.

<comment><USER8> The most interesting thing for me is: how do you keep all those bright minds with enough knowledge and experience from striking out on their own either in academia or in business? At the end of the day creating new tech is hard, replicating 'easy'. Or is it that the "15 yr ahead" simultaneously suggests it's about 15 yrs of work on your own to replicate? Perhaps they work with great compartmentalization? But compartmentalization suggests you don't need great minds, but just very good minds with good structure. That goes against what I think I know about innovation. It's quite fun fantasizing about a world within a world with better technology.

<comment><USER9> You are ignoring a very important part of it - some people genuienly want to "help their country" and are willing to sacrifice personal success for this. For example it's not exactly a secret that 3-letter agencies don't pay software engineers anywhere near as well as other IT companies would, but the promise of doing something "for your country" is worth more than money(just like game developers sacrifice money to work on something they really like).

<comment><USER10> Since graduating from college with a EE degree, I've worked for 3 employers, all of which had or have very deep roots in the intel community. At my current firm, we've always had success by a large investment in new technology under IRaD. As one of our founders has said, we provide solutions to problems that our customers don't yet know they have. Payscales for engineers is consistent with commercial companies here in Silicon Valley. In my 40+ year career, I can honestly say that I've never sacrificed personal success for this job and the work that I've done has contributed, in a hugely important way, with our ability to collect and analyze data from the "bad guys". I have absolutely no regrets for my career path.

</comment></comment></comment></comment><comment><USER11> Considering that some individual NRO launches have had budgetary costs of $900m to $1.1bn for a single satellite and launch vehicle, it would be fascinating to know what kind of technology they're dealing with today. Lots of rumors about KH-11s and Misty, not much concrete info, for obvious reasons (it's all TS and codeword and higher).

[https://en.wikipedia.org/wiki/KH-11_Kennen](https://en.wikipedia.org/wiki/KH-11_Kennen)

A few years back an unused mirror assembly that was near identical to Hubble was declassified.

[https://www.americaspace.com/2012/06/06/top-secret- kh-11-spy...](https://www.americaspace.com/2012/06/06/top-secret-kh-11-spysat- design-revealed-by-nros-twin-telescope-gift-to-nasa/)

<comment><USER12> [https://en.wikipedia.org/wiki/2012_National_Reconnaissance_O...](https://en.wikipedia.org/wiki/2012_National_Reconnaissance_Office_space_telescope_donation_to_NASA)

Consider that the NRO very likely has at least a dozen superior to Hubble spy satellites orbiting as we speak.

<comment><USER13> What capabilities will those (supposedly) satellites have ? read the small handwriting on the shopping list I have made through the apartment window at night ?

<comment><USER14> I saw something once that explained how the powerful magnification seems silly until you account for the angles that things are at.

The example they used was that license plates are vertical so to read them the satellite can't be directly above the car so it's actually a much further distance and greater magnification is necessary because of the atmosphere and the distortion of reading something at an angle.

<comment><USER15> More that the satellites are in fixed orbits that are relatively low (250 km) and moving at thousands of km per second. Even if the target is directly below them, they need to rotate quite a lot to see it for more than a few seconds at a time. If the target _isn 't_ directly below, they need to look much farther sideways than down.

<comment><USER14> most spy satellites aren't geostationary?

<comment><USER16> No.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> That was one of the more interesting black programs. Some of them are really boring.

There are times when you get through all the security checks and see the thing, and see "they still have one of those running?" The famous Blue Cube in Sunnyvale, the USAF's satellite control center, was running 1960s technology well into the late 1980s.

Now it's a parking lot for Google buses.

<comment><USER18>
      The famous Blue Cube in Sunnyvale, the USAF's satellite control center

I just got off westbound 237 at Mathilda an hour ago for the first time in years. It's so strange to see that entire side of the road _leveled_ in the background.

Blue Cube: gone. Lockheed building 101: gone. Lockheed building 102: gone. Five years of my career without a single physical artifact left.

</comment></comment><comment><USER19> > "One of my early assignments was to lay out a printed circuit board. My > electrical engineer gave me a schematic and identified each part type, be it > a TO5 transistor, carbon resistor, tantalum foil capacitor, et cetera. My > task was to fit all the components on a fixed size board and connect them > according to the schematic with copper circuit runs on the back of the > board."

This sounds like it would be an incredibly satisfying job, especially given that there was constant variation in what he had to build

<comment><AUTHOR> It's interesting that things weren't so siloed then, that a draftsman could be an ad hoc PCB designer.

<comment><USER20> TBF a lot of what he did sounds like work that would be done by the autorouter on most electronics CAD today.

<comment><USER21> Autorouting is still not generally used very much in PCB design. I suspect it could be used more than it currently is, but generally you spend a lot more time specifying design rules and the results are often quite poor.

</comment></comment></comment></comment><comment><USER5> >>> But what about those people in the monkey lab? They believed this spacecraft was for their payloads. And they will never find out they are just a cover for the CORONA program.

That as much as anything here seemed ... wasteful? cruel? Unlikely to fool anyone?

</comment><comment><USER22> Context: secret US aerospace programs in the late 1950's and early 60's

</comment><comment><USER23> I got in a conversation with my brother in law's uncle a few years back, and found out he spent a lot of time "back when" working out how to de-orbit the old Skylab station. Calculating drag based on how it was oriented (and how to orient it) to encourage de-orbiting just so. Still kind of amazing to think about how he did that. It's like trying to line up just the right bowling ball shot on a 1000' long lane. Remotely.

</comment><comment><USER24> > He told me that what I was about to learn, I could not discuss with anyone > who was not also cleared for this information. I could not talk about this > with family, friends, or other GE employees forever.

I wonder if _forever_ still applies...

<comment><USER25> Yes. If you haven't been debriefed on the topic you haven't been told what parts of what you know are still public. I know a few ex-top secret people who will admit they worked with projects that we now know a lot of information on - but they refuse to say more than they worked on the project. They haven't been debriefed, so they won't even read a newpaper out loud if it touches their old project because they legally cannot talk about it even public information lest they leak something that hasn't been made public yet.

</comment></comment><comment><USER26> As a person who has held various clearances through my career I wonder about this guy telling his story.

It is interesting to read for sure,but he does say in that he promised not to talk about "forever".

I have been given similar talks.

Even if part of what you work on is declassified, it does not release you from the "forever" clause.

I assume he has requested and been given permisson to talk freely about it.

<comment><USER27> 2019 in late 1950s was approximately "forever". Remember, Space Odyssey filmed 10 years later was taking place in 2001, already 18 years ago. We are _that_ far in the future.

<comment><USER28> That is absolutely not how the United States government thinks or operates.

<comment><USER27> The programs he worked on are declassified, so it absolutely does.

<comment><USER28> That has nothing to do with your comment, but regardless it absolutely doesn't. Just because other people may be allowed to talk about it doesn't mean that you are.

</comment></comment></comment></comment></comment><comment><USER29> A while back, I watched and enjoyed a documentary about the Corona program mentioned in the article.

I believe this is it: [https://www.c-span.org/video/?321255-1/discussion-cias- coron...](https://www.c-span.org/video/?321255-1/discussion-cias-corona- satellite-program)

</comment><comment><USER30> I love stories like this and have read several books around these topics, but always love to ask for recommendations when something like this gets posted in HNs. What is your favorite book around this topic?

</comment><comment><USER31> "After my clearance was granted, I moved into the main drafting room with about sixty other draftsmen, designers, and lofts men. (A loftsman develops full scale patterns, or drawings, of complex shapes.)"

What does "develop full scale patterns, or drawings, of complex shapes" mean in the context that this is different from drawing blueprints like the draftsmen?

<comment><USER32> I believe loftsmen prepare full size drawings or patterns at 1 to 1 scale, whereas a blueprint may be at a reduced scale. I.e. a blueprint fits on a drafting table; the pattern created by a loftsman would go on a factory floor.

<comment><USER33> Comes from the ship building industry [https://en.wikipedia.org/wiki/Lofting](https://en.wikipedia.org/wiki/Lofting)

<comment><USER34> Now it is common to use a laser tracker to take measurements and create full- size drawings. Spacial Analyzer really changed the game. NNSY has over 90 API laser trackers that they use.

</comment></comment></comment></comment><comment><USER35> If you liked this, here's a talk by an engineer who worked on the camera systems of the next generation black program, after corona, hexagon: [https://youtu.be/GtmtYlcPYYA](https://youtu.be/GtmtYlcPYYA)

</comment><comment><USER36> That was an awesome read. Thanks for sharing!

</comment><comment><USER32> For more recent information on a similar topic: [https://www.americaspace.com/2012/06/06/top-secret- kh-11-spy...](https://www.americaspace.com/2012/06/06/top-secret-kh-11-spysat- design-revealed-by-nros-twin-telescope-gift-to-nasa/)

</comment><comment><USER37> This is a good, lite technical read for those interested in stealth.

[https://www.amazon.com/Radar-Man-Personal-History- Stealth/dp...](https://www.amazon.com/Radar-Man-Personal-History- Stealth/dp/1450248020/ref=nodl_)

</comment><comment><USER38> The photograph: dat sliderule tho.

Good tutorial on using one from a channel that focuses on the subject:

* [https://www.youtube.com/watch?v=uAGCDTtIahY](https://www.youtube.com/watch?v=uAGCDTtIahY)</comment>


Commandeer – The Desktop AWS Cloud IDE – Version 1.0.4 Released - <AUTHOR> https://getcommandeer.com <comment><AUTHOR> AMA - Bob who helped build this is standing by if anyone wants to chat about the tool. We are currently taking in a lot of ideas and will be building out even more robust features over the next couple of months.

</comment><comment><USER2> Does this work to support multiple AWS accounts?

<comment><AUTHOR> Yes, multiple AWS accounts and all regions, as well as LocalStack.</comment></comment>


Massive Computational Experiments, Painlessly - <AUTHOR> https://stats285.github.io/ <comment><AUTHOR> This is a related (companion) course to "Theories of Deep Learning (STATS 385)"[1] at Stanford, which was also previously discussed[2]

[1] [https://stats385.github.io/](https://stats385.github.io/) [2] [https://news.ycombinator.com/item?id=15645082](https://news.ycombinator.com/item?id=15645082)</comment>


Ask HN: Should I advise my coworkers against working with my family member? - <AUTHOR>

I've landed my dream job as a software engineer. I've worked at the company for 6 months. Everything is going great. We're a very small company, only about 15 people.
I am currently living in my parent's extra house with my sister, but moving out soon because we don't get along. I'd rather pay rent elsewhere than continue living there for free.
My company is hiring a marketing coordinator, my sister applies. (Company is aware that she is my sister, and a few know that we don't get along.) She is technically qualified for the job, and may well be appropriate for the position. I assumed that if my coworkers had any intent of contacting her, they would notify me first. Without notifying me, the hiring manager schedules a call/interview with my sister.
This puts me in a very awkward position. I dread the idea of working with her, it stresses me out just thinking about it. I envision my joy in my work dissolving away if I have to sit 15 feet away from her every day, listen to her at lunch, be forced to interact with her in a professional setting, etc.
Does anybody have any advice on how to respond? Should I notify the hiring manager about my concerns? Should I directly advise against hiring her? Is it unethical or unfair to "sabotage" her chances by notifying them of how it would affect me (reverse-nepotism)? <comment><USER2> If your job duties are expected to have any overlap at all, I think it's reasonable and uncontroversial to veto the hiring of someone you know you aren't going to be able to work with productively. So that's a starting point.

But if there's no expected overlap in duties and you just don't like the idea of her being in the same office, it seems to me that that's not really a professional issue anymore. It's a personal problem. (There's nothing wrong with having personal problems, everyone's got some.)

It is a little unethical to negatively impact someone's career due to a personal problem you have with them, I'd say. But if changing your feelings isn't an option, it's hard to see that you have a choice other than telling your employer about your problem and suggesting a no-hire.

<comment><USER3> I'm going to push back on this otherwise excellent answer a little bit and raise the issue of company culture. While personal issues shouldn't--in the ideal sense--impact the workplace, knowingly bringing them into the fold could negatively impact the company as a whole. Be it frosty relations between two employees causing others to take sides and create division where none existed previously or direct confrontations that interrupt all other parties.

All hires bear risk that they won't fit it in or they'll have a hard time adapting to company culture. Knowingly bringing in someone with strong personal issues with another employee should require a higher level of scrutiny to ensure the issues won't result in a toxic workplace or destroy internal culture.

</comment></comment><comment><USER4> I would let the hiring manager know that there are issues between you and your sister. You probably don't need to elaborate beyond "family problems" She doesn't have the job yet, but that at least lets him or her know that there are things to watch out for.

If they do hire her, just be professional. If your sister cracks and starts being unprofessional, then it's not your fault.

The best revenge is living well.

</comment><comment><USER5> Tell the hiring manager that you are uncomfortable with the idea of working in the same workplace as other family members.

No more explanation should be offered or provided.

Be aware that your expectation that your coworkers would talk to you before contacting your sister was rather unrealistic.

Also be aware that that this is essentially "she goes or I go." Take the steps necessary for the latter situation. It's a business and who to hire is a business decision.

</comment><comment><USER6> Nobody else can help you with this.

What do you value more, your happiness or your sister's happiness? That's what it really boils down to. Nobody can answer that for you, and nobody else should.

If she is actually professional and good at what she does I'd be more inclined to let it go and see if they hire her. If she starts acting unprofessionally after she starts then I'd raise that like you would any other employee.

</comment><comment><USER7> I wouldn't just tell them to not hire her, but I would voice your concerns. If they think that she is the best fit for the job still, then suck it up and deal with it.

</comment><comment><USER8> If she behaves in a professional way and you do too, how can anything bad happen? Or would you have issues working with other marketing coordinators as well?

You don't have to like someone personally to work with them. As long as you both do your job correctly, there should be no issue. If either of your becomes unprofessional, they should be fired.

</comment><comment><USER9> Just tell them straight up if they hire her you're out.</comment>


Ask HN: How do you preform competitior monitoring and where do you get the data? - <AUTHOR>

I am developing a competition monitoring web application and just wanted to ask the community how do you currently stay updated with your competitors activity online and where do you find useful information about them? I am trying to join several information sources under one big roof in order to get the daily competitor activity stream for a nice MVP. What I would like to ask is whether anyone finds this idea worth trying or has any other suggestions about the concept? Also I would really appreciate if you can give some comments about my pre-launch page that I use to collect future clients emails (http://kompetoo.com/signup/). <comment><AUTHOR> I got some replies form the folkes that opted in on my landing page that they mainly use Flesh&Blood (they hire a company :D) to get the needed results. I think I see a pain here, because an automated service will make this process faster, cheaper and accessible from anywhere.

</comment><comment><USER2> google alerts</comment>


Stop Lying to Yourself About the Coronavirus - <AUTHOR> https://www.forbes.com/sites/brycehoffman/2020/02/22/stop-lying-to-yourself-about-the-coronavirus <comment><USER2> I helped a phone company develop a disaster recovery / business continuity plan back around Y2K. It was a hefty job requiring them to physically move things around between different locations and whatnot, but the company came out all the better for the efforts.

Are companies no longer doing these?</comment>


Our lessons learned regarding the Producthunt algorithm - <AUTHOR>

Hi there,
On May 6, our platform StartupCVs was surprisingly featured on Product. At the end of the day, we had roughly ~380 upvotes and were ranked 2nd that day by number of upvotes. However, we obviously made many mistakes - and I want to share our learnings. The day started off very well - we were at the top of the list and gathered great traction - but during the day, our ranking (not by number of upvotes, but placing in the list) slipped and we could not regain the first place. Obviously, being listed at the top during (PST) daytime would have had a positive impact.
Our main takeaways:
1) No direct-links! Do not post direct-links - ideally refrain from sharing We shared the link with our family and friends/networks (as probably all do) - and we and supposedly some of our friends shared the direct-link. Apparently, when you do that, the ranking algorithm "punishes" you and your ranking slips (while you may still gather many upvotes). Now we know that Producthunt prefers and incentivizes "organic traffic and decision-making". Fair enough! Also fyi: please do not overestimate your own impact. Producthunt reaches an incredible audience. In our case, we used Productfriends.com to engage with our upvoters - we quickly realized that we barely knew any of our upvoters. Regarding Productfriends: this webapp helps you understand who and how influential your upvoters are. <comment><AUTHOR> 2) Time-zone differences: recent posts slightly preferred Producthunt tries to be just and account for the time-zone differences. So, when later in the (German) day many US companies were listed, their delay in listing was compensated by the algorithm. Recently ranked companies were ranked higher - especially those which - during the same time periods - had a higher "traction" (measured in "more upvotes per last xyz minutes", we guess). To "account" for this: if you still want to share the link with your family and friends/network, do it later in the day, if you are Germany-based (again: a) not recommended, b) impact likely overestimated).

3) Community engagement: reply to comments and provide benefits to users We suggest that your engagement with the community (see comment fields) also plays a role. But not everyone is allowed to contribute/reply. When featured however, please ask the admin/OP to provide access. Also: provide "goodies" to producthunt-generated leads (especially if you know up-front that you will be featured and have enough time to prepare).

4) As soon as you are featured, make sure that you write a FIRST comment, telling more about your product/service. The comments are chronological, so if someone else writes a comment before you, people won't notice your makers comment that easily. My advice: Either ask Producthunt immediately for a makers account and write the comment OR ask someone who can contribute to write the comment instead. Definitely make sure that the first comment is yours introducing the product.

5) Additionally to the goodies mentioned in 3), you can also generate a separate landing page for all producthunters. This will help you track the traffic much more efficiently -> you have no loss in data by viewthrough conversions for example. This point is however not much in your control, as often other hunters submit your product (as it was in our case).

6.) If you do not want other hunters to submit you, you can add a sticker or note to your homepage that says: Please do not hunt. Most producthunters respect this.

Hope this post helps anyone who is featured off-guard as well ;)

Disclaimer: we do not(!) claim to have a true knowledge or understanding on how the algorithm works - or on how strong each of the mentioned factors are weighted. Please feel free to correct or amend the information in our comments or write me a message via LinkedIn, we´re willing to learn from your experience as well.</comment>


Ask HN: Is the flood of frameworks hurting Javascript development? - <AUTHOR>

Maybe it is all in my head but I find that every time I come across a interesting code sample or solution to a problem, it is only usable if you I am willing to commit to a JS library such as JQuery or ProtoypeJS - or re-write it mysel in plain JS.
It seems it is not enough to know learn javascript, but then you have factor in the many variations in syntax that result from using the current flavor-of-the-week library.
This list is far from complete and seems to be a small subset when you think about Backbone, underscore, coffescript, xui and more: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
I'm not complaining (yet) but it seems that every week there is a new choice, especially now that you have mobile specific ones. I'm concerned that this might be a problem very soon... or do HN readers feel it will eventually consolidate a bit over time? <comment><USER2> I have experience in jQuery and javascript, so I'll give you my 2 cents on that, but I'm sure the same can be applied to other frameworks.

jQuery is awesome framework and its core (the way I see it) is simple. It's about:

1) DOM selection, traversal and manipulation 2) CSS manipulation 3) event binding 4) ajax 5) a couple of (but still awesome) utilities 6) extensibility, as proven with very popular jQueryUI framework and a huge number of plugins

You know where I got these 6 bullets? It's from jQuery docs page (<http://docs.jquery.com/Main_Page>) under API reference (in the left sidebar). Why is it important? Because that's actually what the whole browser/DOM/javascript ecosystem _should have been_. DOM API is really screwed up, that's why we use jQuery (or something else, but I also think jQuery has clearly won the framework war). And to do any of that work, among all A grade browsers is an exercise in futility.

Majority of my work in javascript consists of leveraging jQuery, because most of my work is DOM manipulation. But that _doesn't_ mean I can do it without knowing the language.

My point is: jQuery is defacto _the DOM API_ because the real DOM API simply sucks. It does not replace the need to use the language, it adds value to it.

And maybe, just maybe, we haven't yet seen the best way to work with DOM, or ajax. There may still be posible for completely new framework to emerge and shows us the light.

</comment><comment><USER3> It's not as bad as it looks since not all frameworks are equal. And I don't mean that in terms of quality, I mean they serve different purposes.

For example, Backbone already uses underscore and most people use it with jQuery. Coffeescript could be thrown into that combination as well as it's often used with jQuery.

If you're coding for the desktop: jQuery + whatever application framework

If you're coding for mobile: who knows, the choice here is more difficult.

</comment><comment><USER4> flavor of the week libraries? jquery has been around for a long time and is pretty standard now days. my guess is, the average web developer probably won't understand backbone.js, but jquery is pretty simple yet useful.

<comment><AUTHOR> I don't mean to imply that JQuery, PrototypeJS, YUI and others are "flavor of the week".

What I mean is that every week I see a new FW posted on Github or elsewhere that seems to handle known problems but with a slight variation.

Obviously its more nuanced than that, but it just seems to be growing fast

<comment><USER5> There'd be a lot of code duplication if every snippet of JS needed to include, for example, all the browser-specific hacks that jQuery does, and all the DOM traversal, etc.

It's much cleaner if all the solutions use the same common framework, and that's (nearly) the case with jQuery.

</comment></comment></comment><comment><USER6> It is hard to say. It seems like some of the frameworks, for example jQuery, are making it easier for people to start using javascript, but could also be limiting the extent that they are actually learning javascript.

</comment><comment><USER7> I know exactly what you mean.

I recommend learning JavaScript itself very well before you choose a framework. I wrote pure, vanilla JavaScript for everything for almost a year. I wrote a small library of helper functions.

After a year or so of trying to avoid "investing" myself in a JavaScript library, I chose jQuery, and I have not looked back since.

I really cannot recommend jQuery enough. Not to be a fanboy or anything, but it seems to have largely won the JS library war, for the most part. You really can't go wrong with it.</comment>


U.S. government sides with Apple and Amazon, effectively denying Bloombergreport - <AUTHOR> https://techcrunch.com/2018/10/07/homeland-security-denies-bloomberg-spy-chip-report/ <comment><USER2> I highly recommend Noam Chomsky's 'Manufacturing Consent' for a good look at the United States propaganda model and how big newspapers play a very large role in forming the public's opinion on both domestic & foreign issues.

<comment><USER3> How is Chomsky and Herman's propaganda model applicable here?

<comment><USER2> It's been pointed out that the Bloomberg story was possibly a failed attempt at propaganda during a trade war with China.

</comment></comment></comment><comment><USER4> I'm of the opinion that this story was designed and planted through a Machiavellian scheme to cause panic and to generate more suspicion on China (specifically) and any other country (generally). The denials by the companies and the government arms are quite strong, suggesting that this is a highly secretive disinformation campaign.

If the Bloomberg story is indeed true and the denials by the others false, I don't expect to find out about it for at least another 30 years or longer, when this probably gets declassified or revealed in detail by some other source.

Whatever the truth, it's undeniable that the report has planted giant seeds of doubt on electronic hardware, and many countries can only continue to worry while not being able to handle this kind of threat at scale in the coming years.

We humans want and desire for closure, but I suspect we won't get it on this matter anytime soon.

</comment><comment><USER5> Dupe/Not original source of [https://news.ycombinator.com/item?id=18158560](https://news.ycombinator.com/item?id=18158560)

</comment><comment><USER6> I'll bet you that behind the scenes a different story is being told.

</comment><comment><USER7> If there was a secret agreement, the quickness of responses from both implicated parties here reads well. I could definitely see the NSA having contractual language like "Upon suspicion by members of the media, the communications department of Company X should fully deny any and all implications of working with the NSA within 24 hours"

<comment><USER8> I think the simplest answer is probably the real answer here. An article had inaccurate information, and all involved parties responded with the same story because they were all responding with the truth.

The alternative is the Chinese government inserted a chip onto boards. Which would have required a modification to the board as well as bypassing all of Apple's own hardware security measures. This sounds like an interesting story, but seems a lot less likely. Would the people planting an additional component not expect a company to inspect their own boards when doing normal checks?

<comment><USER9> > Would the people planting an additional component not expect a company to > inspect their own boards when doing normal checks?

Absolutely.

I often miss assembly errors on boards that I, personally, design and debug.

Unless someone has an automated tester doing optical examination of every single part, it's _really_ easy to miss.

Even moreso if it was just a small batch that had the change.</comment></comment></comment>


Interior Mutability Patterns in Rust - <AUTHOR> https://pitdicker.github.io/Interior-mutability-patterns/ <comment><USER2> Interior mutability to always seemed like a hack around the borrow check and type system instead of just fixing those parts of the language itself. If the single mutable borrow idea isn't working out so much that you need to have idioms like interior mutability, maybe you should relax the requirements or provide a more direct of doing this.

Why not introduce a new borrow notation besides const and mut, add a multimut or something that makes it very clear instead of these hacky solutions.

<comment><USER3> It's not a hack, although I can't really fault you for thinking otherwise. The borrow notations are & (shared) and &mut (exclusive, guarantees mutability regardless of type). 'Interior mutability' is a way of _enabling_ shared data to be mutable. See [https://limpet.net/mbrubeck/2019/02/07/rust-a-unique- perspec...](https://limpet.net/mbrubeck/2019/02/07/rust-a-unique- perspective.html) for a more principled explanation, which even improves on Rust's official docs - this is probably best read in combination w/ OP's series.

<comment><USER2> I know what it is. I've been involved with Rust on and off for about 4 years (now more off than on, but periodically stepping back in).

IM has always seemed like a really bad wart - an intentional breaking of the borrow checking through idiom rather than a language construct. Just as `&` is an shared const ref, `&mut` is an exclusive mutable ref, but for some reason when you get to shared mutable instead of making `multimut&` or something, the language invokes cells then has the audacity to straight-face proclaim you can share mutable references.

I guess if they made `multimut&` ref they would have to admit is is possible I guess. The difference between the syntactic and cell-based representation of that type of share mutable reference always seemed like no real difference.

I do a lot of C++ and having to basically do hygienic macros though template metaprogramming is on the same level. I'd rather just have hygienic macros. Cells are the Rust equivalent of removing const through template without ever having to cast it away explicitly. An intentional breaking of const through idiom rather than syntax.

If tomorrow a shorthand cell was introduced like `shm&` (similar to how `?` was introduced as shorthand for dealing with Result types), it would bring it into the realm of syntax and be much clearer what was going on.

Cell seems like a straight up step around the borrow checker for shared mutability. It should look like the other references.

<comment><USER3> That's the thing, & really has nothing to do with constness or immutability, and a consistent description of the language should make that clear. It's not a language problem, it's a documentation problem.

And the language has quite simply moved in the _opposite_ direction to that of having more shorthand syntax. Box<> and the then-equivalent of Rc<> used to have their own shorthand sigils in Rust, but these were replaced with writing out the type constructors. Again, if it's reasonably consistent, there's nothing wrong with that. It's quite different from the '?' syntax which is replacing what used to be a special macro, 'try!'. Macros can do almost anything with the code and are pretty hackish, type constructors not really.

<comment><USER2> > That's the thing, & really has nothing to do with constness or immutability

No, that means 'reference', but the `mut` and lack of work mean exclusive mutability and const respectively. So another term that means share mutability makes sense.

> And the language has quite simply moved in the opposite direction to that of > having more shorthand syntax

Most definitely not. Recent examples are `?` and `async` that replace types with syntax. And coming up the pipe is going to be most coroutines are probably going to get their own syntax too. While year ago that might have been the case (and I think Box should have retained its sigil), the more recent trend is back in the other direction.

Also, not that we already have `mut` and `` (no marker), mixing forms would be bad at this time, we instead of `shm` or something we get cells that correspond to the `mut` for shared mutability.

And regardless of the syntax question, it is still a massive end around the borrow checker and people refuse to admit how hacky it is.

<comment><USER3> > No, that means 'reference', but the `mut` and lack of work mean exclusive > mutability and const respectively.

You keep saying this, but it's just not the most straightforward way of understanding the language - no matter what the official docs say at this time. It might be fair to complain about the _lack_ of true 'const', 'pure' etc. specifiers in Rust, but to say that & references are 'const' references is just not sensible IMHO. It might make more sense to make a similar claim about C++, where the 'mutable' keyword really does seem to be a hack like you describe. But C++ has no borrow checker in the first place hence no such motive for 'interior' mutability - so it's in a totally different situation.

</comment></comment></comment></comment></comment></comment><comment><USER4> Don't miss the author's second installment to this series. Navigate to the index of the blog to see part 2 at the top.

</comment><comment><USER5> GhostCell seems worth reading more into.

OnceCell is being discussed as part of [https://github.com/rust- lang/rfcs/pull/2788](https://github.com/rust-lang/rfcs/pull/2788) too.

</comment><comment><USER6> Really enjoyed the read! Two minor things I found: downgrade(&self) should be downgrade(self), and rw2 and rw3 have TCell parameters, should these not be QCells?</comment>


RBS says it has resolved debit card computer glitch - <AUTHOR> http://www.bbc.co.uk/news/business-37658559 <comment><AUTHOR> And a few years back they outsourced all their back office work to India, and some journalists are now openly saying that their chickens are coming home to roost. They have been fined multiple times now for similar problems...</comment>


Strugling with WMD? Try uedit instead. - <AUTHOR> https://github.com/amir-hadzic/uedit Uedit was created because I had issues with the WMD editor like occasional bugs and glitches that can interfere with writing actual content.
I saw some markdown related posts so I thought that it might be a good idea to show this pet project of mine :)
p.s. Supports IE6+, Chromium, Firefox, Opera and Safari. <comment><USER2> demo?

<comment><AUTHOR> Here you go: <http://www.randomshouting.com/uedit/></comment></comment>


The Maybe Type and Its Consequences - <AUTHOR> http://projectfortress.sun.com/Projects/Community/blog/MaybeType

<comment><USER2> The author seems to be learning a lot from Haskell, but still unable to really accept the larger picture

 _Fortress goes beyond Haskell in that the type Maybe[\T\\] extends type Generator[\T\\] so that it can be treated much like a set that will generate either one item or no items at all. One can conveniently use generator syntax to extract the contained item of a Maybe type, bind a variable to that value, and then execute a chunk of code---but only if there is in fact a contained item_

The following examples are both _trivially_ available in Haskell as the very general monadic binding (>>=) or a case statement.

It's great that other languages are learning powerful lessons that the strong typing in Haskell can teach, but if they're going to do it they might as well learn all that they can instead of stumbling down the same path again.

I bet in no time Fortress will have do notation.</comment>


Why are so many millennials so uncool - <AUTHOR> http://powerevolution.tumblr.com/post/133543612986/why-are-so-many-millennials-so-uncool <comment><USER2> > *For the purpose of this writing, I'm defining "cool" as > those who don't > conform, who don't always fit in nor do > they try to, and who follow their > own path; and "uncool" > as those who dress, act, and have the same tastes > as the > masses and are vulnerable to corporate influences.

This is total bollocks. "Cool" is not, and has never been, about not fitting in, or following your own path. It's about following the same path as everyone else, but being on the outside edge of the herd - just ahead of everyone else it best, but just the right distance behind works too. Best of all is to be just ahead of a small herd that is itself just ahead of the mainstream.

David Bowie was cool. Daniel Johnston was just an oddball.

There are dozens if not hundreds of people who frequent HN who have never taken an interest in conforming, and who follow their own noses. I'm one of them, and no-one has EVER considered me to be "cool".

</comment><comment><USER3> I don't get why mainstream success must equal "not being a proper musician".

The author sounds a bit like a frustrated punk fan of the old times who hates the establishment for being the majority. It doesn't even matter what you like, as long as nobody else likes it!

Maybe I'm too old to care these days - I, also, detested everything mainstream in youth and early twenties, but now I am able to admit without shame that there's sometimes (but not too often) good songs on a normal radio station - even though what I really like usually is not played on air...

</comment><comment><USER4> This article is hilarious - well written and good insight. Honestly this is the best culture piece I have read in months, if not ever. Well done!!

<comment><USER5> Agreed!

"Arcade Fire - Don't get me started." ;)

</comment></comment><comment><USER6> "I use to be cool, but then what was cool got weird..." Judgy article.</comment>


Nim 0.19 - <AUTHOR> https://nim-lang.org/blog/2018/09/26/version-0190-released.html <comment><USER2> > func is now an alias for proc {.noSideEffect.}

So excited for this addition! I like to program Nim in a functional lite style, and this is some nice sugar to write functional procedures. Its also nice that the language reserved the function keyword for procedures that are _actually_ functions.

<comment><USER3> > So excited for this addition!

I've been using it for a while in the devel version (Nim v0.18.1), and it is great — I like it very much and I completely understand your excitement!

Before I didn't bother with {.noSideEffect.} pragma, and now with `func` here — my code is much more clear (at least to me ;)), and I can immediately tell which of my procs are 'pure'.

<comment><USER4> What does it do?

<comment><USER5> It does some static enforcement of "no side effects[1]".

[1][https://en.m.wikipedia.org/wiki/Side_effect_(computer_scienc...](https://en.m.wikipedia.org/wiki/Side_effect_\(computer_science\))

<comment><USER6> How? Even Haskell, who makes a big deal out of separating pure vs impure code, can't do it perfectly.

<comment><USER5> I don't think they claim they do it perfectly. You can find bugs related to that, false negatives and positives.

<comment><USER6> [https://nim-lang.org/docs/manual.html#pragmas-nosideeffect-p...](https://nim- lang.org/docs/manual.html#pragmas-nosideeffect-pragma)

It looks really impressive.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I started playing with Nim last weekend, after the article on here about Nim.

I absolutely love it! I'm looking for an opportunity to use it at work for something minor, and I have been porting a few of my (small) Rust applications to Nim in my free time.

Such a pleasure to work with and so intuitive.

<comment><USER8> May I ask what the nature of the Rust apps you're porting is? I'm currently learning Rust and would be interested in knowing why you're moving away from it.

<comment><USER9> Not parent post, but to me, Nim is very easy to write coming from Python. For virtually zero effort, I can get near C speeds in a tiny self-contained executable.

Rust is probably more mature (more users) but requires me learning a lot of low level concepts. If you already know Python and just want fast code and easy deployment, Nim might be a better choice. Crystal is similar for Ruby users.

<comment><USER10> I'm feeling old. This is really at the top of a HN thread?

Since you self-describe as "coming from Python," you maybe haven't yet really gotten that deep into the internals of computers and what kind of stuff you might wanna do that isn't well supported by higher-level languages. This is especially relevant when we get to talking about performance guarantees, wherein very little can get "guaranteed" about a garbage-collected system, by definition. So while it is a pain to deal with "low-level concepts" like in Rust, it is also well worth it depending on what kind of tech you need to make.

<comment><USER9> I'm an EE, so I did take some microprocessor and FPGA classes and can write some assembly.

With that being said, my day job isn't programming, but engineering which involves a lot of managing data so scripting languages are very vital: Python, Perl, R, Bash, Powershell...etc. Also, other technology like SQL and Excel are daily drivers.

I've used Java & C# a bit in the past which are fast languages, but they're missing the majority of linear algebra and optimization libraries that are widely available in Python/Matlab/Julia.

So what if one of my simulations is too slow for comfort? Re-writing Python in Julia or Nim isn't too hard (syntax is very similar) and i get a huge speed boost. That's all I'm saying. I'm being pragmatic about the situation. Of course I can rewrite performance critical code in C/C++/Fortran/Ada/Rust, but that is a huge last resort as those languages (well Fortran isn't as bad as they say) take me much longer to get something going and you're absolutely correct that my hardware understanding has greatly atrophied since college. For an engineer (in this case a traditional engineer and not a software engineer), we generally need code to A.) automate processes B.) design and run simulations C.) do data analysis.

We rarely write low-level software to twiddle bits unless we really have to. There are simply better choices to make the things I care about run faster even if I was good at C.

<comment><USER11> > I can rewrite performance critical code in C/C++/Fortran/Ada/Rust, but that > is a huge last resort

Random benchmark with the latest release. I don't know how reliable it is but in my experience Nim can often be very fast:

[https://github.com/drujensen/fib](https://github.com/drujensen/fib)

</comment></comment></comment></comment></comment></comment><comment><USER12> I see Nim lately made some cleanup in the macros module. Thats great. Macros now are much more easy to wrap my head around and I have already produced my first usable macro: [https://github.com/b3liever/protocoled](https://github.com/b3liever/protocoled). Also others are trying to use the new caseStmt macros: [https://github.com/alehander42/gara](https://github.com/alehander42/gara). Great stuff!

</comment><comment><USER13> I'm considering using Nim for an embedded project, because Nim can generate C or C++ code, and a C and C++ compiler is all there is for my target platform (a DSP).

I would like to use C++11, but the manufacturer only supports C++03, and will never add support for C++11 because it's a legacy DSP.

<comment><USER14> Sounds like Nim would be perfect for your use case. Happy to help out if you run into any problems.

<comment><USER15> I bought your book with the hopes that you would include a chapter on embedded programming, but was disappointed to find it barely got a mention in the book. I remember an earlier discussion here where you were considering and it seemed like a real possibility.

Unfortunately, I haven't been able to find recent (ideally official) documentation/discussion on embedded programming. Contrast this with Rust where there's a significant focus on embedded bare metal, particularly for Cortex-M MCUs. With the recently announced support from Status, are there any plans to provide more support for embedded bare metal?

<comment><USER16> Support for embedded is indeed getting into focus. I hope to release an article soon how the '\--gc:regions' switch works (which is misnamed, it's a way to do memory management, not a GC...) and in the longer run the destructor-based runtime will ensure that memory is freed sooner than a GC would for memory constrained devices.

Having said that, "embedded" is a wide field and sometimes one cannot even afford a heap, no matter if garbage collected or managed manually. But even then Nim can be used, you still get array bounds checking, Ada-inspired strong type checking plus the meta programming goodies.

<comment><USER15> Great! My interest is in bare metal environments where you typically don't use a heap. I'm not familiar with the `--gc:regions` switch, but I think a good start could be a guide on how to implement simple non-garbage collected programs.

<comment><USER17> That's region-based memory management. ML guys tried it [http://mlton.org/Regions](http://mlton.org/Regions)

<comment><USER18> Looks like they concluded that having the compiler automatically choose an appropriate region but silently leak the memory when that fails doesn't work well? Kind of like GC by reference-counting without a cycle collector.

Couldn't the compiler just reject code that would need to allocate in the global region, unless the programmer explicitly annotates it to make it global? It says the SML type system is too weak for this, but perhaps Nim's type system is sufficient?

</comment></comment></comment></comment></comment></comment></comment><comment><USER19>
      Nintendo Switch was added as a new platform target.
      See the compiler user guide for more info.

<comment><USER20> Very intriguing! I'll have to look into how this works; my understanding is that you can't do this without signing NDAs, and only distributing to people who have also signed NDAs...

<comment><USER21> I wrote the implementation of the Nintendo Switch support. It currently uses the publicly available open source library Libnx and Devkitpro.

See [https://github.com/switchbrew/libnx](https://github.com/switchbrew/libnx) and my wrapper around that library (it has all functions exposed using nimgen, a C wrapping library, but the Nim-friendly wrapper is a WIP) [https://github.com/jyapayne/nim-libnx](https://github.com/jyapayne/nim-libnx)

In order to use this, you must have a homebrew enabled Switch. Google is your friend!

<comment><USER20> > In order to use this, you must have a homebrew enabled Switch

Ahh that's the difference!

Home brew stuff is great, but that's different than being able to sell games.

</comment></comment></comment></comment><comment><USER22> I'm thinking about rewriting a very popular open source project of mine in a language that can spit out a simple binary people can double click or have it run in a terminal window to serve API requests.

Does Nim have true single-binary deploys like Go has? My original project is written in Elixir and even with Distillery it still seems a little convoluted for what I'm trying to deliver to end users.

I want a real, download this and run it boom, go to localhost:1234 for some cool stuff.

<comment><USER14> Yes, Nim has this. There is a caveat though, but AFAIK Go has the same problem.

Certain Nim modules/packages might wrap a C library. If you use those then your binary will typically depend on a DLL for that C library. With some effort you can statically link against those libraries, but I wouldn't call that easy. This is in particular a problem when you're using regex or SSL, the former depends on PCRE and the latter on OpenSSL/LibreSSl.

Go benefits from having native implementations of those written in Go. We also now have a regex engine[1] implemented in Nim but it hasn't made its way into the stdlib yet (that is planned though). But you can use it pretty easily as a package if you want to avoid the dependency on PCRE.

1 - [https://github.com/nitely/nim-regex](https://github.com/nitely/nim-regex)

</comment></comment><comment><USER23> I've really been enjoying using Nim for one-off data processing projects here at work. I'm also excited to see where nimx [1] goes (a cross-platform UI library).

[1] [https://github.com/yglukhov/nimx](https://github.com/yglukhov/nimx)

<comment><USER3> I'll mention another great library from the same author:

[https://github.com/yglukhov/nimpy](https://github.com/yglukhov/nimpy)

A library which allows you to connect Python and Nim so you could, for example, use Nim (instead of Cython) for speeding up some parts of your code, compile it, and call it from your Python program.

</comment></comment><comment><USER24> Nim is fantastic, I especially like that it takes a pragmatic approach to all its features, so that it doesn't get bogged down in theory but lets you get productive with it right away. One example is that even though it says it's a systems (and application) language, it has GC (ref counting + cycle detection), which means you don't have to worry about memory management and can focus on the core of your application. Honestly I think Nim is comparable to Go, so if you're thinking of adopting Go, look into Nim, you might like what you find.

<comment><USER25> I too was enthusiastic about using Nim, as it is clearly a much superior language to go. However, the ecosystems are not at all comparable. Even without considering the huge amount of 3rd party packages for go, the go stdlib itself is too good and has almost all batteries included. For Nim, if you are going to develop any non trivial program, it is going to be really difficult to find the relevant libraries.

<comment><USER26> i don't understand why people make these kinds of criticisms. everyone already understand that the assumption for a new language that the ecosystem won't be as rich. you're basically saying something akin to "x high school football player is much worse than y professional football player in a professional game". of course. judge them in context.

<comment><USER27> >i don't understand why people make these kinds of criticisms.

Because language age doesn't make a difference. People have to actually use the language, and this is a practical concern.

If you were choosing to put a high school football player or an NFL player on your team _right now_ it'd be an easy choice, wouldn't it?

<comment><USER26> >People have to actually use the language, and this is a practical concern.

do they? is it in the rules of building languages and ecosystems that every new language has to be production ready from day 1? it is also possible that you can use it for hobby projects and that that's sufficient merit to talk about it and have posts about it too.

<comment><USER27> What on earth are we comparing when discussing Nim vs. other languages, if not the language itself, in practice? Are we just discussing how good you feel about it?

My point is, this is an actual deficiency that you need to consider when evaluating Nim, that _isn 't_ just a function of the language being new. For example, Zig is another option which puts any C libraries at your fingertips, without requiring bindings. If Nim had better interop (not just relatively good, but zero effort) this would no longer be a concern and you wouldn't need all of your libraries to be in Nim.

<comment><USER26> >if not the language itself, in practice?

...

>However, the ecosystems are not at all comparable.

......?

<comment><USER27> Not sure what you're getting at. People in this thread are discussing what it's like to use Nim, including its ecosystem, vs. other languages and ecosystems. You don't seem to have anything substantive to add to that other than that Nim is "new" which as I mentioned isn't relevant to the experience of actually using it.

<comment><USER26> you asked about merits of the language itself. what does the ecosystem have to do with the language /itself/

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER28> I am switching all my work to him now. It's a super fast python with types. The non nil string and sequence in this version are cleaver.

<comment><USER29> You mean "nim" not "him"? Or does your native language use gender based "it" equivalents.

grammar Nazi - can't help myself.

<comment><USER30> Thought it was a great typo. Like, oh wow, this person is devoting themselves to templeos full-time, and they're porting it to nim. Or something ;)

</comment></comment></comment><comment><USER31> Has anybody thought to submit some benchmarks to the Benchmarks Game? I know that benchmarks aren't perfect, but would be nice to at least have an idea of how it stacks up against some of the other languages.

[0] [https://benchmarksgame- team.pages.debian.net/benchmarksgame/](https://benchmarksgame- team.pages.debian.net/benchmarksgame/)

<comment><USER32> I don't think they accept new languages anymore.

<comment><USER14> Indeed. They even specifically named Nim in their FAQ[1]:

> Why don't you include language X?

> Because I know it will take more time than I choose. Been there; done that.

> Measurements of "proggit popular" programming language implementations like > Crystal and Nim and Julia will quickly attract attention and be the basis of > yet another successful website (unlike more Fortran or Ada or Pascal or > Lisp).

1 - [https://benchmarksgame- team.pages.debian.net/benchmarksgame/...](https://benchmarksgame- team.pages.debian.net/benchmarksgame/play.html)

</comment></comment></comment><comment><USER33> Does Nim have (or plan to have) (non-)nullable types?

<comment><USER34> With version 0.19.0 Nim also moved away from nilable seqs and strings, so they are much safer to use. An empty string and a nil string is now the same, and a nil seq and a seq without elements is the same. Saves you from that one missing nil check that crashes your entire program.

If you want the behaviour of nilable seqs and strings you can use the options module.

</comment></comment><comment><USER35> I have been learning Rust recently. Nim looks interesting, is there a quick comparison page with Rust somewhere?

I just skimmed through the doc, and looks like the language is huge. Is it expected to have a big learning curve?

also could not find any info on Async and threading is there any documentation around it?

And the GC, is it optional or more like compiler determines it using set of rules?

<comment><USER36> I found it was easy to write Nim coming from Python and doing a few tutorials I found around the web and some programming puzzles. The advanced features like macros, tempates, generics, etc. are harder to learn, but I haven't needed them yet so far. I did have to dig into the actual library source code several times because the documentation is quite sparse, and for things like async and parallel programming there aren't many examples to pull from at all. However, I find it's _way_ easier to program in Nim with static typing and the applications I write are _much_ faster than Python, even without the crutches of numpy operations, pandas dataframes, and the huge Python ecosystem.

</comment></comment><comment><USER37> There is now an Ethereum 2.0 client being written in nim: [https://github.com/status-im/nimbus](https://github.com/status-im/nimbus)

</comment><comment><USER38> Great news! I have been using Nim almost exclusively for my open source projects for years now, since when it was called Nimrod...

It is simply amazing to see how it evolved and improved over time. I love the fact that it runs seamlessly on several different platform, that is so fast and so syntactically expressive and elegant.

Way to go guys, Araq, dom, and everyone who made Nim possible! Really glad you are finally getting the momentum and the attention that you deserve. Keep it up!

</comment><comment><USER39> Does anyone know any good learning resources for this language aside from the tutorial. Just tried jumping in and got weird compile errors when trying to work with lists.

<comment><USER40> There is a book "Nim in Action" [https://www.manning.com/books/nim-in- action](https://www.manning.com/books/nim-in-action) by @dom96

<comment><USER14> Author here :)

I understand that it might suck to be buying a book to learn a language, so just in case you don't want to commit to that there are two chapters of the book which are free. You can find them listed in the link above or here: [https://book.picheta.me/](https://book.picheta.me/)

<comment><USER39> Thanks so much! Want to get started with it before I decide to buy a book on it, but seems like a great language to program functionally in without all the hurdles :)

<comment><USER41> Also worth noting that Manning has sales quite frequently.

</comment></comment></comment></comment></comment><comment><USER42> How is Nim's package manager, given the love for Cargo and churn with golang it seems like a thing people really care about.

<comment><USER43> Nimble is quite nice. It's still beta so occasionally rough around the edges (maybe mostly so in the docs).

</comment></comment><comment><USER42> Is there IDE debugging support for Nim yet (language server?). Or a REPL, Online or off? Thanks

<comment><USER2> Both in progress.

Language server:

[https://github.com/nim-lang/langserver](https://github.com/nim- lang/langserver)

[https://github.com/nim-lang/langserver/issues/1](https://github.com/nim- lang/langserver/issues/1)

As for a REPL, there is already `nim secret`, but there is work being done to create a better interactive environment.

[https://github.com/nim-lang/Nim/issues/8927](https://github.com/nim- lang/Nim/issues/8927)

<comment><USER42> Thanks!

</comment></comment></comment><comment><USER44> Is GRPC available for Nim?

<comment><USER14> Sadly no, but sounds like a fun project :)

<comment><USER42> :)

</comment></comment></comment><comment><USER45> Nim appears to be quite similar to Haxe, though Haxe compiles to numerous additional targets. Aside from that, and the syntax, what are the main differences between Nim and Haxe?

<comment><USER46> I think the one downside of Haxe (which is also is strength) is that it doesn't only support compiling to C/C++, but to every major language possible (Java, C#, PHP, Javascript), so the language ends up being too complex. You constantly have to think about how the languages features will map to your target language if you care about performance, which can be pretty unintuitive. And the C++ target (hxcpp) is quite heavyweight and takes a lot of time to compile (at least the last time I checked out). Also C interop doesn't seem that convenient.

On the other had Nim only transpiles to C, so the language is simpler and easier to reason about performance. (And it probably has faster compile times). It is also explicitly designed to interop with C, so you can easily use all those C libraries in the wild...

But I still have some hope on Haxe, because the main developer is working on Hashlink, which can run Haxe code on a virtual machine but can also transpile it to C for production builds... It seems a more simple and "focused" Haxe target that doesn't have all the warts of hxcpp...

[https://hashlink.haxe.org](https://hashlink.haxe.org)

<comment><USER47> > On the other had Nim only transpiles to C

Nim also compiles to javascript too, right?

<comment><USER14> Yep. C/C++/obj c and JS

</comment></comment></comment></comment><comment><USER36> I've been waiting for this for a while! I never could get `develop` to run.

<comment><USER48> I'm curious what where the problems? It's imho straight forward.

<comment><USER36> It would change day to day, obviously, and my code wouldn't run sometimes. I guess I really meant I prefer stability in this case over new features.

</comment></comment></comment><comment><USER49> Who is funding the development of Nim?

<comment><USER14> This shows who is sponsoring us currently: [https://nim- lang.org/sponsors.html](https://nim-lang.org/sponsors.html)

Status has recently become a large sponsor, but over the past years it was all donations from our users (who were and continue to be incredibly generous!)

<comment><USER49> I'm glad to see that ICO money is put to good use! I'm genuinely excited for the future of Nim. Keep it up!</comment></comment></comment>


Is there a hiring season for developers? - <AUTHOR>

What is the best time of the year to apply for developer jobs? Is there a bad time? <comment><USER2> That might depend upon the city, industry and your skill set if you think about it. I'm sure if you had some rare in demand skill and are based in silicon valley that people might pouch you at 1am at a bar if met the HR person by accident. By the way an argument for job hunting at a bad time is that you have a higher chance of getting a better job if the pool of applicants is smaller...

</comment><comment><USER3> August and November 20 through the end of the year are bad times.</comment>


Show HN: Startups are hard. We get in a funk sometimes. Made something to help - <AUTHOR> Hey HN,
Been a lurker here for a while, and have a learnt a great deal from doing so. I don't post much but I've found a great deal of comfort and motivation just reading what others go through when trying to start a business (which we all know is damn hard!).
So today I wanted to say thanks and share something which will hopefully make you smile, feel motivated and inspired as you go through the journey of building your own business.
As a founder of 2 startups - one slightly successful, one not successful at all - I've had a lot of ups and downs…sometimes felt downright miserable. We all get in a funk sometimes, and I found one of the things that helped me, aside from lurking on this sub, was to go read a bunch of inspirational/motivational quotes. Might sound cheesy, but it really helped get me into the right frame of mind each day.
So as a side project, my friend and I set up a little text-based service that we're calling "Happi". Instead of you having to search for inspirational/motivational quotes, we simply send you an SMS each morning to help you get in the right frame of mind and give you a good start to the day.
We just made it so it's still in beta and US only. If it's helpful to people we'll probably roll it out to more countries.
So there it is, if you need a little cheer in your day, feel free to check it out and let us know what you think!
http://happi.lol/super-secret-page <comment><USER2> Probably a silly question but do standard test rates apply? Do you get to customize who you want a quote from? For example, my favorites quotes are from Winston Churchill as opposed to Shia LaBeouf. So I'd like that in the morning... Looking forward to answers..:)

<comment><AUTHOR> Hi! So if you have an unlimited text messaging plan you'll be fine. Otherwise standard rates from your carrier will apply / it will be counted toward your monthly message limit.

We're definitely thinking of letting people customize it. The thought is to build some basic AI in so we'd text you a few questions eg do you want quotes about startups? funny quotes? motivational quotes? Depending what you answer, that's what you'll get.

Alternatively, we could set the customization up as a webpage, then you can check off the types of quotes/individuals who inspire you?

Any preference either way? text or web customization?

Thanks for the feedback!

</comment></comment><comment><USER3> It's a cool idea. You should also allow the quotes to be sent via email

Edit: The click animation is awesome. I love special details like that.

</comment><comment><USER4> I will check it out, very thoughtful!

</comment><comment><USER5> Thank you, I love this :)

<comment><AUTHOR> thanks! is there a particularly category you'd like us to start with eg quotes for startup founders?</comment></comment>


What It's Really Like to Fight a War - <AUTHOR> https://www.nytimes.com/2019/11/11/opinion/veterans-day-letters.html <comment><USER2> Basing things on soldiers sending letters home doesn't seem generally likely to show a very unbiased view, either. Almost everyone I knew in Iraq/Afghanistan would send only very sanitized letters (well, emails, generally) home, except for a small minority who would send over the top insanity with little basis in reality. The only exception I saw was people sending letters to friends/relatives who had already been deployed in this specific conflict (not usually even Gulf War I or Vietnam or whatever era parents).

The most accurate reporting seemed to be people who kept journals and then reported on it after they left. Without the journal fallible memory would be a serious problem, but in the moment it also seemed to be difficult. There were also a lot of efforts at 1) opsec 2) consequences if you DID share something, like "my 1SG is a dick..." etc.

The VAST majority of everything is family life related stuff, mundane basics of life, interpersonal issues, etc. (Especially among units where families knew each other, like various NG units in smaller towns.)

There was probably a bias in what I saw (I often got asked by people working around me to help proofread or phrase things, as I was often the one providing the Internet connection and there), but I mean my own experience was to not tell parents/etc. that I was anywhere but "Germany" for 5 years as a contractor, etc.

(The biggest truth of modern war, at least from the US side, seems to be that there are massive differences in what the experience is like based on your job, where you're based, luck, etc. This was probably true in previous wars, but with different balance in different roles -- less risk of spontaneous death from indirect fire or green on blue on a US support base in WW2, but inferior logistics, risk of medical problems, etc. From what I saw there were a small number of SOF-types and some smaller combat units, especially in Afghanistan, where there was essentially maximum personal "agency" combined with daily violence, which seemed to be fine, a bunch of people with low agency as far as their own safety but also low risk (people who spent the entire war on one of the biggest bases working in admin/medical/etc. probably were even safer than I was), who were also usually fine, and then some people who had moderate control over their risk but also had moderate risk (truck drivers for most of the Iraq war, etc.) which actually seemed to be the hardest.)

<comment><USER3> _The biggest truth of modern war, at least from the US side, seems to be that there are massive differences in what the experience is like based on your job, where you 're based, luck, etc._

I think people don't realize how extreme the two ends are. It can be surreal when the two experiences are in close proximity. I recall returning from a particularly nasty patrol where we were hit pretty hard and almost lost some guys. When trying to enter a dining facility on a big base some POG officer chewed us out for our messy uniforms. His uniform was neatly starched. I have no idea how he managed to do that, we were grateful for electricity and running water. I recall tanks/APCs pulled up in front of a convenience store on one camp, like taking the car up to CVS for some snacks.

I recall showing up to one large base to drop of a prisoner. We were particularly dirty and smelly. It had been a messy week out in our sector and there were perfumed young girls in PT uniform (shorts and t-shirt) wearing makeup and giggling and frolicking amongst the fast food joints. I could smell their perfume. They looked at us like Sasquatch had wandered in from the woods.

I knew guys that had our AO before us, and described a World War Z type battle with bad guys crawling over the walls. I remember our battles there, not seeming as bad, right after we left I heard how that same camp received a nasty VBIED attack. Years later I met some younger guys who'd been on that camp and they complained how boring it was.

Some people were mortared every night, some people spent their deployment missing family and bored to tears. Some people passed out candy, some put parts of their buddies into body bags. All within 20 or 30 miles from each other.

<comment><USER2> An extra weird thing for me (as a contractor and pretty "free range", since it was in-theater awarded, and multiple parallel contracts) was I could be at a party in the IZ, then sitting in the back of an old BMW with just a Hi Power between bases, working on some weird UNIX network driver issue or RF interference problem, video conferencing with an O-7 and his staff, riding on a medevac helicopter sitting in someone else's blood (always look first), shopping at a huge PX and stocking up on discounted thorlo socks, knives, etc., on a super sketchy Uzbek cargo An-12, and then driving 200kph to a 4.5 star hotel, all in a few days, with basically no one telling me what to do or particularly responsible for me. Plenty of other contractors basically stayed on one base, lived under close control, and had basically one job for 12 months (or on some contracts, especially guys from Asia, they were there for _years_ in the same place). And other contractors were doing convoy security, or vehicle recovery, or other close-to-military jobs.

<comment><USER3> The lawlessness and chaos of a combat zone can be very freeing for the adventurous.

Nowhere else can you "hitch a ride" on someone's multimillion dollar military aircraft.

</comment></comment></comment></comment><comment><USER4> I did a few rotations through Iraq and Afghanistan, and one of the few things I really learned is that everyones experience is different....but the same. I think they ended the move 'Jarhead' with a similar quote, and it didn't truly resonate with me until I'd experienced it myself.

Some people get deployed and spend the whole time in Kuwait but in some ways they suffer just the same as those of us sleeping in the dirt getting mortared every 3 hours. Its just a different form of the same experience.

<comment><USER5> As someone who spent his entire deployment doing SIGINT in Kuwait, I've always wondered what it's like to have done what you did. Honestly, you spend some time beating yourself up over it, too - which is just dumb.

<comment><USER2> What amazed me was just how fast people adapt to crazy stuff. I went to some of the COPs briefly in Afghanistan and once got stuck there for 5 days when it was supposed to be just overnight. Day 2-3 was pretty bad (but I didn't want to be That Guy Who Whines, especially as a contractor), but after that it was easy.

<comment><USER6> The brain is marvelously adaptable...especially in survival situations (regardless of overall politics/geopolitical strength), many of us ended up in a fight or die scenario at one time or another...the tools might change, but the imperative is there...

</comment></comment></comment></comment><comment><USER7> One of my favorite people on Quora is Roland Bartetzko. He was part of the German army, then he fought two wars during the Yougoslavian dissolution as a volunteer.

One in Croatia-Bosnia and another one with the KLA during the Kosovo independence war in 98-99 against yougoslavian forces (mostly serbian).

His answers give a very realistic view of the war as combat soldier: [https://www.quora.com/profile/Roland- Bartetzko](https://www.quora.com/profile/Roland-Bartetzko)

<comment><USER8> His quora account is a treasure cove of knowledge and experience.

As a twenty-something born and raised in Croatia I can say that reading his answers gave me an insight into war and my country's history in a way that makes all the other stories from the front that I ever heard totally inane. The picture he paints of a soldier's mind made me for the first time understand the psychologically damaged people who walk around my country today but are still stuck in the war that's been over for 25 years.

I've re read his accounts of the battle of Mostar a dozen times and I get chills every time.

In short, the guy is legit, but I'm sure that anyone who will read him will figure that out for himself from the thick morbid reality that seeps from his writing.

</comment></comment><comment><USER9> Also see r/combatfootage

Citizens should aware of what happens without passing through the media's filter/framing.

Also, a lot of the value in that sub is also from the comments. It's like the experts we have on HN, but for armed conflicts.

<comment><USER10> I was watching a video (helmet mounted gopro) from a small unit doing recon in Ukraine. They seemed disorganized and were in enemy territory in broad daylight. They all died on video and then the Russians who defeated them used one of the cellphones to call the families and let them know they weren't coming home. Horrible. The thing that struck me is how often does your local government make a mistake or have incomplete information? Now imagine this same process applied to your life in a warzone. Everything outside of your control possibly with inept people who don't care about you making all the decisions. What a waste of life.

<comment><USER11> Even in modern warfare, with its surgical accuracy to pinpoint and take out specific targets, hundreds if not thousands of troops will still die in the course of a major engagement, counting tactical errors, accidents, and friendly fire incidents.

It's a sobering thought and one that makes me glad we're disengaging from foreign conflicts. War is hell.

<comment><USER12> We really have no concept of what a real shooting war looks like. Twenty years of counter-insurgencies around the Middle East has amounted to a US butcher's bill that would be less than one single day during a major offensive in 1916 in France or 1943 in the Ukraine. The generation that was alive during Vietnam is dying out.

I'm from a backwoods area that disproportionately sends recruits to the military, and I don't know anybody from the dozens who went over there that actually fired any shots in anger. The fobbit-fighter ratio is pretty absurd.

<comment><USER13> > Twenty years of counter-insurgencies around the Middle East has amounted to > a US butcher's bill that would be less than one single day during a major > offensive in 1916 in France or 1943 in the Ukraine.

That's an exaggeration. Iraq 2003-2009 suffered around half the deaths of France 1914-1918.

WW I, most deaths in a single day: ~30,000

WW I, total deaths from France, cvilians and military: ~1,400,000

Iraq invasion: ~200,000 verified violent civilian death. Total estimations are 2x-5× that number.

These figures were from Wikipedia. From memory, a few comparison points with other Middle East wars were the USA had a minor role (a _military_ minor role, since I doubt Saudi Arabia and UAE would have invaded Yemen if the USA had not provided their full support):

Yemen (2015-): ~100,000 deaths. 10 millions suffer from hunger.

Syria (2011-): ~300,000 deaths

<comment><USER14> Americans have been carefully conditioned to count only American casualties.

The number of people killed or mauled in recent wars is so horrendous that any American complaining of unpleasantness should be ashamed.

</comment></comment></comment></comment></comment></comment><comment><USER15> Days and days of shear boredom followed by hours of 100% adrenaline, days of shaking, weeks of numbness, a bond with those you never would have known and a smell you never quite forget.

</comment><comment><USER16> I believe letters home from war would be far more likely to provide a sanitised(group average, not the graphic outliers) perspective on war.

I know with my personal anecdotal perspectives and those of my peers we simply didn't want our family/friends at home to worry.

So often "everything is fine".

My thoughts mirror those of several others here in the often insane absurdity and dichotomy of conflict.

Contemporary "three block war" conflict seems to be increasing the likelihood that one person may be exposed to horrific and lasting trauma while another within the same grid square may be enjoying ice cream while laughing with friends.

Polar opposite experiences in quite close proximity.

</comment><comment><USER17> Censorship is considered crucial in war as it is widely believed that if the folks at home knew the "truth" they wouldn't stand for it and your side would "lose".

I'm not sure this is correct: widespread targeting of civilians in 20th century conflict didn't seem to shorten any wars.

</comment><comment><USER18> I think the author of this article is onto something when he says "such euphemisms do not come close to the 'truth' of warfare." But I think that maybe we use the euphemisms on purpose in order to distance ourselves from the reality of what war is, which at it's most basic level... is just ordinary people murdering one another.

If you really stop and think about it like that, then I think it becomes clearer how going through the experience of war would mess with you: you're taught your whole life to respect others, be nice, etc., but then you're thrown into a new world where that morality is completely turned on it's head.

How does one reconcile that world and it's values with the world of civilian life and it's values? They're completely dissimilar. I think that would mess with anyone.

</comment><comment><USER19> FYI: [https://www.amazon.com/Live- Iraq-4th25/dp/B000A7ZJVS](https://www.amazon.com/Live- Iraq-4th25/dp/B000A7ZJVS)

Recorded and mixed in Baghdad, in ~2004, by members of the 1st Cavalry Division.

</comment><comment><USER20> Also consider some books written by former soldiers?

I am curious to know if former soldiers turned author generally still believed the reasons they were given for the wars were true.

<comment><USER21> I haven't written a book (and calling myself an author is a _long_ stretch), but I did write up a series of personal narratives based on the Wikileaks War Diary document dump and I touch on how we (myself and my battle-buddies) felt about the "war" once we had been there for several months. A lot of us started identifying with the Afghan people.

[https://hornor.space/projects/afghanistan/](https://hornor.space/projects/afghanistan/)

One item that didn't make it into the narratives (because there is no Wikileaks cable) was my CO getting replaced in the middle of our deployment because he began refusing to take the company out on spurious missions.

</comment></comment><comment><USER22> When talking about "A Farewell to Arms" why did the author called WW 1 an "earlier war in Italy"? I don't really see the point

<comment><USER23> That it was also about war in Italy was more important than that the war in question was WWI. I guess they could have written "WWI in Italy" but that seems to ask more of the reader without much benefit, I'd say.

<comment><USER22> Well, it would have avoided to ask the reader to go and check which war is it about.

</comment></comment></comment><comment><USER24> War being quick, cheap, with victory almost guaranteed has been the justification for every major conflict for hundreds of years. You never know when a "quick strike" will lead to a bloody destructive costly war that lasts a generation.

</comment><comment><USER25> Wars are started by rich old men and fought mostly by poor young men

<comment><USER14> ...who don't even know they are are poor.

</comment></comment><comment><USER26> There's no better way for human beings...than cycles of violent slaughter? Are we as a human race doomed to continual animal like conflicts? We as a human race haven't figured out a solution to prevent wars yet after 100,000 years? Are we still that hopelessly primitive as a species?

<comment><USER27> >Are we as a human race doomed to continual animal like conflicts?

We are animals.

>We as a human race haven't figured out a solution to prevent wars yet after 100,000 years?

We have, but the only viable solution - nukes - also kills us too.

>Are we still that hopelessly primitive as a species?

All of us start out as primitive babies.

Some of us are privileged to grow up in safe towns run by responsible civil servants, with responsible parents, who send them to institutions of higher education or valuable trades so they can secure a respectable position society.

Some of us grow up with no school, no parents, no society, and all the hate in the world.

If you torture any mammal, it bites back. Until we learn to invest in the wellbeing of others we are cursed to deal with other humans who grow up to become cruel leaders or their henchmen.

<comment><USER26> > If you torture any mammal, it bites back. Until we learn to invest in the > wellbeing of others we are cursed to deal with other humans who grow up to > become cruel leaders or their henchmen.

Exactly.

Seems like ultimately the solution is to reduce inequality and increase opportunity around the world.

<comment><USER28> There will always be wars. Unless you can get every human being on the planet to agree to something, people will resort to violence to get what they want.

<comment><USER29> Especially if the people who start wars to get what they want aren't the people who have to do the fighting. Which is how most wars are fought.</comment></comment></comment></comment></comment>


Who shares the story, not who reports news, is what counts for casual readers - <AUTHOR> https://qz.com/937590/for-casual-us-readers-the-person-who-shares-a-story-on-social-media-counts-for-more-than-the-actual-news-source <comment><USER2> Before deleting my FB account, friends and family would post stuff non-stop all day long like any typical user, including photos, videos, live-stream, ect... When it came to sharing news stories, friends and family would share the most BS and ridiculous news stories and information imaginable, like "weed cures cancer" or "FB will start charging soon!" or those "like" farm posts that had some stuff you'd probably only see on rotten.com (is that still a thing?) but because they were asking for prayers and such, it was given a pass and "liked".

Anyhow, its funny how stuff like that got the most shares and likes from friends and family while anything remotely related to reality and grounded in truth was always looked over, such as anything reported by any legitimate news agency. Basically, anything that was written by some random fake news website was the most shared news by FB friends and family and taken seriously as fact (I know cause of people's comments on shared posts) cause everyone on FB trusts their friends and family and they help each other to boost their narcissistic narratives and world views.

Anyhow, moral of the story is, when you got a huge following and you post like crazy the most personal stuff, people support you no matter what you say, especially if you're family. You can spread whatever rumor you want and everyone will be on board every single time because shared news is always true and FB friends are just as smart as you are, so you trust them.

<comment><USER3> Not sure it's really a matter of trust. People just like juicy, sensational stories, and stories that cater to their weaknesses. National Enquirer has been in business since long before Facebook.

<comment><USER4> except National Inquirer was a 2 minute distraction while you stood in line waiting to pay for your groceries, whereas Facebook is a life-dominating addictive habit that displaces higher quality media consumption from the lives of its users.

<comment><USER5> Some people actually buy that rag.

</comment></comment></comment></comment><comment><USER6> I think this should be classified as a form of illiteracy. Maybe _media illiteracy._ A form of illiteracy where the only truths are group-held truths. An unwitting Shibboleth.

<comment><USER7> 16-17% more people said an article was "trustworthy" and "got the facts right" if it was recommended by someone that they trusted. 49-50% of people were still skeptical even then. This doesn't seem to be a dire sociological illness so much as an expected, common sense finding.

<comment><USER6> Unless you consider the 16% as a block of voters. I don't think any president has ever won more than a 16% margin of victory in my lifetime. Obama clocked in at ~8%, which is considered very, very high.

</comment></comment></comment><comment> gingerbread-man I'm struggling to remember the old Facebook, before it morphed into a (social) "news" aggregator. A few years ago, my news feed was mostly clever status updates and photos of some old high-school crush from last weekend. Now that sort of content is on Snapchat/Twitter/Instagram, and Facebook has what's left.

When was the last time facebook was genuinely _fun_ for anybody?

<comment><USER8> Is it just me, or is it a relatively new thing that FB focuses on public images/videos shared by friends rather than actual content _made_ by friends.

I mean, it used till be a thing that "FB is where you go to see what your friends had for supper". Now it's more like " where you go to see news your friends likes".

I actually liked the first version more.

</comment></comment><comment><USER9> Interesting bastardization of a phenomenon documented in focus groups around news from a nearly decade ago:

"If the news is that important, it will find me [through social channels]."

[http://www.nytimes.com/2008/03/27/us/politics/27voters.html](http://www.nytimes.com/2008/03/27/us/politics/27voters.html)

</comment><comment><USER10> I have always felt that was the case on FB and have been very keen to include the reporter/author, in the post, in addition to the URL and the full copy (partly because some maybe behind "censorship walls") I even try a "special" cross posting to (reddit url of a story post, to get people to see the conversation in the comments.

</comment><comment><USER11> I have been thinking about this for a long time, it happens now on FB and whatsapp but happened earlier on email.

It's like a chain of trust where everyone trusts the last person who shared something but you never know on who you are trusting at the start of this "chain" if you share. So people share a lot of BS :/

<comment><USER12> To be fair, that's also how a lot of news gets reported in the actual media too. One forum or social media user says something interesting which then gets picked up by a bunch of smaller blogs which then in turn attract attention from well known news outlets.

It's how literal 'fake news' has gotten into the mass media. Because a bunch of smaller sites fell for a fake news site quoting a (non existent) interview from anther site, and then the likes of the Metro and Daily Mail assumed they knew what they were talking about.

And that's not even getting into industries where copy and pasting stories is seen as a 'default'. The gaming press is very easy to 'compromise' with photoshopped pictures and fake information, since everyone basically just takes their news from everyone else.

So yeah, not a social media or average Joe exclusive issue here. But one which affects the media itself.

</comment></comment><comment><USER13> tangential to this is the fact that a lot of 'news' is repackaging an original source for each platform

John Oliver had a great segment on this: [https://youtu.be/bq2_wSsDwkQ](https://youtu.be/bq2_wSsDwkQ)

<comment><USER14> AP has really increased in importance as a result of this.</comment></comment>


Ask HN: What's the platform of the future? - <AUTHOR>

For desktop applications, do you think it's going to be Java, .NET or something else? And for web applications? <comment><USER2> It's sure as fuck not going to be Java on the desktop. Sun was one of the only companies that could have made crossplatform desktop GUIs work, and they fucked themselves over repeatedly. The only crossplatform GUI that's succeeded has been the Web.

For desktop apps the present and future is native: Cocoa on is stellar and .NET is getting better as they dogfood more. GTK isn't very good, but it's the best you can get for Xlib — hopefully a brand-new Xcb-based library will emerge soon.

<comment><AUTHOR> How is .NET doing on the web? It seems that many people want to deploy on Linux...

</comment></comment><comment><USER3> Desktop is dying. JavaScript on Jets.

<http://blog.appjet.com/2008/11/18/whats-next-for-appjet/></comment>