As Workouts Intensify, a Harmful Side Effect Grows More Common - <AUTHOR> https://www.nytimes.com/2017/07/17/well/move/as-workouts-intensify-a-harmful-side-effect-grows-more-common.html <comment><USER2> I think that the most important thing I've learned about exercise (and it's taken me most of my almost 40 years to internalize it, and I'm still not great at it by any stretch) is that it's probably the longest game of all. If you're fortunate you're going to keep moving until the day you die, and the volume of work you do over that time between now and that day is so far in excess of the volume you can do on any given day that hurting yourself in an attempt to maximize today's volume is just ridiculous. It's easy to use that as an excuse to not do anything, unfortunately, but it's also a good reminder to slow down when your body tells you to.

<comment><USER3> Nailed it.

I used to do endurance sports (Ironman/triathlon, marathon, etc.) and now my ONLY exercise goal is to move around for at least a few minutes every morning. When I'm busy, it's just quick stretches for maybe 2 minutes. When I have more time, it's a bike ride, jog, lifting weights at the gym, etc.

It might sound too simple but that's what made an easy daily habit to start. And it makes me feel good, making me want to eat "clean" to keep feeling good all day long.

Maybe some day I'll get more aggressive again but right now it works really well and it's easy.

</comment></comment><comment><USER4> If there is one thing I've learned from friends and acquaintances who have trained for and run marathons it is listen to your body. Stop when it starts to hurt. If you try to push through pain, you are more likely than not winning the battle but losing the war. Many people will suffer worse damage -- stress fractures, sprained ligaments, or a torn meniscus.

<comment><USER5> > listen to your body. Stop when it starts to hurt.

but isn't the point of training to push thru the pain barrier? When do you actually stop and listen, vs when to ignore the pain and keep going?

<comment><USER4> Many beginners would be surprised how slow or lightly they should be going if they monitored and targeted heart rate. There is discomfort and pain. If you're feeling massive exhaustion and/or pain, you may be doing something wrong.

<comment><USER6> I think one big issue is that people who are new to an exercise (or exercise at all) don't have a sense of scale, and don't realize quite how much progress they'll make early on.

If you know some people can run marathons, it doesn't sound crazy to think "well, I ought to be able to run for 10 minutes without any problems", but there are a lot of people who would risk seriously injuring themselves with 10 minutes of quick-pace running. Not to the point of rhabdo, probably, but certainly not a healthy experience.

It also doesn't sound crazy to think "Well, I'm in agony after two minutes, but there's no way that means I should stop. I'll never get anywhere with only two minutes of running!" But of course, 'beginner gains' are distinctive - someone who hasn't done cardio in years might be at two minutes today and six minutes next week.

The only universal answer I know to solve this is to take your first few outings in a new thing lightly. Don't even set a training plan, just go out until you're a bit uncomfortable, then stop and see how you feel the next day.

</comment></comment></comment></comment><comment><USER7> Ah, the old Crossfit disease:

[https://medium.com/@ericrobertson/crossfits-dirty-little- sec...](https://medium.com/@ericrobertson/crossfits-dirty-little- secret-97bcce70356d)

I've been relatively active (compared to most people) for most of my life, and I've never come anywhere close to rhabdomyolysis. It's incredibly rare. Hell, I'd never heard of it until I heard of Crossfit. Once, my mountain rescue team rescued a guy with a mild case; he had been lost in Death Valley for seven days.

The key is two-fold: like biesnecker says, listen to your body and don't overdo it, but secondly, you have to build up to these things. As secfirstmd says, people are not backing up their goals with the hard work necessary to achieve them. You can't just go from couch to marathon in one day. This isn't helped by the spreading of the lie (mostly by fat acceptance bloggers) that "fat people can do anything healthy weight people can!". If you're fat, you're not fit.

The hard part is past a certain level of fitness/training, you _have_ to keep pushing to improve. The key is knowing the difference between injury and just normal aches and soreness. If you have to ask, you aren't at the level where you need to keep pushing, and you should take a break.

<comment><USER8> Pretty much all examples of rhabdomyolysis I heard of were non-fat physically very active people able to do hundreds of repetitions. Most examples involved such people after few weeks break - no where near to become excessively fat. If you are fat, you wont be able to do as much exercise rhabdomyolysis requires to build. Your muscles will fail much sooner, so fat acceptance or not, blaming fat people for condition that does not happen to them is odd.

<comment><USER7> My apologies; perhaps I didn't make myself clear. I believe rhabdomyolysis is like terrorism: scary enough to get you to clickthrough, but not really something most people will ever have to worry about. In the vein of people hurting themselves through exercise, it is extremely more likely that someone will think "hey, I'm obese by muscle, I can deadlift 500lb!" or "I can run a marathon without training!" and then end up injuring themselves permanently, and even if they don't, they'll never take up physical activity again.

</comment></comment></comment><comment><USER9> > The report cautioned that the condition was very rare, and not a reason to > avoid high-intensity exercise.

end of discussion i guess?

<comment><USER10> Well, also:

> While almost any intense activity can cause rhabdo, it almost always strikes > people who are doing something new. That is why people should always > progress from light to moderate and then vigorous intensity when doing a new > exercise

This is decent advice even without considering rhabdomyolysis.

</comment></comment><comment><USER11> Rhabdo is supposedly so common in CrossFit that they have a mascot called 'Uncle Rhabdo':

[https://medium.com/@ericrobertson/crossfits-dirty-little- sec...](https://medium.com/@ericrobertson/crossfits-dirty-little- secret-97bcce70356d)

'Pukie The Clown' is another:

[https://breakingmuscle.com/fitness/why-pukie-the-clown- isn-t...](https://breakingmuscle.com/fitness/why-pukie-the-clown-isn-t-funny)

<comment><USER12> Yeah, personally I find it in poor taste on the part of Crossfit to promote icons like Rhabdo the Clown. Granted, it's not official, but official enough for a decent looking cartoon mascot to exist

They're raising awareness on a very serious problem, sure, but doing so by portraying people who get injured in their classes as clowns.

To some degree the instructor is at fault here. After all, the point of Crossfit is to get people into shape through very hard exercise. It's the instructor's job to push people while somehow making sure that they don't push people past an invisible line that exists in different locations for different people.

I'm not saying the instructors are bad or irresponsible people, merely that they have very strange and very hard jobs. Arguably even Crossfit isn't bad, it's merely a symptom of the root cause. We're too busy and too undisciplined to get into shape with a proper diet and sensible exercise spread throughout the day, so we let "professionals" yell us into shape into a short yet intense time window.

And two of the fruits of this insanity are higher numbers of the population disabled by Rhabdo and this strange cartoon clown hooked up to a dialysis machine.

<comment><USER13> >> I'm not saying the instructors are bad or irresponsible people

Isn't the most common criticism thrown at Crossfit (beside the cult mentality thing) that their training/certification process for their instructors is woefully amateurish compared to other, typically more responsible, programs?

<comment><USER14> Yes. They also have a reputation for preferring quantity over quality (half- assed pullups) and a generally sloppy approach to safety (yeah sure do squats while balancing on an exercise ball). Check out the deadlift form in the "crossfit games": [https://youtu.be/0lr1p7f2P4Y?t=50s](https://youtu.be/0lr1p7f2P4Y?t=50s)

Or how they do "pullups": [https://youtu.be/XQvSmqChm6M?t=1m40s](https://youtu.be/XQvSmqChm6M?t=1m40s)

<comment><USER13> >> "crossfit games"

Wow, that is scary. Considering that these are supposed to be their top performers (and in a promoted event no less), that is quite a different level of bad than just having some instructors that may not be up to snuff. It's like they purposefully and actively promote bad form and health-damaging training. So the opposite of 'fit' then.

</comment></comment></comment></comment></comment><comment><USER15> I suffered from rhabdo about two years ago. I was doing 21s (3 sets of 21 barbell curls with a 7/7/7 split of different ROMs). A day or two later my urine was brown and I could not not bend my arm. I ended up self treating by drinking liters and liters of water instead of going to the ER.

It was a pretty scary experience, I would advise any one who hasn't worked out in at least two weeks to start very light and work their way up to a routine.

<comment><USER16> I also suffered from rhabdo about 2 years ago after only a set of 80 squats. I spent 5 days in the hospital, with daily perfusion of about 3L-5L of liquids. And I also love doing 21s...great minds are doing rhabdo

<comment><USER17> > _great minds are doing rhabdo_

What?

<comment><USER18> From the old saying, "Great minds think alike." It is a joking way to say that you and another person have the same idea.

By saying "Great minds give themselves rhabdomyolysis," the person is making fun of himself even harder.

</comment></comment></comment></comment><comment><USER19> I got rhabdo in my arms a few years ago. It was _not_ an intense workout. I had taken a few months off from the gym and was in my first week back. My workout was much lighter and shorter than normal. Doctors suspected it was caused by a combination of returning to the gym and under hydration.

Does anyone know if there has been research into rhabdo frequency? I suspect it became more common as the population became more sedentary.

<comment><USER20> Interesting did you get your kidney function checked out afterwards?

my Surgeon commented I should exercise more as prep for the eventual kidney transplant I will have to ask about the risks of rhabdo

</comment></comment><comment><USER21> Just out of curiosity, can you even maintain proper form with any type of intense workout training? I'm not a fitness guru by any means, but I've been working out fairly consistently for almost 7 years now and, to me, anything more than 4 or 5 proper sets will start taking toll on the form, at which point it's best to switch to another muscle group or stop all together. If you don't have the form, what are you training?

<comment><USER22> Proper form is mainly to prevent injury and to move the most weight the most efficiently but you can still get "gainz" by letting it slip slightly. A good example is elite level power lifters on a deadlift, they round their spines pretty awfully when they approach their 1 rep max but they are trading a potentially slipped disc for CNS improvement and moving a greater load. The trick is knowing when and how to let form breakdown just enough that it doesn't destroy you.

Also there is merit in restricted range of motion training (such as stopping short of chest and lock out on bench press) to increase time under tension and "pump" \- not considered proper form but if you want to target a certain muscle/group and really get it burning then it works very well.

<comment><USER23> Powerlifting is one of my chosen sports. I follow a decent number of elite powerlifters on various social media. I rarely see significant form breakdown in elite lifters in contest footage. Small, yes, but not "pretty awfully."

<comment><USER22> Fair enough, to me any flexation looks pretty awful when you're lifting as much as they are - I focus more on the body building side of things than power lifting.

</comment></comment></comment></comment><comment><USER24> Less dramatic but also significant — higher intensity workouts can discourage continued physical activity e.g. [http://dx.doi.org/10.1037/0278-6220.127.116.112](http://dx.doi.org/10.1037/0278-622.214.171.1242) [https://doi.org/10.1016/j.psychsport.2007.04.002](https://doi.org/10.1016/j.psychsport.2007.04.002).

<comment><USER25> This is a really underrated statement. All the conventional wisdom says go intervals not the treadmill slug and make fun of "cardio bunnies" at the gyms. This can be highly misleading to newcomers: turns out intervals aren't fun and people just stop doing them, and exercise that you don't do doesn't count.

</comment></comment><comment><USER26> A more appropriate title might be: "The danger of pushing too hard when starting a new workout".

As it stands, this title seems to imply that progressively intensive workouts are more dangerous, which the article wasn't saying. I don't think the world needs another reason to avoid workouts, certainly when practiced safely.

</comment><comment><USER27> I've never really taken classes at a gym, but I can see how people wanting to plunge back into fitness could easily go way about their fitness level way too fast.

It's like mountain biking. I remember my first time on a trail I barely made it 1km before I was off the side of the trail feeling totally beyond my level. Over the course of about two months though, I slowly built up my endurance (street cycling casually during the week) until I could do 8km ~ 10km loops without really noticing how far I've gone.

As with any workout, you need to build slowly and give your muscles time to heal.

</comment><comment><USER28> I've seen a lot of people at my open gym get rhabdomyolysis. It almost always afflicts fit newcomers, or people returning from a break, who push themselves more than they should because they think they are fit enough for the intensity. Like the article says, you need to ease into an exercise regime, regardless of how fit you are.

</comment><comment><USER29> >Over the next two days, her legs throbbed with excruciating pain, her urine turned a dark shade of brown, and she felt nauseated. Eventually she went to a hospital...

Eh... if your urine starts turning funny colors you should probably head off to the hospital right then and not "eventually".

</comment><comment><USER30> What a click baity title, especially for the New York Times.

<comment><USER31> This.

Summary for people who don't want to deal with it: spin classes sometimes cause rhabdomyolysis--especially in first timers.

<comment><USER32> Exercise in general without a warmup up period. certain medications may make it more likely. It could be genetic.

The article is good, and uses an example to show the issue.

<comment><USER31> Yeah. It's actually not a bad article. Just annoying that NYT resorted to doing title clickbait.

<comment><USER32> I'm not as offended by this as most people I guess. It's the modern variation of the headline.

</comment></comment></comment></comment></comment><comment><USER33> For a more disturbing take on rhabdomyolysis, google for "Uncle Rhabdo".

It's no joke, but perhaps making it into one does increase awareness.

</comment><comment><USER34> I ride a real bicycle, plain utility cycling as I have no car and trains don't go everywhere. I have never heard of this injury in the cycling context. I also find it hard to believe that a spin workout is likely to be of higher duration and ferocity than a bike ride. I do know people who go to the gym for spinning classes - fat and female with crash diets and constant snacking on diet foods. I wish I could say something different to that, so anecdotal. I have offered to help them get cycling to work but they don't have the fitness for that, realistically. It is an order of magnitude really.

I think there is a problem with how gyms give this false impression that a mad workout in the gym will somehow work. If you genuinely care about the health of your colleagues and want to ease them onto fruit and cycle commuting then it is hard to do so and be heard. People go for the pretend of the gym and stick with the alcohol. It is not that they don't know they are lying to themselves.

</comment><comment><USER35> I've been doing a lot of running, and last night I was thinking about my progression and how important it is to not push yourself too far/hard into injury. I've gone through all sorts of bodily injury and growth, and have gradually increased the intensity and duration of my runs over several years.

Here's the advice I decided on:

* First focus on duration. Exercise (cardio, I jog/run) at least 20 minutes. Go as slow as you need to be comfortable and dont worry about distance. Stop or slow down at any sign of injury, focus on good form.

* Gradually increase distance/duration goals. I started aiming for 3 miles or 30 minutes, then I increased gradually to 6 miles / hour (what I currently do). Continue paying attention to your form, and also to your breathing. Sometimes I get pains in the chest or feel short on breath, and if I try mixing up my breathing techniques I feel better. Try to breathe into your nostrils.

* Increase intensity. I commonly get advice from very fit people to do high intensity training. I tried to early on, but my body would just have a really hard time with it. I'm finally just starting to increase intensity, particularly toward the end of my run. Master good form and breathing before doing this, and preferably when your body doesnt hurt.

Speaking of pain, I've had a lot of growing pain through this process. There are certainly different types of injuries in regards to whether you can continue exercising on them. I don't know much about the technicalities here, but if it feels better as you run (this happens with my feet/ankles) then it's prbably good for you to exercise on (RICE vs MEAT or something). Don't run on the injuries that need rest, but don't let the injuries that you can exercise with hold you back.

Also speaking of motivation, I constantly have that lazy and tired feeling of not wanting to go, but I always feel better when I do. Controlling yourself is key for all of the things i mentioned, especially for getting out there and doing it!

</comment><comment><USER36> My sister recently had this in her arm. It swelled a lot and luckily my father had the gut feeling to take her to the emergency room. I had never heard of it nor would have thought it would be life threatening!

She had mentioned that her workout wasn't very intense, be careful out there.

</comment><comment><USER37> In other news: as sedentary lifestyles intensify, a host of harmful side- effects grow more common.

<comment><USER38> It's not the sedentary lifestyle that causes rhabdo. In fact, your average couch spud probably _can 't_ get rhabdo. Their heart and lungs will give out long before that. They'll collapse into a puddle before their arm or leg muscles are even fully warmed up. As others have pointed out, it's often the _very_ active and fit who get rhabdo. It's the hyper-macho hyper-competitive types. The people who brag about how sore they are, who look down their noses at people who don't hit lift enough weight, hit the gym often enough, etc. Maybe those who post in public forums about how unfit everyone else is. I see there are people right here, in this thread, humblebragging about how they got rhabdo. Those are the people for whom no level of fitness can match their need for validation, and push themselves beyond _any_ sane limit.

</comment></comment><comment><USER39> Poor diet and lack of exercise contributing to the obesity epidemic in the United States is the biggest health issue of our time, and yet we get many more articles about "fat acceptance" and "dangers of exercising" than about the opposite.

Many of this comes from news sources that subscribe to the "I fucking love science" ilk of scientism, yet when it comes to things like obesity, they stick their head in the sand in favor of "feelz over realz."

<comment><USER40> If you read the article, you'll see that they still push for people to continue exercising. They just recommend that you do a light or moderate form of the exercise for the first time or two before committing to a strenuous exercise that you've never done before. Moreover, New York Times specifically has many articles promoting or discussing the benefits of exercise.

</comment></comment><comment><USER41> > Over the next two days, her legs throbbed with excruciating pain, her urine > turned a dark shade of brown, and she felt nauseated. Eventually she went to > a hospital, where she was told she had rhabdomyolysis, a rare but life- > threatening condition often caused by extreme exercise. It occurs when > overworked muscles begin to die and leak their contents into the > bloodstream, straining the kidneys and causing severe pain.

Terrifying.

</comment><comment><USER42> exercise is great, but one has to be careful, and avoid doing stupid things:

[https://www.youtube.com/watch?v=DgdP5U28jHc](https://www.youtube.com/watch?v=DgdP5U28jHc)

</comment><comment><USER43> rhabdomyolysis.

[https://archive.fo/KqM4u](https://archive.fo/KqM4u)

</comment><comment><USER44> Only the strong survive spin class.

</comment><comment><USER45> #SavedYouAClick:

The condition is rhabdomyolysis:

> [...] a rare but life-threatening condition often caused by extreme > exercise. It occurs when overworked muscles begin to die and leak their > contents into the bloodstream, straining the kidneys and causing severe > pain.

<comment><USER46> I knew it was going to be rhabdo.

I've done some extreme things and I've never experienced this. IMO you have to ignore some pretty serious warning signs to even get close to having this problem. Be sane, people.</comment></comment>


E3 2020 Cancelled - <AUTHOR> https://www.e3expo.com/ <comment> w-m The NAB show 2020 (April 18 - 22, Las Vegas) is still holding out, "The Show is On. Stay Informed.": [https://nabshow.com/2020/attend/onsite- services/coronavirus-...](https://nabshow.com/2020/attend/onsite- services/coronavirus-update-and-resources/)

I wonder how many more days until they cancel as well.

We have booked a stand and are planning to show a demo. Flights and hotels are booked. It feels slightly weird working on the demo, with the very high chance of it not happening after all.

<comment><USER2> On the website it says:

> NAB has been monitoring the evolving situation on coronavirus both in the > U.S. and around the globe. Due to the public health emergency we are > currently facing, we believe that it is not possible to move forward with > NAB Show as planned. Please see below for a message from NAB's president and > CEO Gordon H. Smith, along with some FAQs about the decision.

So I guess 0 days!

<comment><USER3> More concisely: [https://nabshow.com/2020/](https://nabshow.com/2020/)

> An Update On 2020 NAB Show

> NAB Show will not take place this April in Las Vegas

For a media event they really need to work on their messaging.

<comment><USER4> Maybe this is the media equivalent of having half a dozen CS PhDs standing around a computer trying to get the projector working.

</comment></comment></comment></comment><comment><USER5> Fun anecdote: I flew from FL to CA in 2000 for E3 when it was a press-only event. That was the first and last time I've had to have a doctor come to my hotel room (on Day 2 of the show) to give me a shot in the ass for some sort of strep/flu. I forget what it was, or what the shot was, but 18-year-old me sprung back into action the next day... and probably passed whatever I had to every hand I shook.

</comment><comment><USER6> All the recent headlines read like from "Plague Inc.", I have never thought I would live in such times.

<comment><USER7> Well it is pretty much Zombie Apocalypse replete with all the reasons why movies, shows, games, and novels, always have the world become overrun. Yet people ridicule them for it and here we are, containment does not work in societies with such freedom of travel and no recollection of past events.

Throw in now in many countries the level of self entitlement is so high that it truly is hard to quarantine people voluntarily. Yes you still have those who respect the law and others but we have far too many who either put themselves above both or just act maliciously.

Let us all hope it is an over reaction

<comment><USER8> If it works, it will look like an overreaction.

If it doesn't work, there will be cries about how not enough was done.

Like in IT/DevOps/etc. when you're doing your job very well, your job looks unnecessary.

</comment></comment></comment><comment><USER9> With rumors of Sony and Microsoft's consoles coming out at the end of this year, does anyone know if this event would have any impact on that? I'd imagine being able to leverage this sort of event for generating buzz and interest helps with their sales to some extent so I'd be very curious to see if they decide to delay their release.

<comment><USER10> Unlikely-- E3 (like the other big trade shows in general) has been getting progressively less relevant industry-wide each year, in favor of more direct- to-consumer messaging (like Nintendo's Nintendo Direct presentations). Sony even announced they weren't participating back in January, before all this COVID-19 mess.

<comment><USER11> This is true. Big companies were the first to pull out of GDC as well. I think the big players feel they have to spend a lot to keep up and they don't get a lot out of it.

I believe the smaller companies are the ones that tend to benefit from the big conferences, because it gives them a chance to talk to people all over the world who might not otherwise be available. Speaking for myself, these cancellations are understandable, but a big problem for my work.

<comment><USER12> I've heard it was more important, at GDC at least, for indies because you have legendary devs walking around who can help small teams get deals or contacts with bigger networks. Make a demo that catches the eye of the right person and it can be really helpful.

<comment><USER11> Exactly-- you meet new teams you may want to do business with. Devs meet people who want to invest. Not exactly helpful for EA or Activision, but big help to others.

</comment></comment></comment></comment></comment><comment><USER13> > We look forward to bringing you E3 2021 as a reimagined event that brings > fans, media, and the industry together in a showcase that celebrates the > global video game industry.

Looks like the entire tech and game industries have put the future on hold for a year and a half.

Meanwhile, I suspect that Hollywood directors are scripting a COVID-19 film for box office success...

<comment><USER14> Yet the Smurf festival in Lombardy lives on [https://twitter.com/chamILYAn/status/1237397658773286913?s=2...](https://twitter.com/chamILYAn/status/1237397658773286913?s=20)

As for the movie I think Contagion 2

<comment><USER15> ...why not just link the YouTube video? I don't get what the twitter link adds.

</comment></comment></comment><comment><USER16> Aw. The best part of E3 was always the decor all the studios do to their booth. Hard to replicate that experience since it's very similar to visiting an art museum.

I wonder if the studios will just release the playable demos to the press now. The worst part of E3 was always waiting hours in line for a 5-minute demo experience. If they can digitally release the games, it'd be so much better.

<comment><USER17> E3 was never really setup or supposed to be a show for the public press rarely had to wait that long and mostly took appointments to see demos.

</comment></comment><comment><USER18> If I don't get Elden Ring news soon I am going to go hollow.

<comment><USER19> I only know of hollofication from Bleach. Does the idea crop up elsewhere, e.g. in Elden Ring?

<comment><USER20> Dont go hollow skeleton! Yeah it's an idea from dark souls, another fromsoft game that you hopefully have heard of and spent 100s of hours playing.

<comment><USER19> Thanks for the tip about Dark Souls! Heard of it but never tried it out. I'll take a look.

<comment><USER18> You will either hate it or you will think whichever SoulsBourne game you play first is the pinnacle of gaming and you will play all of them and they will consume you and other games will cease to be fun. It is the curse.

</comment></comment></comment></comment></comment><comment><USER21> Why don't they just do it over YouTube?

<comment><USER22> Good idea, but that would mean the game journalists wouldn't have anything to do.

<comment><USER21> Because they can't do interviews or ask questions? YT does have superchat which might be harnessed for that.

</comment></comment></comment><comment><USER23> What about WWDC?

<comment><USER24> I don't see any news about it yet but a cancellation seems likely considering the mass gathering ban in Santa Clara.

[https://9to5mac.com/2020/03/10/wwdc- cancellation/](https://9to5mac.com/2020/03/10/wwdc-cancellation/)

<comment><USER23> "Apple's Worldwide Developers Conference 2020 kicks off in June with an all- new online format"

[https://news.ycombinator.com/item?id=22568601](https://news.ycombinator.com/item?id=22568601)</comment></comment></comment>


In a public library, in the USA, SMTP is MITM'd, and STARTTLS is filtered out - <AUTHOR> https://identi.ca/joeyh/note/3b9ykedXTN2TWxeGUuzS3g <comment><USER2> Not that MITM'ing is okay (the library should simply block 25/TCP outbound instead), but he really should be using 587/TCP (cf. RFC6409).

$10 says the library has a Cisco ASA firewall (probably installed by some young tech at a local I.T. company) inspecting SMTP traffic (which it does by default). If he would have issued "HELO/EHLO" (instead of "STARTTLS") we would have been able to tell from the return response.

Anyways, if his mail client was configured to use 587/TCP and require STARTTLS, the worst that would happen is that his client would refuse to authenticate to the server (my SMTP servers, for example, do not advertise the "AUTH" verb on 587/TCP until the connection is encrypted) and his credentials wouldn't be compromised.

</comment><comment><USER3> Poor use of the term MITM. Is the device replacing certificates (public keys) used to authenticate the mail server to the client? MITM'd typically refers to an active TLS attack where server authentication public keys are substituted allowing a MITM to terminate and reestablish a TLS session to a client. This is just esmtp inspection.

<comment><USER4> MITM has nothing to do with TLS. It just means that the attacker is talking to both sides simultaniously, giving them the impression to be talking to each other directly. Thus the attacker is able to read manipulate the traffic. This can be used to hand out the attackers own certificates, but is in no way limited to it. I'd call this attack as the library is doing it MITM.</comment></comment>


Ask HN: Elevation Something to Consider When Deciding Where to Live? - <AUTHOR> After reading about how CO2 build up in offices can contribute to lower cognitive performance [1], when considering places to live, I automatically discount elevated places, like Denver, due to fearing similar cognitive degrading effects of having less available oxygen.  This is compounded by anecdotes, like TJ Dillashaw moving closer to sea level due to reduced recovery ability when training in Denver [2].
We know that Tibetans have genetic adaptions to living at high altitudes [3], suggesting it's less than ideal for "ordinary" people to live that high.  The question is whether it's also less-than-ideal to live even 2k feet above sea level and it's just a matter of severity?
In other words, will a human (let's say a programmer) living at sea level perform the same as a "fully adapted" person living at 2,200 feet (all else equal)?
Thank you.
[1]: https://medium.com/@dhh/air-quality-matters-but-dont-trust-foobot-on-it-e2df4234a776
[2]: https://youtu.be/BB7tpgwvg1g?t=4110
[3]: https://en.wikipedia.org/wiki/High-altitude_adaptation_in_humans#Tibetans_2 <comment><USER2> Just want to point out that these are two different things:

1\. detrimental effects of too much CO2

2\. detrimental effects of too little O2

The short and long-term effects of both may be very different. The human body can adapt to the low O2 at high altitudes given enough time[0], but I don't know if the same applies to high levels of CO2.

[0] [https://en.wikipedia.org/wiki/Altitude_sickness#Prevention](https://en.wikipedia.org/wiki/Altitude_sickness#Prevention)

<comment><AUTHOR> Right, I didn't mean to imply they were the same, it's just reading about elevated CO2 helped to trigger the altitude fear.

</comment></comment><comment><USER3> Some Olympic-level athletes deliberately train at high altitudes because the body responds by making more red blood cells in order to make the most of what oxygen is available. This then gives them an advantage when competing at lower altitudes.

So basically, if you moved to Denver and maintained your current activity level, your body would adapt within a few weeks.

Also, Denver for one is not all _that_ high, even at 5k feet. Visiting there for a few days after several years spent at sea level didn't result in any noticeable altitude sickness symptoms for me, just somewhat decreased stamina for aerobic activity. (Whereas a few hours spent driving over the continental divide at nearly triple the altitude did trigger very obvious altitude sickness symptoms such as dehydration, sleepiness, and headache.)</comment>


Signal on Android does not have a Google apps dependency anymore (2017) - <AUTHOR> https://github.com/WhisperSystems/Signal-Android/issues/127#issuecomment-286223680 <comment><AUTHOR> In the past I wanted to use this high quality encrypted communication tool on my android phone running Lineage OS (successor of Cyanogen mod) without Google Apps, but it was not possible because of a dependency to "Google play services". This dependancy was removed in march 2017.

What is more an official APK can now be downloaded from Open Whisper Systems servers.

I submitted this because I discovered this by chance only today and I would have installed Signal sooner if I had known.</comment>


My BlackBerry: The Good, The Bad and The Damn Ugly - <AUTHOR> http://oonwoye.com/2010/10/11/my-blackberry-the-good-the-bad-and-the-damn-ugly/ <comment><USER2> Maybe as a device the BB is not in the same league as ihpone or Android.

But you don't buy the BB for the device but for the services. This said if you want to play angrybirds get a iphone.

With a BB I can get a flat fee everywhere in the world to use the BB services. Mail, surfing the web. Which is a sweet deal if you travel a lot.</comment>


Going Fast Slowly - <AUTHOR> https://varnish-cache.org/docs/6.2/phk/thatslow.html <comment><USER2> From the article: "I no longer think about code lines as an asset to be accumulated, but rather as an expenditure to be avoided."

The obvious Edsger Djikstra reference:

 _[I]f we wish to count lines of code, we should not regard them as "lines produced" but as "lines spent": the current conventional wisdom is so foolish as to book that count on the wrong side of the ledger._

[http://plasmasturm.org/log/linesspent/](http://plasmasturm.org/log/linesspent/)

<comment><USER3> Chiming in to say I agree with the sibling (dead) comment (not sure why it ended up dead).

Djikstra's words (and the article's) are clearly correct, but hardly revolutionary or contrary to modern belief today.

The real question is: why, despite a prevailing belief in modern software software engineering that red diffs are beautiful and cathartic things to be celebrated, and that the great spectre of technical debt is something to be excised, why do complex overengineered systems still prevail despite all this?

<comment><USER4> Software-as-art has lost a lot of ground to software-as-business, and in software-as-business, somewhere up the chain there is a management-level individual who isn't really sure how to measure either progress or code quality.

There are myriad tools designed for these people though, and they all chose the simplest (and wrong) solutions to the problem: progress is SLOC added and bug reports clsoed per day.

The height of the software-as-art era was the shareware days of the late 90s. Development certainly moved a lot more slowly overall, but there also tended to be better relationships between developers and their users and developers were not yet all working for people who tried to measure their progress by the only metrics they could understand. The entire industry has been a victim of Goodhart's Law.

<comment><USER5> Do you have any suggested reading around software as art vs business? You pretty much began to articulate the things I've been thinking about lately.

<comment><USER4> I wish! If there's a good book out about it, I'd love a recommendation too. I lived it though, writing my first "software" as a youth in the mid-80s. I've seen a lot of change in computing. And not all "get off my lawn" bad, just different.

I see software now as having three different faces: software-as-art, software- as-business, and software-as-engineering. The 80s and 90s had a lot of activity in software-as-art. I was mostly following Mac culture at the time, so I saw this through Bungie, Ambrosia, BareBones, and hundreds of smaller indie developers. The environment at the time enforced the software-as-art discipline, because downloading a program happened over 14.4kbps or slower, or 28.8kbps if your parents had good jobs, and came along with yelling that often sounded like, "get off the phone!" "But I'm downloading!" Installation media was 700K or 1.4MB, and that had to have all your code, art, sound, and other resources.

That's mostly all gone now. Bungie of course got married to Microsoft, which pissed off Mac enthusiasts _way_ more than when Jobs announced a partnership with MS to get Office on the Mac. They've done well. Panic are the only old- school indie commercial desktop software developers I can think of off the top of my head that are still pretty true to their roots.

A lot of software of course just became free. I enjoy so much more high quality software at no cost now, which is really only possible because of the massive benefits of scale that have come from all the tools that have trickled down from software-as-business.

Software-as-business really took off. Apple, Microsoft, Sun, Oracle and others were always kinda big, but not the impossibly large megacorps that they are now. Most of them were still vulnerable to serious mistakes, and that was good, because it meant the users still had some power. Now, mistakes in software development don't really matter to these companies unless they impact 8 figures of quarterly revenue, and that's a process that has zero room for software-as-art.

Software-as-engineering is mostly stillborn, languishing in academia or a few places with rigorous standards (like NASA) or still finding its footing in modern DevOps. I still hold out hope that eventually this aspect will get some love too. I think it will be necessary, eventually, but maybe not until after I've written my last line of code.

</comment></comment></comment></comment></comment><comment><USER6> "Slow is smooth, and smooth is fast"

Old military saying that I repeat often because I have relearned so many times that shortcuts cause more work (read: problems and rigidity) in the long run.

Choose one: get it done right, or get it done right now.

<comment><USER7> Or from my mom: "The hurrieder I go, the behinder I get!"

EDIT: Apparently my mom is Lewis Carroll.

</comment></comment><comment><USER8> Footnote 6 is interesting:

 _"I prefer asserts over comments for this, since the compiler can also see them. The good news is, the compiler can also see that they don 't do anything so a lot fewer are present in the binary program. Interestingly, a couple of them allows the compiler to optimize much harder. No, I won't tell you which those are."_

I appreciate the pattern of having "comments" that are equally useful to compiler and reader. And I'm impressed that some compilers actually use them to optimise the output. And I'm slightly baffled that the examples of these are apparently a secret. :)

<comment><USER9> In Rust, an assert can turn multiple bounds checks on array indexing into just a single bounds check. Maybe it's something along those lines here too.

<comment><USER10> Interesting! Do have a link to an example?

<comment><USER9> Given the following code (and with optimisations on):

        pub fn no_assert(input: &mut [u8]) {
            for i in 0..10 {
                input[i] += input[i+1];
            }
        }

        pub fn with_assert(input: &mut [u8]) {
            assert!(input.len() >= 11);
            for i in 0..10 {
                input[i] += input[i+1];
            }
        }

The no_assert function ends up doing a bounds check for every iteration, and the with_assert function only does a single check.

<comment><USER11> Still that assert has to be checked at some point right? I would assume that maybe the compiler could do this optimization without having to be told.

<comment><USER9> In practice a small function like this would be inlined, which gives room for further optimisations. At any point, if the compiler knows that all accesses are in bounds, it can remove the bounds checks. The trick is actually having it figure that out.

</comment></comment></comment></comment></comment></comment><comment><USER12> The strategy of "making haste slowly" dates back to the Roman empire (or earlier!), where they said "Festina lente"

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

This was also used as a catch-phrase or motto in "Mr. Penumbra's 24-Hour Bookstore", which is a fun read, especially if you're familiar with the Silicon Valley tech scene.

[https://en.wikipedia.org/wiki/Mr._Penumbra%27s_24-Hour_Books...](https://en.wikipedia.org/wiki/Mr._Penumbra%27s_24-Hour_Bookstore)

</comment><comment><USER13> 10 LOC/h is spectacularly good over a long time period. Congratulations, from a varnish user.

I recently tried to set expectations in a coding interview that was scheduled for 3 hours. I told them that was enough time to read the spec, develop a simple test case, and begin or possibly complete an implementation of part of the spec. I also told them that I wasn't interested in a shop that hired people based on their ability to dash off broken, untested code in half a day. It seems to me that this kind of coding test (especially for someone with 25 years of open-source contributions) can only lead to bad things. I'd be glad to meet people like the author who have a practical view on Brooks and LOC/h.

<comment><USER14> I've been doing tech interviews professionally for a large tech interview platform that you would have heard of. We have a timed coding challenge, but code quality is something we explicitly look for. Making slow but steady process with good testing is a great signal for us too, even if they don't get very far through our challenge within the allocated time.

That said, occasionally we have people who work very quickly and somehow still have great code. Thats an even better signal.

<comment><USER15> I hope it's communicated that they're not expected to finish. If I was given a coding challenge with a time limit I would assume I was expected to finish inside the time limit and make any sacrifices that needed to be made to achieve that - including ignoring testing and hoping I just don't make too many mistakes.

<comment><USER16> Assuming GP is talking about what I think he is, then yes they tell you ahead of time.

</comment></comment></comment></comment><comment><USER17> > This is why Varnish is written in "pidgin C" style and lousy with asserts > which don't do anything, except clarify programmer intent, and in case of > mistakes, stop bad things before they get out of hand.

Today I learned a new name for my C coding style.

<comment><USER18> 'Assert early and often'. Check your assumptions all the time, nine out of ten times that's where your bugs will hide.

<comment><USER17> My C programs always start as a few skeleton .h files with include guards, and a few .c files that are basically an ever growing list of asserts() on any pointer to a structure or variable, or on any value where it is expected to be within a certain range.

Gradually I feed my structs and typedefs into the .h files and replace the asserts with (hopefully) working code.

</comment></comment></comment><comment><USER19> About the numbers, I feel like going through the commit diffs and counting all the + lines would be better (in some sense) metric than counting the final lines of code if we'd want some proxy for the amount of labor.

<comment><USER20> Indeed. Reminds me of arcfide's Co-dfns compiler:

>I think the first copyright on this compiler is around 2011. That's 6 years for 750 LoC. That's about 125 lines of code per year.

>But that doesn't tell the whole story. If you look at the GitHub contributions that I've made, I've made 2967 of about 3000 commits to the compiler source over that time frame. In that time I've added roughly 4,062,847 lines of code to the code base, and deleted roughly 3,753,677 line of code. And there's the real story...It means that for every one of those 750 lines, I've had to examine, rework, and reject around 5400 lines of code.

[https://www.sacrideo.us/smaller-code-better- code/](https://www.sacrideo.us/smaller-code-better-code/)

<comment><USER21> Is this [1] the code he speaks of?

[1] [https://github.com/Co-dfns/Co- dfns/tree/master/cmp](https://github.com/Co-dfns/Co-dfns/tree/master/cmp)

<comment><USER18> It's an APL compiler, written in another APL dialect, which is about as dense as you can get in terms of lines-of-code. APL is one of the few really high level languages.

<comment><USER22> It looks like a lot of the lines of diffs are to HTML/XML files related to the certification of the code, rather than executable code. So, definitely not very dense.

[https://github.com/Co-dfns/Co- dfns/commit/78d0e38f8ba2e1de9f...](https://github.com/Co-dfns/Co- dfns/commit/78d0e38f8ba2e1de9f2b0e9ec22df4e1f17f4fe6)

<comment><USER23> Here's a rendered version of that document at some point in time: [https://1drv.ms/b/s!AvaVLzoc2_8MiNdqkVZ1ScoRjYeOZQ?e=ApQSFw](https://1drv.ms/b/s!AvaVLzoc2_8MiNdqkVZ1ScoRjYeOZQ?e=ApQSFw)

I notice that my discussion about the churning on the GitHub repository has been repeated a number of times. I can provide some historical clarification on why there was so much churning there.

The actual compiler proper as it stands right now is found here: [https://github.com/Co-dfns/Co- dfns/blob/master/cmp/e.cd](https://github.com/Co-dfns/Co- dfns/blob/master/cmp/e.cd)

The documentation for those 17 lines of code are in a hopefully soon to be published thesis of about 70k words that includes performance information and the like.

However, during the development of this project, I didn't start writing it in APL on Dyalog. I explored a significant number of other architectural designs and programming methodologies. Some more popular I tried were habits like Extreme Programming, Agile methods, Java, Scheme, Nanopass, SML, Isabelle, and even a custom extension of Hoare Logic on top of dfns. I believe that I also explored implementing the compiler in C++/Boost and prototyped some stuff (I don't know if it ended up in this Git repo) and C.

In other words, the compiler has not been a single code base, but has been a series of complete rewrites using different methods, approaches, languages, techniques, and architectures. I have used heavyweight machine support (mostly around C++ with Visual Studio's infrastructure) as well as some very hardcore UNIX style low-level handiwork. Multiple different IDEs, text editors, and operating systems were all explored, as were multiple different backends, targets, and the like. At one time I had targeted LLVM, and another C, another OpenACC, and another ArrayFire.

The whole project has been a somewhat wide ranging exploration of the design space, to say the least.

What you are seeing of the XML stuff was from a particular design effort that was an attempt to apply strict Cleanroom Software Engineering as a methodology to the compiler design, to see what would happen. In the end, I abandoned the attempt, for what I hope will be obvious reasons, but during this time, I predominately worked on RHEL with the ed(1) text editor editing XML files for the DocBook publishing suite. Parts of the churning are the incorporation and removal of various dependencies that had to be brought in and out of the repository depending on what infrastructure I was relying on. In the case of DocBook, some of those files are large.

However, a significant amount of the work of Cleanroom Software Engineering is "coding via documented process." This includes the certification steps as well as the function specification, increment development, sequent analysis, and so forth.

Thus, for a very real portion of the Co-dfns work, I was literally programming in XML using ed(1) to model relatively complex state machines and function specifications that provided very fine-grained behaviors of the compiler. For example, a significant amount of work went into the following file:

[https://github.com/Co-dfns/Co- dfns/blob/92e07bd84b5c8be08e2f...](https://github.com/Co-dfns/Co- dfns/blob/92e07bd84b5c8be08e2f6d46a70d8e6d69ac7142/Function%20Specification.xml)

This file is about 45k lines of XML, and was written and edited entirely by hand using ed(1). I had a video demonstration of this a while back which demonstrated how I did this, and particularly how I did a lot of this with ed(1), but I lost the script file recording.

Over time, as I continued to explore patterns and development approaches, I continued to discover that the code was faster, better, and easier to work with as I removed more and more "stuff" from the various processes and possibilities.

It wasn't until relatively late in the game that I actually realized that not only could the compiler be written in dfns well, but also that the compiler could be written in dfns in a way that was fully data parallel, which is the core insight of my Thesis. This had significant ramifications on the source code, because it meant that the compiler could not be tackled not only as a self-hosting project (at least in theory) but also in a fundamentally idiomatic way.

The result is that the compiler has generally continued to be more featureful, less buggy, and more dense at each major stage, with the latest leading to 17 lines of code. This is accomplishing essentially the same result as the 750 lines of code in a previous HN discussion, but does so partly by recognizing some passes as irrelevant and unnecessary to the current needs.

I do expect that after the publication of the thesis, the compiler will grow a little bit to add some new things that need to go in. However, at this point, I have a fairly efficient methodology.

So, the GitHub repository is not just a record of the code, but a record of a lot of different approaches to how to do what I was trying to do. Much of that XML you see was very much "coding" in the sense that I was providing for the core behavior of the system and was the primary specification of its behaviors in a formal, rigorous manner.

<comment><USER23> Oh, and yes, a few times I did in fact explore programming in Word as well. Just as an example:

[https://github.com/Co-dfns/Co- dfns/tree/13e2624d6f5897a0f0c9...](https://github.com/Co-dfns/Co- dfns/tree/13e2624d6f5897a0f0c97bdc2b6b788b394aaa4e)

I did also explore more traditional approaches, of course, but I have spent a lot of time exploring the "form" of representing the code.

</comment></comment></comment></comment></comment></comment></comment><comment><USER24> While it is true that SLOC is not a good measure, this does not mean that no good measure uses SLOC. Much of the variance comes a lack of information about coding style and algorithmic approach. But it's not the 90s anymore. In the presence of a style guide _and_ code reviews to ensure that the local style is being followed properly SLOC counts do become locally comparable as a reasonable measure. I'd still use the churn rate (lines added + line removed) as a rate of productivity though, over just lines added.

</comment><comment><USER25> I wonder if this project, at least VCL compiler part of it, could've benefited from the use of a parser generator. I understand going slow, but using a parser generator would've allowed for faster development of VCL freeing up time to add more features so it isn't so hard to write for.

</comment><comment><USER26> Slow enough to not offer Varnish for Buster, 2 months after Debian release... ;-)

<comment><USER27> What are you talking about that they did 'not offer Varnish for Buster?' Was there a packaging problem or more context you could add here?

<comment><USER28> It looks like Debian 10 (Buster), which was released 2019-07-06 contains Varnish 6.1 instead of 6.2, which was released 2019-03-15.

<comment><USER29> 6.3.0 is already out...

<comment><USER26> Since 2 days yes, but not for Buster.

<comment><USER14> Its opensource and maintained by volunteers. If this matters to you, don't whine on HN. Write a PR.</comment></comment></comment></comment></comment></comment>


Show HN: Very basic blockchain-free cryptocurrency PoC in Python - <AUTHOR> https://github.com/DutchGraa/crackcoin <comment><USER2> So this is basically a blockchain, but with transactions instead of blocks, and diverging-then-converging graph instead of a linear sequence of blocks (like a real family graph instead of just one-parent-one-child families common in blockchains). Looks nice, what are the problems with the approach? (the paper only lists the benefits).

<comment><USER3> There is no way to have a controlled release of new coins into the system. For that you need a blockchain that establishes a consensus on time transpired and on the total economic resources being contributed (which allows the share of the newly generated coins that each participant will receive in a unit of time to be proportional to the share of the total economic resources they are responsible for contributing).

There is no mechanism to link cost of proof of work generated to the value being transacted. With a blockchain, scarcity of space per block leads to a fee market forming, and fees paid increasing as the value contained per transaction increases. This leads to security (proof of work) increasing in proportion to value that needs to be protected.

<comment><USER4> >With a blockchain, scarcity of space per block leads to a fee market forming, and fees paid increasing as the value contained per transaction increases.

Note that this is not currently the case in bitcoin, transaction fees have gone up with the current scarcity due to the arbitrary block limit, but the fees are still a pittance compared with block reward - which is the real incentive for mining (but will not always be the case as block reward reduces in the future).

This is somewhat of a sore point for the bitcoin community as a large (probably not majority, but large) portion of the user base / miners / nodes does not think scarcity of space is a good idea at current levels of transactions.

Also Ethereum (which at the moment uses a blockchain and mining mechanism very similar to bitcoins) does not impose a block size limit, rather leaves it up to the miners to decide on the "gas" limit (they have a computational limit rather than a block size, but it can be viewed as a parallel).

<comment><USER5> Number of new Bitcoins a day: 2063 [1] Transaction fees in Bitcoin: 272 [2]

So transaction fees are not insignificant.

1: [https://blockchain.info/charts/total- bitcoins](https://blockchain.info/charts/total-bitcoins) July 6th data 2: [https://blockchain.info/charts/transaction- fees](https://blockchain.info/charts/transaction-fees) July 6th data

<comment><USER4> That's total, not per block.

Per block, fees average 0.9btc iirc.

Transaction reward is 12.5 btc

0.9 is not insignificant, but compared with block reward, the true (current) incentive providing block security is not in question, and that is what was being discussed.

<comment><USER6> How is that a useless figure? You'd expect it to have the same ratio per block or per day, so they're comparable when talking about the ratio of fees to rewards

<comment><USER4> Because we are talking about security of blocks and block scarcity, there is no limit on the space "per day", its all per block, similarly people don't make race attacks on a day, they make race attacks on a block.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Reminds me of a cryptocurrency for the gift economy that I'm working on. Each coin is unique and valued subjectively by each person. [https://github.com/jchris/document-coin](https://github.com/jchris/document- coin)

<comment><USER8> Holy shit, I've had an idea just like that in the past.

<comment><USER9> I think it's a common idea. I thought of it before bitcoin was a thing (public signed transactions) and heard similar ideas many times. Still waiting for a working system because at this point in pretty sure I'll never actually create one myself.

</comment></comment></comment><comment> TD-Linux Note that base58 for addresses was generally considered a mistake - there's a replacement for Bitcoin proposed here: [https://github.com/bitcoin/bips/blob/master/bip-0173.mediawi...](https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki)

<comment><USER10> Note that this proposal is from two authors who are under huge controversy right now and depending on who you listen to are likely to be removed from their current positions as Bitcoin contributors along with several others in the next few weeks. Given this it seems likely that this proposal will go nowhere.

</comment></comment><comment><USER11> Are there any blockchain-free cryptocurrencies currently on any exchange?

<comment><USER12> IOTA: [https://coinmarketcap.com/currencies/iota/](https://coinmarketcap.com/currencies/iota/)

Here's the related white paper: [https://iota.org/IOTA_Whitepaper.pdf](https://iota.org/IOTA_Whitepaper.pdf)

Website is here: [https://iota.org](https://iota.org)

<comment><USER13> Be warned about IOTA though, it still is not decentralized, see [https://medium.com/@ercwl/iota-is- centralized-6289246e7b4d](https://medium.com/@ercwl/iota-is- centralized-6289246e7b4d) and the reaction of devs/foundation-members to that article, does resemble the reaction when somebody has something to hide. And [https://www.reddit.com/r/Iota/comments/6jzfak/whats_wrong_wi...](https://www.reddit.com/r/Iota/comments/6jzfak/whats_wrong_with_iota/) and some others, but also the official channels are moderated/censored.

Seems to be more promise, hype abd marketing, than what it says on the tin.

<comment> TD-Linux Even disregarding any flaws, I'd still consider it a blockchain - just one where each block only holds a single transaction.

<comment><USER13> Yes.

Having said that, the positives about IOTA;

They seem to have developed their own hashing function, of the sponge family, called Curl - and are actually using the Westernelitz (oh jesus spelling, more space-efficient Lamport) signature scheme - it is a method of constructing a digital signature only from hash functions. Cool.

</comment></comment></comment></comment></comment><comment><USER14> the only public blockchain-free cryptocurrency in top 10 of coinmarketcap is iota

www.iota.org

</comment><comment><USER15> Yeah, I'm done with this "scientific" tone, this PDF thing and so on. What is in this paper that couldn't be posted as HTML in a web page? How is PDF better compared to that?

<comment><USER16> Are you trolling? It's a scientific paper.

<comment><USER17> Are you trolling? HTML was invented for scientific papers.

<comment><USER18> Try reading the HTML version of Fielding's paper and tell me it looks better than the pdf. It might have been invented for that purpose, but that doesn't mean it's still suitable for it. When you are writing a paper, you want to control the presentation, not just the content.

<comment><USER19> I'm pretty sure you have way more control over "presentation" when you use HTML vs PDF.

<comment><USER20> No you don't, HTML has massive variation between devices and what software is used to display it. Try setting your screen resolution to 640x480 and opening a webpage or, even worse, modifying DPI. PDFs on the other hand specify exactly where to place each glyph (admittedly there is still variation between software but it's much more consistent).

<comment><USER21> You sure do - the variation between devices _is_ the manifestation of the ability to control layout depending on the recipient's display's resolution and size.

If anything, a PDF designed for A4/letter is going to be cumbersome to read on a (probably rather small) 640x480 display.

The sad state of PDF rendering on (most) e-book readers should be evidence enough.</comment></comment></comment></comment></comment></comment></comment>


Optical payloads for small satellites: a sector overview - <AUTHOR> https://blog.satsearch.co/2020-03-25-optical-payloads-for-small-satellites <comment><USER2> A very interesting role the optics can play for modern satellites, which unfortunately isn't covered in the article, is using light as communication media between satellites or between ground stations and satellites. Some NASA experiments have shown that optical communication systems can present a range of interesting features, which may be of interest even to the designers of small satellites.

<comment><AUTHOR> Here's our round-up of optical comms systems for small satellites: [https://blog.satsearch.co/2020-01-22-optical- communications-...](https://blog.satsearch.co/2020-01-22-optical- communications-for-small-satellites-and-cubesats-product-roundup)

The optical comms market is quite dynamic at the moment, There are a number of ground stations being deployed around the world, in addition to terminals for satellites being brought to market for ground communication and inter- satellite links (ISL).</comment></comment>


YouTube's Fair Use Protection - <AUTHOR> https://www.youtube.com/yt/copyright/fair-use.html#yt-copyright-protection <comment><USER2> Why can I still not flag a video that is obviously copyright theft?</comment>


Ask HN: How to proceed? - <AUTHOR> I've been a professional programmer since 2000. I work remotely and I've had a number of accomplishments over my career. Always gotten positive feedback from coworkers/managers. I'd planned to change jobs at the end of 2015 and I also hit 40 recently. I've focused on remote jobs. I feel it is important to grow and aim above where I am currently at.
My search started 6 months ago. I've submitted 35 applications. 14 received no response. 9 responded with rejections. 3 had screening tests (e.g. HackerRank). 5 had code challenges of 8-12 hrs. Of the 5, 2 followed up with just a rejection. 2 continued on to more interviews. I did a paid trial project for 1 company. I interviewed with 8 companies. 6 went multiple rounds and 2 made it to final round interviews. More details here: http://pastebin.com/R2BjGAiW.
After many hours, stress & sacrifice, I am questioning my next steps. I assumed (based on the 'hot' the job market and many recruiter requests) I'd have offers in a month. I've never had such difficulty passing interviews in the past and it seems way harder than say 5 years ago. Seems like interviews are more geared towards evaluating junior engineers and deeply discount experience.
Any advice on where to go from here? Should I just persist? Is this age bias? Should I use a recruiter like TripleByte? Should I switch to consulting? I've read comments that networking is key. Being remote I don't get a lot of face time & my colleagues tend not to move often, limiting opportunities. Perhaps study CS fundamentals and interview with Google. I don't want to relocate, but having it on the resume might help a lot.
I could really use some wisdom on how to move forward. Anyone know of career counseling for people like me? Anything constructive that the community can offer would be greatly appreciated. <comment><USER2> Your story sounds familiar.

It does seem as if something changed in the past five to ten years when it comes to the overall application and recruiting process. But then I have the impression the entire field of software development changed for the worst.

As for advice, that is naturally difficult as this will highly depend on your background, your expectations (where do you see yourself in five years .... ;) ), motivation, and of course personal character.

About Google, certainly this depends on aforementioned characteristics, but generally speaking I'd be rather wary (to avoid saying "not recommend it"), particularly when one is not in his 20s anymore (a blunt generalisation of course).

If you'd like to continue this discussion, are you reachable outside of HN?

<comment><AUTHOR> Thanks for the comment. I had to strip out a lot of background info in order to get under the post limit. I'd like to continue working in software development and I am really seeking a position where I am going to be challenged and be able to contribute in a meaningful and visible way. I feel like this decade of my life _should_ be a peak career-wise and for that to happen I need to make wise choices now.

I'm interested in hearing more about your thoughts on Google. Email at tortartificer[at]gmail.com.</comment></comment>


Ask HN: Good place to get help on / learn WebAssembly? (beginner level) - <AUTHOR> I started to get some interest in WebAssembly after seeing the possible applications and decided to take the leap this week-end.
I managed to get past the hello world stage on my own with some help from stackoverflow but I'm now stuck while trying to re-implement my js game of life in wasm. The IRC #webassembly does not seem active.
Any good place you know for some practical advice ?
The webassembly, emscripten, mozilla docs are a bit overwhelming and not that much example oriented and the tutorials I found are probably out of date on many aspects considering the moving target that WebAssembly is... <comment><USER2> You can try emscripten mailing list: [https://groups.google.com/forum/#!forum/emscripten- discuss](https://groups.google.com/forum/#!forum/emscripten-discuss)

<comment><AUTHOR> Thanks, will try. Edit: done here > [https://groups.google.com/forum/#!topic/emscripten- discuss/M...](https://groups.google.com/forum/#!topic/emscripten- discuss/MWWOK7vR5pg)

</comment></comment><comment><USER3> A good tutorial: [https://medium.com/@mbebenita/lets-write-pong-in- webassembly...](https://medium.com/@mbebenita/lets-write-pong-in-webassembly- ac3a8e7c4591)

</comment><comment><AUTHOR> Currently going through awesome-wasm: [https://github.com/mbasso/awesome- wasm/blob/master/README.md...](https://github.com/mbasso/awesome- wasm/blob/master/README.md#general-resources)</comment>


Wherein my Kiss was Rejected - <AUTHOR> http://www.jamesaltucher.com/2010/10/wherein-my-kiss-was-rejected/

<comment><USER2> I'm pretty sure this is bad advice.

I say this as someone who has irresistible urges to "shake things up" when I'm going through rough patches. In fact, I think that desire is really common. I bet that's why this guy did all that stuff; he had the urge to do crazy things.

But just because it's typical to have the urge to do crazy things when you're in a rough spot doesn't mean that you should do them, or that it will solve anything.

In my experience there's a reason these things are called "crazy." I've ended in some pretty undesirable situations. The best consequences were several hundred dollars in fines. The worst could have left me in jail or dead.

Giving someone like me permission to do crazy things is not good.

<comment><USER3> I'm pretty sure the therapist's advice was bad, too. First, it labels the recipient as a psycho unfit for a normal life (like having a relationship). Second, nobody is ever ready for a relationship. I mean it would be stupid to wait until you have become that perfect saint who is fit for a relationship. I presume this includes internalizing Erich Fromm's "Art of Loving" and shedding all earthly and selfish desires.

For one thing, it is probably difficult to become "ready for a relationship" without actually practicing being in a relationship. Read and meditate all you want, I think growing within a relationship should beat that in effectiveness. Oh yeah, you can practice with your therapist? That advice is good for the therapist, as it actually says "you should be dependent on me indefinitely".

<comment><USER4> I think we're being way too harsh on the therapist. For one thing, we don't even know anything about what this woman was going through - there are a a lot of circumstances I can think of where that sort of advice is sound.

Maybe she's grieving or needs to come to terms with some loss, but instead of doing so she keeps burying herself with busywork - new job, new relationship, new house...

Or maybe she came out of a terrible relationship recently and just needs some single-time. God knows I've been there - you're hurtin' and you feel like jumping on board the next boat that sails by, but it's better if you didn't.

The list can go on. Either way, she could've been blowing him off, or she could've been honest. We'll never know and this is all idle speculation; it's even more pointless to speculate as to what the therapist was doing without more information.

<comment><USER3> Granted, it might be a good idea for some people, especially if serial relationships are their way of distracting themselves from their real problems. I guess I have just heard that advice being handed out too often and too lightheartedly.

</comment></comment></comment></comment><comment><USER5> As a swimmer of rivers I'm not sure you should literally tell people to go jumping in rivers (though swimming around on the edge is fine). Literally jumping in to a river might be exciting to do but its also a quick way to die if you aren't prepared for that sort of thing.

<comment><AUTHOR> Correct. It just so happens near my house there is a microscopic beach along the hudson river where people can swim. On a day i really needed it, I jumped in the river. I hadn't swum in years. And it was nice.

</comment></comment><comment><USER6> I liked a lot of these, but I am really uncomfortable with the idea of begging when you don't need to. You're lying to the people who donate to you and you could be depriving those who really needed that money. It would be better if you donated the proceeds to someone who really needs them.

<comment><USER7> If someone asks me, I'll donate what I can (or what I feel like ATM). I stopped worrying about where the money was going and how it was to be used a long time ago. I figure karma will sort it out eventually.

<comment><USER8> Can you post your contact information? Thanks

</comment></comment></comment><comment><USER9> _my therapist told me I can't do three things over the next year: change where I live, change my job, and change my relationship status_

There are a lot of people who have had certain times in their life when they would really benefit from following this advice.

</comment><comment><USER10> Missing: don't waste your time reading stupid-self help lists. Go build something, real or virtual.

</comment><comment><USER11> Psychotherapy, which the author mentions in passing, is itself a pretty good suggestion in the "mixing things up" category.

When we're looking for meaningful change, the truth is that a little bit of outside feedback and guidance is often what is needed the most to affect it. Even intelligent people tend to strongly gravitate to what is comfortable when left to their own devices.

<comment><USER12> Some people ask me why I still go to therapy despite my life generally being pretty awesome right now. My response tends to be: _exactly_.

</comment></comment><comment><USER13> > Return some emails from 2005

My favorite.

</comment><comment><USER14> Last month I actually tried 26-hour days, shifting westwards at the rate of 2 timezones/day. Whenever someone asked me how I was or what time it was, I would give them the name of a country whose timezone I was currently on. Up until now, I was certain that I had invented the concept myself.

</comment><comment><USER15> "a 25 hour day",

I sometimes live a 36+ hour day: (10 + x) hours of sleep + (12 + 4 + y) hours of waking.

</comment><comment><USER12> I feel like I should be trying the 24 hour day to 'shake things up' a little bit.</comment>


MAMR Breakthrough for Next-Gen HDDs - <AUTHOR> https://www.anandtech.com/show/11925/western-digital-stuns-storage-industry-with-mamr-breakthrough-for-nextgen-hdds <comment><USER2> Mechanical storage is only efficient for bulk storage because NAND chips are still being price-fixed just like LCD panels and RAM chips before that. It's no accident it's the same manufacturers involved either. And just like those other products eventually saw a large international investigation culminating in "punishments" for global price-fixing, so will NAND. And when that happens, the fact hard drives have material costs that radically outstrip basic NAND chips (which are about as dead-simple as it gets) will very rapidly result in NAND storage offering tens or hundreds of times as much capacity for the same price. It's absurd the mechanical charade is being allowed to be perpetuated as long as it has been.

You can't make devices that deal with motors and rare earth magnets and spinning platters coated with ruthenium and other rare materials at insanely exacting tolerances, encapsulated in hermetically sealed Helium bubbles for cheaper than you can photolithographically lay out a bunch of NAND gates in cheap bulk semiconductors. There really isn't any word for it other than absurd. And the fact that NAND chips are in literally EVERYTHING means they are commoditized. Which means economies of scale make them cost almost nothing to manufacture. And yet... it still costs you 4x or more to get an SSD rather than several pounds of spinning metal? Nah, that's not how things work without help.

Why stop with microwaves? Why not make platters out of pure gold and the read/write heads out of synthetic diamond? Maybe integrate a cryogenic cooling system and store the data in a Bose-Einstein condensate? At this point it seems people will believe even that is cheaper than some NAND chips run off a line like printouts.

<comment><USER3> I admit to not knowing anything about how either drive type is made, but if what you are saying is true, then I wonder why other big players aren't just stepping up and making their own SSDs?

If Google can make their own processing unit just for running ML, why aren't they also making their own SSDs to drastically decrease storage costs and improve storage performance?

<comment><USER4> > I wonder why other big players aren't just stepping up and making their own > SSDs

There are only a handful of fabs making the required NAND chips. Spinning up a new fab takes years and hundreds of millions of dollars, not to mention some serious technological and manufacturing know how. So it's really not easy for someone to just up and enter the NAND market.

I don't exactly doubt that price fixing is happening, but my understanding of current high SSD and even RAM prices at the moment is that there is a serious demand that outstrips the current fabs abilities. Mobile devices are eating up a lot of the NAND output.

<comment><USER5> In addition, chip fabrication processes are notoriously fickle, especially at very high densities. I wouldn't be surprised if 10% of the NAND chips came out DOA from the production line.

In the case of GPUs they can turn a defective GPU into a lower tier GPU by disabling malfunctioning components, which means that it isn't a total loss. I doubt NAND chips can be salvaged in the same way. Since they are so simple, there's nothing to recover. It goes straight into the bin.

<comment><USER2> The difference is that NAND doesn't need to BE high density except in those mobile devices. For both consumer grade SSDs and enterprise SSDs, NAND already has such a huge storage density advantage that if they actually used up the space available inside a 2.5" or 3.5" case and weren't concentrating on transfer speed as much, yields wouldn't be much of a problem.

NAND does actually have a degree of flaws it can tolerate as they are made today in consumer SSDs. I am not certain, but SLC Enterprise SSDs made for database servers and the like might get the best yield chips I'd guess. On consumer grade devices, there is an amount of 'slack' space that the chips actually can accomodate that is used for relocating data from damaged areas, wear levelling, some bookkeeping, etc. So if you buy a 1TB SSD, there might be enough actual storage on the chips to hold 1.1TB if all of it was made available. I'd not be surprised if particularly bad runs come out and get binned as 512GB devices because large portions of the chips are unreliable.

<comment><USER6> This is not especially dissimilar from how CPUs were made and marketed for years - CPUs that wouldn't clock at 1.6GHz would get sold as 1.4GHz, for example

Kinda like how ladders are rated: they _say_ 300Lbs .. it'll _probably_ take more than double that - but if it breaks when you overload it, the manufacturer can point to the rating and say, "you exceeded its spec"

</comment></comment></comment></comment></comment></comment><comment><USER7> I was a part of research on HAMR a few years ago. I remember one problem they were having was the heating lasers would burn out after a few writes. There was also research into spin torque MRAM, so it's interesting that spin-torque was used to make something that replaced HAMR.

</comment><comment><USER8> Are data centers still using SATA to connect this big of drives? Seems like when your disks gets much bigger than 10GB, using SATA gets pretty limiting

<comment><USER9> Even the 12TB drives are only advertising 250MB/s. [https://www.anandtech.com/show/11903/seagate-ships- consumerf...](https://www.anandtech.com/show/11903/seagate-ships- consumerfocused-12tb-helium-drives) That's a lot higher than the 150 MB/s or so you'd get from a 3TB drive, but it's not pushing the limits of SAS or SATA. Unless you cheaped out and connected a bunch of drives to a single controller.

<comment><USER10> Yes, and funny enough the reason we got 6Gbps SATA was because of SSD.

</comment></comment></comment><comment><USER11> This is cool. But I assume SSD is going to get better too.

<comment><USER12> If SSDs were forecast to overtake magnetic drives, then WD would be unwise to invest here. But the graph from the article shows a 10x cost/GB continuing into 2028.

So, yes, SSDs will improve. But they exist in a different tier/market segment until they can close that cost gap.

<comment> mark-r Not just cost but density. I'm pulling these numbers out of the air, but suppose you could have a $100 4TB SSD or a $600 24TB HDD some years from now. Many datacenters will still prefer the HDD just for the rack space considerations.

<comment><USER13> SSDs are already more dense than HDDs and will likely remain that way. The only remaining barrier is $/GB.

<comment> mark-r I was all set to doubt you, but then I found this: [https://www.micron.com/products/solid-state- storage/product-...](https://www.micron.com/products/solid-state- storage/product-lines/5100#/). My ignorance is showing again.

<comment><USER13> There's even 15 TB available for sale today in the 2.5" form factor: [https://www.cdw.com/shop/products/Samsung- PM1633a-MZILS15THM...](https://www.cdw.com/shop/products/Samsung- PM1633a-MZILS15THMLS-solid-state-drive-15.36-TB- SAS-12Gb-s/4586754.aspx?pfm=srh)

And 60 TB in 3.5": [https://arstechnica.com/gadgets/2016/08/seagate- unveils-60tb...](https://arstechnica.com/gadgets/2016/08/seagate-unveils-60tb- ssd-the-worlds-largest-hard-drive/)

No spinning rust drive comes close.

</comment></comment></comment></comment></comment></comment><comment><USER14> So is this a reason to consider buying WD stock? This looks like they've completely surprised the market with this technology leap.

<comment><USER15> No, in my opinion. But not because I don't think it's a promising technology announcement or a good company, but because _a casual reader of articles on HN is not positioned to compete with the professional analysts._

They mentioned that they'd be hosting an event with innovation announcements months ago. Some traders would have been buying WD stock in anticipation of that event, and wagering whether or not that included MAMR, HAMR, etc, and what each of those possibilities would mean to the company outlook.

The event and the article describing the MAMR breakthrough were posted yesterday at 9:30 AM PT. Your 'window of opportunity' to respond to the article was the few moments it took to figure out which of your guesses about what they'd announce were confirmed or refuted at the event. Even then, you may have been reading it literally by eye, while your competition was parsing it with NLP, using a gigabit connection and server located near the wdc.com servers, or perhaps using ones near the stock exchange.

[http://investor.wdc.com/eventdetail.cfm?EventID=185452](http://investor.wdc.com/eventdetail.cfm?EventID=185452) [https://wdc.app.box.com/s/2o32m71nthf84ozbz8wlwyo59uqxb6og/f...](https://wdc.app.box.com/s/2o32m71nthf84ozbz8wlwyo59uqxb6og/file/236947127675)

As a result of this preparation, concurrent with the announcement and market open, the stock 'jumped' from 84.27 to 86.22, and a somewhat remarkable volume of 917k shares were traded instead of their daily average of 144k shares, but have since moved around a bit and are gradually settling in:

[https://finance.google.com/finance?q=NASDAQ:WDC](https://finance.google.com/finance?q=NASDAQ:WDC)

In short: you're literally 24 hours behind the real market. Don't try to play it minute by minute based on Anandtech or HN publications.

But don't let that discourage you from buying companies based on what you believe their long-term outlook to be. Or maybe do that, and just buy into mutual or index funds instead.

<comment><USER16> Its highly unlikely that an algorithm, however sophisticated can project the outcome of such an announcement in such a short time.

But discussions like this on a news/analysis piece by a fairly technical new source combined with above average human intelligence will project a more likely outcome.

The stock may go up on this news like you mentioned. But it more often than not settles down. But if OPs time horizon is medium term(a few quarters) or more, then its worth investing on such news.</comment></comment></comment>


Are you a Mapper or a Packer? : The Programmer's Stone (Reciprocality Project) - <AUTHOR> http://www.datamodel.co.uk/Reciprocality/www.reciprocality.org/Reciprocality/index.html

<comment><USER2> Anyone actually read all of this? Some strange theories there, and it's hard to see if they're true/useful or not.</comment>


Ask HN: What Happened to ICOs? - <AUTHOR> <comment><USER2> I worked for a company that was on the vanguard of trying to make ICOs legal and mainstream. Among other problems, there were tensions between trying to achieve regulatory compliance, transparency, and privacy of trades. I worked on a potential solution involving ring signatures, but it never made it into production.

There were some other important tensions too, happy to discuss if anyone wants to get into the weeds. FWIW I still would love to see a highly fluid market for shares in small businesses and pre-IPO startups.

<comment><USER3> > _FWIW I still would love to see a highly fluid market for shares in small > businesses and pre-IPO startups._

I would have loved to be able to buy shares for startups I believed would succeed (Tesla, Facebook, LinkedIn, etc.) way before they got to IPO.

I live in Algiers, Algeria. Even buying shares of classic public companies is a challenge: I had to email, and call a _lot_ of brokers on the phone and be passed from one extension to the other. I have been denied account creation due to "company policy" reasons. The only one that has accepted to open an account was TD Ameritrade. I'm talking like ten years ago or something.

Payments: one virtual card provider after the other dropped support for this geographic location. One payment provider after the other did the same. The are others that pop up every few years that support this geographic location, but the policies change in ways that make it impractical for me. Fashion is more stable that payments support. It's hard to commit to markets without utility like payments.

</comment></comment><comment><USER4> I still use them for the window's main image. Simply put them in your .RC and they'll be embedded as a resource for you to use.

<comment><AUTHOR> you can tell this guy is old

<comment><USER4> Darned right! These kids today eh!

</comment></comment></comment><comment><USER5> Regulations were the big one. It's hard to magically bootstrap instant utility for tokens.

The rest were all trying to either replace fiat or replace stocks, both of which are heavily regulated.

</comment><comment><USER6> The US SEC declared them to be securities offerings, which are extremely heavily regulated.

</comment><comment><USER7> You should perhaps explain what you mean by "ICOs", rather than only using the abbreviation.</comment>


Q&A with Neuroscientist Daniel Levitin on the Sonos/Apple Music Study - <AUTHOR> http://www.billboard.com/biz/articles/6873919/what-does-music-do-to-us-when-we-listen-together-neuroscientist-daniel-levitin <comment><AUTHOR> Really quite a fascinating read and discussion of human interaction with music. About half-way through, the educator part of me woke up almost startled: Why isn't there a tidal-wave movement to putting music back in the core of US primary and secondary education? Argh, the science is clear how helpful it is! I'm optimistic though, it seems like a very open and diverse channel for future societal growth.</comment>


C#, I still love you dearest - <AUTHOR> http://blog.tnwdevlabs.com/2015/07/01/C%E2%99%AF-I-still-love-you-Dearest/ <comment><USER2> For all the shit I give C# (some of my complaints are getting better with everything becoming open source), it's still by far my favorite language. I picked it up when Visual Studio 2008 was relatively new and coming from PHP and C++ (to ASP.Net/C#) was very eye opening and though I had a lot of learning problems because of webforms, the core C# language definitely has me captured.

C# is my "not quick one off" language. When I want a one-off, I use Ruby because it's quick and easy... but when I need more than 1 file and I'll be dealing with lots of classes and complications that come with that, give me C#.

I've tried getting to know Rust, but despite my love for it's core ideas and syntax I just can't get into it for the projects I've had. Most of my projects don't tend to be things where I care about strict memory requirements or ridiculous performance. I mainly just want something that works good enough for my own use.

I also tried Go, but I quickly left that when I found it had no generic support and the community is basically anti-functional constructs, preferring pure procedural stuff instead.

<comment><USER3> Your reference to 'more than 1 file' resonates with me. One thing C# gets wonderfully right is its approach to spreading code across multiple files. No dogmatic insistence on one class per file like Java; no file-level dependency- graph import/export nonsense; no compile order dependencies; with partial classes I can split code up logically across files if I need to. I can start off and build multiple classes all in one file to get my initial framework and patterns together, then I can refactor those classes out into their own files over time.

</comment></comment><comment><USER4> "JavaScript has the better object model"

This might get downvoted and all but ... I'm not sure how someone who has written C# for 8 years would think this.

I'm not even talking complicated things. Just OO basics like interfaces and abstract classes (with compile time enforcement) are pretty helpful as you evolve a code base.

<comment><USER5> C#'s object model is so good they created dynamic so that people don't have to use it...

<comment><USER6> Only people who don't use C# regularly think `dynamic` is something C# programmers use regularly.

<comment><USER2> This is true, but I've seen libraries that lazily use dynamic in their API instead of properly implementing things with generics to accomplish things.

Also, the way the various Microsoft frameworks use strings to specify property and type names drives me insane. It's just like.. "Hey, we have a really nice type and generics system... but here lets hop around that and instead use strings that we hope you never need to refactor, as well as magic method names (ie, RegisterRoutes, Application_Start)". This seems to be getting a little better, but it's still way too prevalent. It's almost like the people responsible for writing C# frameworks had a disagreement over strict typing and decided to just contaminate a ton of APIs to spite the type system.

<comment><USER6> Well, to be fair, a lot of those got started back in the pre-generics 1.1 era, and the rest are designed to have a similar interface.

</comment></comment></comment></comment></comment><comment><USER7> The C# language designers really do a great job maintaining the perfect balance of language features.

C++ allows way to many things and no normal human could ever hope to understand the entire language.

Java went too far the other way - it was so simple you ended up with a lot of boilerplate code (although this has supposedly gotten better since I last wrote much Java in Java 6).

C# gets the mix just right.

<comment><USER8> > it was so simple you ended up with a lot of boilerplate code

Lately I've been seeing C# as having that same affliction (though not nearly to the same extent). It all started with perusing some F# code samples, then following a few tutorials, and now C# is ruined for me forever.

<comment><USER9> Shorter or less boilterplate isn't necessarily a good thing. C#'s greater explicitness can make it easier to keep track of what's going on comparatively.

<comment><USER7> Just like with features - explicitness vs conciseness is a tradeoff language designers have to walk. I feel like, in general, the C# team does a great job balancing things.

</comment></comment></comment></comment><comment><AUTHOR> C# replies: "Honey, I don't mind you dallying with some of those sexy other languages. Just make sure you bring some of the learnings back so you and I can enjoy them together <wink>."

</comment><comment><USER5> If you're in .NET land I have no idea why you would chose C# over F#. F# has ever thing that C# has and more, and does so in a more elegant way.

For example, C# async/await is a compiler hack. In F# it was implemented _as a library_. This shows how powerful F# is and C# is not.

<comment><USER10> C# tooling is better

<comment><USER11> Definitely, why in the hell do my files need to be arranged in compile order, that's absurd.

</comment></comment></comment><comment><USER12> Now that MS is playing great with Linux, it's hard to justify moving away from C# for common web tasks. My biggest issue was not wanting to deploy Windows servers (for my own projects; my company pays for it without issue).

Credit is due to MS for learning to adapt to demand, not fight it.

</comment><comment><USER13> "your special son PowerShell can live with us for as long as he needs, even indefinitely" \-- Ha!

<comment><USER14> The Camelcaseness of Powershell might be the reason for this expression, but if you dev on Windows, Powershell is just indispensable.

</comment></comment><comment><USER15> I recently switched to Ruby after writing C# for 8 years. There's a lot I miss, the tooling is best in class, and the language is very well thought through. I might go back some day.

<comment><USER16> Why did you switch?

<comment><USER15> I followed my boss to a new company, and Ruby is what they were already using.

</comment></comment></comment><comment><USER17> If you're stuck with a shop that transitioned from VB6 to VB.NET, then yeah, .NET sucks, because VB.NET sucks. C# is without a doubt my favorite language. I could probably live with Java, if I could use IntelliJ, although I would miss LINQ and dealing with the "one class, one file" rigidity again. I used to dabble a fair amount in Python - at the time, I was coming from working mostly in C++ or Java (1.4 or 1.5), so Python 2.5 seemed like a breath of fresh air. But the tooling is just not at the same level as exists for C# these days.

The two biggest pillars of my experience developing C# though are ReSharper and NuGet. Resharper is without a doubt the best couple hundred bucks I've spent on programming tools (if only they didn't always seem to release updates seemingly the day after my year of free point releases expires...). And Nuget is the best thing since sliced bread. I don't think I would ever want to go back to trying to manually manage and install third-party libraries the way I used to have to when I was doing Java and C++ ten years ago.

</comment><comment><USER18> I love C# because MS stack is where the enterprise jobs are (at least in my area).

<comment><USER19> This is also the reason for my disdain.

<comment><USER20> I don't understand this. A language's popularity with large businesses is enough reason to dislike it?

<comment><USER19> Just wish it was something more fully open source, I don't like to be locked in to a single companies way of thinking.

<comment><USER21> It's just a programming language, use it as you see fit.

</comment></comment></comment></comment></comment><comment><USER22> For me it's 10 years. Also with .net 2.0 and the generics through Visual Studio 2005 getting data from SQL Server 2005.

To another 10 years!

<comment><USER6> I was somewhat shocked to recently realize I've been doing both C# and JavaScript since they were invented, so 15 and 20 years respectively. It's... not as awesome as I first thought.

C# has evolved greatly in 15 years. JavaScript is only just now seeing any useful change.

</comment></comment><comment><USER23> "JavaScript has the better object model" \- hard to take anything else he says seriously after reading this, but it was funny.

</comment><comment><USER24> If this by causality u/agleiv2 form Reddit?

</comment><comment><USER19> This is how I feel about Python and Pycharm. .NET feels antiquated to me and the culture of the language (lots of former MBA guys who learned visual basic in excel as a first language) doesn't have the same spirit as Python, Ruby, or Go (or C, C++, or assembly for that matter) but to each his own.

<comment><USER25> So the reason .net feels antiquated is purely a function of the other people who use it. That sounds like something a Ruby programmer would say. ;)

<comment><USER19> It's mainly what its used for, if you want to make pretty graphs and keep track of materials at your factory maybe you pull out .net if you want to do something interesting you use pretty much anything else. I know tons of people make a living with it, but I don't understand the passion for the language.

<comment><USER25> It's a programming language that expresses logic. The interesting-ness of the domain is not related. You can solve any kind of interesting or uninteresting problem in any non-trivial language.

</comment></comment></comment></comment><comment><USER26> its a shame that 99% of the startup scene gives you a very strange look if you say you want to do the job in c#:(</comment>