What STEM Students Need to Know - <AUTHOR> https://www.wsj.com/articles/what-stem-students-need-to-know-1513642450 <comment><USER2> As a student currently in "the system," I think the biggest problem with the math curriculum is that unless you're in an accelerated program, math progress stagnates until seventh grade, where they introduce algebra (way too late imo) and then it stagnates again, repeating the same algebra year after year.

<comment><USER3> I agree. Colleges and Universities end up teaching basic math concepts and playing catch-up instead of being places of higher education. It must be costly to be keeping this up.

<comment><USER4> It is costly, which is exactly why Universities and Colleges favor it.

</comment></comment></comment><comment><USER5> The fundamental problem is that the US teenager has too much homework. You can like cut it in half and it won't make a difference (look at like Finland). The gained time can be then spent on hacking and exploration.

<comment><AUTHOR> Hmmh, really? I thought they spend 6 hours on social media and another 4 hours watching TV? :)

<comment><USER6> I think there is no standard for amount of homework. Amount of assigned homework mostly depends on the teacher. Students can choose electives which does provide some control over the total amount. From what I can remember amount of homework per-class features heavily on teacher review sites (ratemyproffesor.com).

</comment></comment></comment><comment><USER7> Math in the US needs a revamp. Kids get the notion early on that math is some sort of ominous monster ready to devour their time and grades. It has a bad rap, and this keeps people from getting into it early on.

What we need is someone to "popularize" math in a genuine and non-patronizing way. Say what you will about Bill Nye/Neil DeGrasse Tyson/Carl Sagan/Issac Assimov, but they've been incredibly successful at introducing advanced scientific concepts to a wide audience.

Math needs these same kinds of "popularizers". Not only to introduce interesting topics, but to validate and remove the stigma surrounding math in the US.

<comment><USER8> I also have noticed that math and language learning are viewed by many people in the US as something that's not even worth trying because it is too hard. Pretty sad and I think this will hurt the country big time later. You can't run a country with only extrovert MBAs and lawyers that manage foreign immigrants.

<comment><USER9> The grand experiment is in progress.

</comment></comment></comment><comment><USER10> observing as a parent, who was educated outside of US, but whose children are attending a well-rated US public school 8th grade:

      (a)  my child is an 'A' student (getting over 92% on most tests)

      (b) the student cannot do basic algebra without help.

      For example cannot convert   a^2 + 2ab + b^2 , back into

(a+b)^2

      Does not even know what a geometric proof is.

Eg. proving that 2 triangles are equal when each of their sides is equal, would be way beyond any knowledge that was presented in school.

      (c) Can do many simple problems 'quickly' and efficiently.

      However, cannot even approach a problem that should take say a genuine 1-2 hours. I am not even talking about more complex ones.

      So the whole way of thinking about Math (and science subjects)  -- is targeted towards 'secretarial/data entry' kind of activities.

      Quick tricks, filling in blanks, fitting answers...

      There is a complete lack of homework problems that require a creation of any kind of approach/ thought framework...

(and then testing out that creation).

      Instead, they are overwhelmed with huge number of simple stuff.

      But, as I know form being in the industry,
      it is that kind of job skills that being replaced by computers, or outsourced...

      (d) Student is trained (or may be brainwashed) to think that material in school and good grades -- is not just necessary,
      but absolutely sufficient
      (with exception of social work and leadership skills... always can do more of those...)

So the resulting mind set is:

      If I get good grades, and if I am tired and busy with

all the homework -- then that's a sufficient indicator that I am doing exceptionally well.

This makes it very difficult, almost impossible for a parent to penetrate through this wall, (plus the social media, and peer-pressure cancers that constantly compete with me for influence on the child).

      I feel like my kids are just being treated as 'head count', in some 'feel good' & 'reward for participation' virtual video game,
     whose purpose is to create a fake reality,
     to reduce their chances of being competitive,
     ... and I cannot do anything about it.

Apologies if I sound too frustrated.

<comment><USER2> That's super weird. In eighth grade (2013-ish, not long ago) we had an entire course on geometry that was all about proving theorems and turning some given information into "the shape satisfies the definition of a parallelogram because..." The tests were exactly what you described you wanted: hour long journeys where you applied the theorems and postulates we learned up to that point to prove something about a shape. I struggled a lot but ultimately I believe I am better at thinking because of it. If you want some books:

The textbook we used: [https://www.amazon.com/Geometry-Ray-C- Jurgensen/dp/039597727...](https://www.amazon.com/Geometry-Ray-C- Jurgensen/dp/0395977274/)

The Art of Problem Solving: [https://www.amazon.com/Art-Problem-Solving-Vol- Basics/dp/097...](https://www.amazon.com/Art-Problem-Solving-Vol- Basics/dp/0977304566/)

AoPS is pretty good but more geared toward math competitions. The reading is ok but the problems take some serious thought and if you can get your kid to do one a day s/he'll probably be better off for it.

</comment></comment><comment><USER11> [https://archive.is/3HgG5](https://archive.is/3HgG5)

</comment><comment><USER12> How do you get past the paywall?

<comment><USER13> I have a 'Via Facebook' bookmarklet. Something like this uri saved as a bookmark:

        javascript:window.location='https://facebook.com/l.php?u='+window.location

Will redirect you to your current page via the Facebook link service (and thus with a FB referrer). Most publishers are too desperate for traffic to block FB.

If you go to my site[0] in Chrome or Firefox, you can easily install such a bookmarklet by dragging the giant 'Via Facebook' button to your bookmarks bar.

[0] [https://emidln.com](https://emidln.com)

<comment><USER14> not only that but the referrer 't.co' (twitter's url masking service) also bypasses the paywall. it also works for any other dow jones site and sometimes FT if you block cookies

</comment></comment></comment><comment><USER15> Help with the paywall?

</comment><comment><USER16> This article is full of funny things. If you want to teach people _Computer Science_ just teach them _Computer Science_. Why waste people's time with math they will push out of their minds as soon as they're finished with the class? I wish we had a specialization-based curriculum for high school. I wasted a lot of time there that I could have spent learning more.

Some funny things in the article:

> Discrete mathematics deals with such problems as...

No it describes solutions to those problems. You could also describe those solutions with other types of math. A computer Scientist wouldn't think of this problem in terms of a formula first. They would likely think of this in terms of a Data Structure and thing about the most efficient way their representation's strengths can be leveraged to obtain a solution.

A "calculus-track" Mathematician may think of this as a shape and attempt to frame this problem as an equation that describes the changes occurring in a subset of the problem. Luckily 3B1B just posted a video demonstrating this: [https://www.youtube.com/watch?v=VvCytJvd4H0](https://www.youtube.com/watch?v=VvCytJvd4H0)

> Students need classical math more than ever.

I'd say this is debatable. What's the work/value trade off for teaching someone calculus? I just aced my college's calc program and I've already pushed that crap out of my mind.

I'd say it's much more important to be able to learn how to do these things as needed. Learn how to pick up a book, find the chapters you need to read, read the material, apply it, and test your output.

> But discrete math is fundamental to computing and ubiquitous in the real > world

I'd say it's not the only way to express those ideas.

> To understand software, you need a basic understanding of computers; for > that you need some basic electronics education. [...] There are many ways to > build a von Neumann machine—the world's standard digital computer since > World War II...

Lol. Who wrote that in the press release? I'd consider many micros with in- chip roms as Harvard architecture.

I'm getting ready to laugh at the development and implementation of Common Core 2.</comment>


Why numbering should start at one - <AUTHOR> http://alarmingdevelopment.org/?p=470

<comment><USER2> Where are the use cases? Some algorithms are expressed more easily origin-1, others in origin-0. If you must choose one and want to do it rationally, you need a set of use cases ranked by relative importance.

The origin choice may be easy to change in the language syntax, but once you have users, it's not so easy. User programs make assumptions about origin. So does the code generation phase of the compiler. In most cases, the assumptions are implicit and not explicit; after the fact changes are difficult.</comment>


Why We Should Switch to a Base-12 Counting System - <AUTHOR> https://io9.gizmodo.com/5977095/why-we-should-switch-to-a-base-12-counting-system <comment><USER2> By the time I learned my times tables at primary (elementary) school in the UK in the mid 70s, decimalisation was well under way. The old money system of 20 12 penny shillings to the pounds had been replaced with a 100p pound. The metric system was on the horizon, but everyday measures were still in yards, feet, inches, ounces and pounds. We were taught times tables up to 12, and I still remember my 11 and 12 times tables. Very handy for thinking in dozens or feet and inches. I guess our 12/24 hour clock system is the last hold out of the dozenal approach. I'd prefer whole hearted decimalisation and reform of the clock system. Or base 16. But not base 12!

</comment><comment><USER3> No, no, no. There are dozens of reasons why we shouldn't.

<comment><USER4> Yeah. I'm not sure how well I'd go with counting since I only have 10 fingers.

<comment><USER5> Addressed in the article: on each hand, you have 4x3 finger segments plus the thumb to point them out. The actual issue is why we don't speak Esperanto, why the UK drives on the left, and the USA uses miles: network effects.

<comment><USER4> We also drive on the left in Australia. It was arbitrary which side to drive on since neither left nor right is superior. Miles vs km on the other hand...

<comment><USER5> It doesn't really matter which is superior or if there even is a superior option - the inertia of the existing system is large enough to prevent a change (The Swedish had a driving side switch at the very last moment it was feasible: [https://en.wikipedia.org/wiki/Dagen_H](https://en.wikipedia.org/wiki/Dagen_H) ). If the imperial-to-metric switch is hard, how harder would it be to change a whole counting system that's embedded in much of the culture?</comment></comment></comment></comment></comment>


Fizzygum - <AUTHOR> http://fizzygum.org/ <comment><USER2> This is great and I hope the project gains momentum</comment>


How Dubai's burst bubble has left behind the last days of Rome - <AUTHOR> http://www.timesonline.co.uk/tol/news/world/middle_east/article6945283.ece

<comment><USER2> What an overwrought headline. It's a pity some people are getting burned, but on the other hand those same people were expecting to make out like bandits on relatively cheap real estate built with cheap labor. It's not like the place is about to be overrun by barbarians or the like...by 2015 they'll probably be back on track and it wouldn't surprise me at all if the place is (financially) hot within a decade.

</comment><comment><USER3>
      and blest are those
      Whose blood and judgement are so well co-medled,
      That they are not a pipe for Fortune's finger
      To sound what stop she please

\--Shakespeare

Prices rise and fall; durable institutions endure. It's easy for some liberal arts student to write a gloomy article poetically comparing a tall building to a needle bursting the bubble.

It's harder to really understand the economic and strategic drivers behind Dubai. I certainly don't.

My hunch is that Dubai is a durable institution. Specific players, like Dubai World, may perish or be mauled. But the buildings they left behind will probably endure, with tenancy rates and rents rising and falling as Fortune plays various tunes.

<comment><USER4> I'm sure the buildings will stick around. Detroit still has many of the buildings from its glory days.

They're pretty empty now though.

I have no doubt that Dubai will still exist as a city in the future. Rome is still a great city, after all, and Detroit is still one of the largest metropolises in the US. The question for Dubai is near-term trajectory. Do they maintain their economic relevance or does it continue to decay?

I think the most likely outcome is that Dubai will become a satellite city of Abu Dhabi, and the economic (and possibly political) activity of Dubai will increasingly become dependent upon that city.</comment></comment>


Ask HN: Are older devs more resistant to adopting new tech? - <AUTHOR> I've noticed a lot of comments here recently from self proclaimed tech veterans talking about how they won't even look at new technologies until they've had a few years to mature, or complaining about new patterns/paradigms that put engineers enjoyment/productivity ahead of raw compute performance. Is this a systemic thing? I'd imagine after 20+ years of writing code a certain way, I would be loath to completely changing my approach, but I'm concerned that this could be a source of (potentially justified) ageism in the industry. <comment><USER3> Veterans have seen technologies come and go. If they were keen to hop on every new technology that came out during their career, they'd literally never get anything done. The risk of adopting a technology that will fail high and the results can be disastrous.

It might be seen as stodgy to pick Java along side a relational database for a brand new application over the latest JS hotness plus NoSQL. But we know that Java is going to still be around in 20 years, we know the language and architecture can do what we plan, and is easily able to expand and scale as the product grows. We know what deployment, integration, maintenance, etc looks like.

What young developers don't see is the long, long, long line of failed technologies that were hot, then faded it obscurity. It's very hard to bet on winners.

<comment><USER4> This is exactly how it is.

Unfortunately, it seems to me that new devs have to always bw kept entertained and know/care very little about the business, and would rather make the company tank and have fun experimenting and move on, than get the job done.

Maybe I'm getting old.

</comment></comment><comment><USER5> I've been writing code professionally since 2001, and on an amateur basis since learning basic and machine language on my Commodore 64 in 1989.

The thing that many younger devs don't (yet) get is that tech works in cycles. Today's hotness is yesterday's tried-and-true. As an example, Java (J2SE) came out in 1998 and my guess is - based on open positions on e.g. Stack[1] - <USER2> you'll still be able to write Java for decades.

So for an old guy to adopt new tech:

1\. I'd want there to be obvious benefits __that outweigh the costs __for the new approach. As an example, I 'm not convinced FE frameworks are the best approach for CRUD apps. If you're building Trello and need crazy interactivity, sure. But you incur a bunch of cost vs. say Django / Rails / Laravel with intercooler or Stimulus sprinkled into interactive pages. And what's the huge cost for? Skipping a few page refreshes?

2\. I'd want tech to be mature enough that I feel good it's going to be around and therefore is worth investing in. As you get older your time becomes more valuable as you tend to take on other obligations (kids, spouse). Hacking on new tech late at night or all weekend is less palatable or possible than it used to be.

Curious to hear what others think though.

1- As of writing there are 425 jobs that mention Java ([https://stackoverflow.com/jobs?q=java](https://stackoverflow.com/jobs?q=java)). Surprisingly there are only 341 that mention React ([https://stackoverflow.com/jobs?q=react](https://stackoverflow.com/jobs?q=react)).

<comment><USER6> 2.5 I want tech to be either mature enough or beneficial enough that I'm willing to deal with all the bugs AND specifically the very real possibility that the application may need to be rewritten to replace a bad tech bet. A good example was that around 2011 MongoDB was really taking off. HN routinely had articles about migrating to Mongo and how it was the new hotness. It turns out that MongoDB had a number of problems including dropping data regularly :/

Those of us that had to deal with debugging issues like that and potentially porting away from Mongo, are a bit gun-shy about adopting new databases, especially without the ability to call someone up and chat about what issues they encountered after running the tech on an application supporting a million users.

<comment><USER6> Ah, and of course I found the essay I wanted to reference when I wrote this: [https://mcfunley.com/choose-boring-technology](https://mcfunley.com/choose- boring-technology)

When you're new everything is new so you're willing to try a bunch of new tech. You haven't seen people get burned (repeatedly) on using a whole bunch of new tools at the same time.

</comment></comment></comment><comment><USER7> A lot of new tech, especially frameworks, are not actually much better. They're just cleaner and neater.

They argue that this causes less bugs and time to transfer information to another developer, but the overall cost to learn and implement exceeds the losses. They also tend to be less flexible, which also increases the costs further.

Older devs are much less likely to make mistakes, whether it's Java or SQL, and the new technologies designed to reduce mistakes by tripling code size are less appealing.

It's different to, say, C vs Assembly, or Java vs C, when there were substantial gains.

</comment><comment><USER8> I guess I'll throw myself out as a hopefully counter-exampling data point: got a CS degree 18 years ago, concentrated on C, kernels, systems for ten years, now writing mostly React/React Native frontends and web backends. The tools are amazing. I don't miss having to compile and reboot between every attempt at a kernel change.

<comment> t-writescode Isn't React pretty old now, as far as web technologies are concerned? Like, it's established, battle tested and has a relatively low bug count?

<comment><USER9> Sure, but it's still one of the "cool" frameworks and thus something many claim is new enough to count as a fad.

</comment></comment></comment><comment><USER10> There's certainly a correlation between age and several factors that contribute to the absence of neophilia, notably (but not exclusively):

(1) expertise/investment in existing tech platforms: why get into something where you'll be one of many with 1 year of experience where you are already on a platform where you've got 20?

(2) having seen the hyped products fizzle out quickly. Why get involved in something that may not ever have industrial demand materialize where you are already invested in a platform that is established and will have, even if it was abandoned for all new projects tomorrow, demand for expertise driven by legacy software for longer than the remainder of your working career.

(3) Fatigue with the whole cycle of learning the basics of yet-another-stack rather than deepening knowledge of established stacks, application domain, engineering/analytical/process mastery that isn't tech stack specific, etc.

I'm a 40+ dev who _loves_ learning new things including tech stacks, but I absolutely don't view "learning new tech stacks" (especially _really_ new ones rather than established but new-to-me ones) as anywhere close to the most career-useful use of time. Its a hobby that sometimes has nice career side- benefits.

OTOH, for a new dev some of this isn't just missing but positively inverted: a new tech stack is an opportunity that, if it takes off, for you to be in a position that while you'll still have to compete with people with more _general_ experience, you won't have to compete with people with a decade or more _stack-specific_ experience than you have, whereas with an established stack there is no way to avoid that.

</comment><comment><USER11> On a related note, I was surprised to see a recent thread on HN about recommending a mobile development platform. Most of the recommendations were for Flutter, which I would expect is not mature enough to be a solid platform yet. A couple of years ago it might have been react native.

The HN crowd is the other extreme, mostly being young, they are mostly only exposed to what has been promoted recently.

<comment><USER12> Most mobile dev work is done by individuals/small groups and each app is in itself a short life product for most and that's the key aspects as those factors make cutting edge gains/risk balance more towards gains. Why, the exposure is limited to the individual app and smaller/more dynamic ability numbers allow such things.

But for your share listed companies, such things tend to be less so and even with tech companies - the only new tech they tend to embrace is tech they developed.

So there are avenues to learn the latest and greatest, but always keep that risk balanced with gains.

Now even in large businesses - new tech can and does get looked at, but even then, it will be cases of new projects and area's in which there is no alternative tech. So there will always be niches, take FPGA's and bank share trading.

But in a World that still has COBOL, C and lesser ancients though still older than many of the coders that use them - Java. Not everything changes overnight.

I remember the early days of Java and lots of people jumped on it, it had pedigree and at a time in which Sun was king of the internet roust. I recall seeing many a fine demo, then checked that they also had cutting edge hardware and was still, not near fluid - let alone upon the rolled out desktops. So yes, cutting edge software can often demand cutting edge hardware just to get the same results. Things improved in software (java performance) and hardware and that fine balance came about.

Computer languages are brands in many ways, that level of trust and understanding takes time to come about.

[EDIT ADD] Sorry I tangented but another important aspect is tooling - that is one area in which you may find cutting edge or less legacy come into play, though there will always be a robust content delivery and auditing system in place and that will be a wall for many things.

</comment></comment><comment><USER13> If anything I'd turn the question around and ask if younger devs were more resistant to adopting older technology.

It certainly seems that way when we have tools like electron are popoular because it allowa them to stick with the javascript/html they already know vs learning things like native desktop apis or nosql where they can just insert json objects rather than learn SQL. It seems rare to meet devs under 30 who learned tried and proven languages like c, c++, perl, etc or that know how to use a debugger outside of an IDE.

</comment><comment><USER14> I suppose I'm an older dev now, approaching 40. I've been building things online for 20+ years. When I was in my early 20s, I used to wonder about the nature of the premise: whether it was accurate, why it would happen, and so on.

What I've observed in myself and others is that older people become dramatically wiser about wasted motion, effort, time. They acquire a greater respect for the value of energy and time. Not least of all because at 40 most things are more taxing physically than at 20. Your brain will tell you flat out: no, I don't want to burn my valuable time on that, I don't _need_ it; I want to do this other more important thing with my time instead and I have to choose one or the other (having an experienced scope or overview of life and knowing that time investments are always choosing between competing things; as you get older you more fully realize how quickly life rolls by and that you will not get to do everything, so these choices become quite important). By 50 it's generally going to be true that you have more good days behind you than ahead of you, time becomes very important.

I think older devs seek to avoid unnecessarily reinventing wheels whenever they can. They seek to avoid wasting time learning _this_ technology when _that_ technology they're already a master of will do just as well (and faster, they already know it). And as others have mentioned, they will inevitably also have been burned numerous times on watching tech come and go and having sunk time and effort into learning a thing that vanishes. You can't afford time hits as trivially at 40 as you (seemingly) could at 20. When you burn / waste a year at 20, it doesn't feel nearly as detrimental as if you do it at 40.

</comment><comment><USER15> I have seen too much come and go. I've mostly settled into Java on the back end and react front end. They have been around for a long time, and will continue to be. You can take a project many years old and easily modernize it.

I think all of us in the industry for a while have worked on "dead end" projects where many things were just unfixable because core libraries, languages, and frameworks are simply obsolete. These are, by far, the worst projects to work on.

Java is the perfect counter example. It's kinda verbose and has some annoying shortcomings, but all the tooling is top notch. It's one of the fastest languages out there and has the best debugging/build/monitoring/IDE tools of any language I've used. And it's rock solid stable, we have plenty of servers that run some hacky old stuff for years straight without a restart.

And the best part about Java is that I can find a library to do anything. I have never once ran into a technical roadblock in Java because I needed something unusual.

Most of these attributes are lacking in new languages. Rust has crappy IDE tools and debuggability, no good ORM, not many supported target architectures, no run time code generation. Golang has terrible package management, no generics, and a basic garbage collector that's fast except when it isn't. Node/JS threading support is a joke, the standard library is so small that most projects pull in over 100 megabytes of dependencies, and it's still a slow memory hog compared to Java/Go/Rust/C#.

Java doesn't have anything "terrible" about it compared to the glaring shortcomings in these newer languages. There's just been enough decades of use that everything has been smoothed over until it's at least decent.

I bounced between Perl, PHP, C# in my early days and I'm sticking with Java now. It's the easiest to work with. I'll pick up a new language when it's as good as Java, so maybe Go or Rust in another 5 years

<comment><USER16> What do you think about Kotlin?

</comment></comment><comment><USER17> Personally it's a combination of wariness and weariness.

Wary of getting onto the new–new hotness bandwagon just because it's the new–new thing, and weary of being pushed into a new–new thing because it's the new–new thing and not necessarily the best solution for the problem at hand.

Increasing my productivity is irrelevant if it decreases usability or performance of whatever it is I'm building. If it isn't serviceable, or maintainable, I won't consider it. If it's a proprietary solution that depends on the company surviving, I won't consider it.

For me it's a tradeoff of risks. Will the benefit of rewriting everything, again in this new language and framework pay off in reduced operational or service costs or improved performance? If it won't, then investing money and time chasing after the new–new thing just seems to be a waste.

</comment><comment><USER18> No! I switched from Fortran IV to Fortran 77, and never looked back.

</comment><comment><USER19> I'd say I am. It's a constant fight - use the tool that I know and move on, even if it requires some gymnastics to get it working, vs. evaluate something new that might or might not cover all the necessary use cases, and might or might not require gymnastics of its own.

You just have to take things on a case by case basis, and especially understand that you have to think about your whole team, and also recruiting new people.

</comment><comment><USER20> As someone who has been in the business for more than 5 years but not nearly long enough to be one of the "veterans", I find myself often between the two camps.

On the one hand the hype cycle is annoying. First, Node and NoSQL were supposed to solve all problems, now it's GraphQL, or Go, or whatever. All the while perfectly reasonable tech like SQL or REST are almost not considered anymore even in cases where they are more suitable.

OTOH, some of the "older" people are the same when it comes to newer technologies. Things can't be the same forever, and not every change is a temporary fad (the internet wasn't, nor were mobile phones), and the same people that now refuse to look at things like e.g. Kotlin or Scala should realise that Java was new at some point too and plenty of languages that came before have now all but died out.

In short, people should come up with actual arguments for/against some tech instead of going purely by novelty (whether as a positive or a negative aspect).

</comment><comment><USER21> The fact is that the overwhelming majority of new techs disappear in just a few years. Look up the "lava flow" antipattern for the effect of adopting each new thing.

The more money spent hyping a thing, the sooner it vanishes. About the only exception is Java, which was hyped from here to Saturn. Everyone jumped on it, at the time, to get out from under Microsoft and other lock-ins.

Proprietary lock-in is the worst thing ever.

</comment><comment><USER22> Different is not better.

When you understand that, you will be an expert.

<comment><USER23> Perhaps "Different is not always better, but better is always different" is a bit more realistic?

</comment></comment><comment><USER24> Assuming an older dev is also a higher level, they are likely to be dealing with many non-technical problems like project management and politics. As such, their big problems to solve are less the tech and all the other issues around the tech.

</comment><comment><USER25> Software and UI suffer the same problems as fashion.

Younger people see existing solutions as OLD and gravitate towards HOT new solutions. This creates change for change sake, at the cost of efficiency and usability.

Consumers do not like change unless it brings new functionality or improves usability.

As an older programmer and ops I see the trends and cringe at the loss of efficiency. Software running on resources that dwarf what we had in the 90s is giving a worse perceived performance.

</comment><comment><USER26> I am 50 and have been programming since I was 11. I learn new tech all the time. Just enough to find out if it is worth learning deeply or whether it is just another flavour of something I already know. 95% of the time it _is_ just another flavour of what I already know so I can safely leave it alone until I need it (again 95% of the time I won't ever need it).

</comment><comment><USER27> C.f. [http://boringtechnology.club/](http://boringtechnology.club/)

</comment><comment><USER28> Not more resistant to new tech at all, they love tech and they certainly look very deeply at new self-proclaimed breakthrough tech.

But they are probably more resistant to the current hype train, and they experienced the various pitfalls of hype-driven marketing. "Fake it till you make it".

E.g. as with the current safety hype around Rust, they probably know more about the three fundamental safeties Rust proclaims to support (Note: it does not). E.g. That Java proclaimed memory safety for a long time, and just last year really started to remove their memory unsafe API.

The maturity argument is relevant to managers only, not technicians. Older technicians love improving approaches to build and maintain software, be it more abstract, more elegant, shorter or just better. Older technicians love the new CI/Deploy pipelines, simplier OO or FP paradigms, better garbage collectors, better type systems, better concurrency approaches.

And maturity does not say that much. POSIX is pretty mature I would say, but has completely broken string (unicode) and concurrency support. Blocking IO does not help neither. GCC and GLIBC are still a horrible mess. Linux/Windows/FreeBSD also.

</comment><comment><USER29> The older you are, the less value you can extract from learning new things, the more easily you can extract value from what your already know. This is explains the endless debate between young people and old people who bicker on forums instead of building.

</comment><comment><USER12> Having spent from teens till 50's in tech I offer my insight.

When I started out, I was all trained up in cutting edge and to walk into a job that did not do that. I learned why.

1) Bleeding edge tech is just that, something will bleed. 2) Skill debt 3) Standards

Those are the main three.

1) Bleeding edge - all software has bugs, anything new needs time to mature and when your running a business and want your nth 9's uptime, stability, robustness.....just works and does the job at hand - everything that something less mature, tried and trusted offers. Sure it may be that rare - just works from day one, but the odds are terrible when most often it will not.

2) New skills will be needed and paradigm shifts just never happen, it's costly and transitions are gradual and glacial almost. You also have legacy stuff that needs support. I've worked at companies doing paradim shifts, ended up leaving existing employees stuck supporting the old and they got new staff in to play with the new toys. This saw the buisness knowledge in the old team ignored and also saw many leave as the new team was, well, arragant and in the end, the old system lost traction and the new system never ever worked as well as the old system due to lots of bleeding edge gotcha you would never expect, like many bugs. But that was the days of 4Gl's in the late 80's. We still have COBOL today for many reasons - it just works and does the job at hand and has proven to do that for a long time. "Trust is earned, never given away" Klingon proverb that is true for IT in the business world.

3) Standards - this ties up with the previous two, but equally is important as you need to have standards and anything new takes time to curate those standards, in coding and operation, these nuances take time to perfect and equally are important if you want to start out right with any tech in business that depends upon such tech. Standards, whilst operation and some best practices will be common for all, but each buisness will haev it's own nuances and that plays out in standards. Be that naming convention. Though you can and I have seen odd standards that had a passing back to the legacy code/system and that was due to making things logical across those systems and that would be mostly in naming standards, data formats, many things that all add up.

But yes, it's nice to play with new bleeding edge toys, but for many businesses - that will not be what they want. They prefer toys which have seen every possible accident happen and all safety revisions are in place and it is now stable without updates every other day.

But for some businesses - being able to run with cutting edge is their business, or case of the new project in which the risk is offset by the gains more easily and everybody has their own segway...

</comment><comment><USER30> With ages comes wisdom, wisdom that comes from lessons learned. Sometimes though people learn the wrong lesson, younger people take more risks with their choices and can correct the lessons wrongly accepted by older folk.

It's almost as if being older is more like playing chess, being younger is more like playing checkers?

I don't know where I fit on this but I don't really care about the new language or tech if it doesn't help me reach my goals. For example, I am perfectly fine doing everything in python for most things unless a different language gives me enough of an advantage to reach my goals. A few years ago, I'd hammer it out in C or every other side project is used to try and learn some language. I'd be happy now to do something in Go for example,provided I can guarantee someone other than myself will maintain it and I need really good concurency and network code.

</comment><comment><USER31> I have gone through some major change in the programming tools and methods I use every two or three years, largely driven by the needs of the market.

I wrote highly complex Rich Internet Applications long before most people, but I kept away from Javascript for the last few years mostly because I heard other people complaining about the instability.

React work has come my way and I am having fun with it. Right now it seems to me that the tools are where they should be.

I am all for developer convenience, but I am also for performance and the fact is that the subjective performance of computers today isn't consistently better than computers 40 years ago. The "Internet of things" won't really happen unless we get cheap chips with high real-world performance with an absolute minimum of bloat.

<comment><USER12> >subjective performance of computers today isn't consistently better than computers 40 years ago

I totally get that point and a good way to illustrate that would be: Boot up C64 and write a "HELLO WORLD" program, now do that with a modern PC. A crude comparison, but makes the point.</comment></comment>


NEPAL – A new extensible programming language - <AUTHOR> http://www.nepal-prog.de

<comment><USER2> Pardon my asking, but is this really a new language? The website looks like it was designed in 1998, complete with scrolling marquee, Flash banner, and visitor count ticker.

If this is really new, may I suggest removing the Flash animation that is simply a scrolling marquee announcing a new version? I haven't looked at this language much, and the amateur website doesn't inspire me to look any further.

<comment><AUTHOR> I am too curious to know more.</comment></comment>


Trump strips California of power to set auto emission standards - <AUTHOR> https://www.bbc.co.uk/news/world-us-canada-49746701 <comment><USER2> This seems like the political equivalent of "rolling coal". Damaging the nation's health and well-being purely to spite political opponents, with barely a fig leaf for rationale ("jobs" somehow, I guess, although of course that makes no real sense).

<comment><USER3> I don't think this is purely out of spite. It's a calculated move to get/keep support of automotive execs and investors. California is a huge market. Any emissions standards they set is basically the entire country's, because no manufacturer is not going to sell in the California market.

This move will probably result in money for Trump's 2020 campaign, because he's saving the automotive industry money.

<comment><USER4> No, several auto makers actually did not want Trump to cut the federal emissions standards, and 4 manufacturers (VW, BMW, Honda, and Ford) made an agreement with California to meet higher standards than what Trump wanted.

Reason being that they're developing more efficient powertrains for global markets, so going backwards from that just for the US would cause them either to waste money developing different models for the US, or lose market share to companies not attempting to be more fuel efficient.

The Trump DOJ then sued those automakers for antitrust violations for making an agreement with California to meet stricter emissions/fuel economy standards.

<comment><USER5> Of course the largest most established carmakers would want to keep an effective form of regulatory capture in place. Byzantine and inconsistent regional compliance requirements raise the cost of market entry.

<comment><USER6> That seems like a weak argument, because almost everyone trying to enter the car manufacturing market is doing so with electric cars or other low emissions technology, and aren't inconveniences at all by California's emissions requirements.

<comment><USER7> How much does it cost to merely certify a model as compliant?

<comment><USER6> I'd expect California to use the data from the EPA. The manufacturer already has to submit fuel efficiency and emissions information to the EPA.

So it should be free or cheap, since all California would be doing is querying the EPA for the data, then comparing those numbers to whatever California's standard is.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> As someone that owned a family auto shop, I welcome this change.

The EPA set standards at a federal level (good standards I might add). Cali was given the power to require higher standards in the 1970's as the article mentions. In the 1970's and 1980's, a car made for the states vs. one headed for California might be quite a bit different, including a different motor with a different compression ratio and various "accessories" to reduce tail pipe emissions.

Since the 1990's, there is not much difference between a car made for the states and one for California, usually if there is a difference it is in secondary air injection into the exhaust. Nowadays if a car is destined for California, the manufacture adds a small airpump which is activated only for a short period after engine start up to pump air into the exhaust. This adds oxygen to the exhaust and allows unburned hydrocarbons to burn just a bit more before exiting. This is only needed when engine temps are low however. So over all, not a big change.

There are also rules to prevent tampering with the engine ECU. If one wants more performance, they can get a third party to flash the stock ECU firmware with a "hotter" one for more performance which usually requires more gas and higher ignition timing for the price of more pollution. Though one might also want their ECU tuned for nothing more than to change transmission shift points and firmness (so not for more pollution). But ECU flashing is expensive ($400+) and a few hot rodders aren't going to melt the icecaps.

This is the way things were up until ~2010 or so before I left the market, perhaps things are different right now, but I doubt it (any remarks are welcomed)

</comment><comment><USER9> why? what is the point of this? how does this benefit the country?

climate change aside, i cannot imagine how someone could argue in favor of dirtier air when we already had a solution in place which addressed the issue somewhat. and yet, that's where we are. this change will make the air dirtier and cause cancer rates to rise.

and for what?

<comment><USER10> Aside from the fact that California has stricter standards than the EPA, what sense does it make for California to dictate automotive emissions for the nation?

If you want stricter emissions standards, fine. But figure out how to do it through the federal government, and not via a side channel.

Edit:

Just wanted to note that I was pleasantly surprised to see people posting reasonable rebuttals and not just the normal "Republicans are evil" replies I've come to expect.

<comment><USER11> Registered republican here. I actually disagree. This is not something that should be under federal purview. The states retain full sovereignty over their land and are under no obligation to 'figure out how to do it through the federal government'. California is and should be free to set whatever standards it pleases, regardless of how idiotic someone in Iowa or New York think they may be.

Trump has violated states rights and deserves to be criticized for it.

<comment><USER12> The federal government has the right to regulate interstate commerce, though, right? Since many or most of these cars are made in other states then sold in California it seems like a pretty clear situation of interstate commerce.

And it seems like it would be a mess if you had "Ohio cars" that could be driven in Ohio but not California, and "California cars" that could be driven in California but not in Texas, etc etc.

<comment><USER11> Sure, the federal government can control the sales of cars. However, the interstate highways are owned and operated by california. California is also the sole authority who can register cars in the state of california for operation. So, while the federal government can force california to allow californians to buy cars produced in another state, it should not be able to force california to allow those cars to be driven on roads owned by the state of california.

<comment><USER13> interstate highways are funded by federal tax dollars. So not wholly owned by California.

And article 1, section 8 gives feds power to regulate (normalize) interstate commerce.

<comment><USER11> No theyre wholly owned by the state. The federal government provides money but the land and improvements are owned by the state of California. Not that it matters anyway because state law is the sole arbiter of who owns what.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> Will this have any affect? I understand that nobody wants to make cars they can't sell in the state with the largest car market.

However there is nothing to stop California from indexing new car registration fees to some sort of measurement of MPG, pollution, etc. If they tack on HUGE fees to some of the worst offenders, wouldn't it have the same effect?

<comment><USER15> _However there is nothing to stop California from indexing new car registration fees to some sort of measurement of MPG, pollution, etc. If they tack on HUGE fees to some of the worst offenders, wouldn 't it have the same effect?_

That's a great suggestion and actually one of the ones that has been tossed around in the Capitol if SCOTUS upholds Trump's decision, and possibly even if it doesn't.

<comment><USER16> If the fees are applied only against non-California cars then it is likely those fees will be held to violate the interstate commerce clause due to being de facto discriminatory.

Not that I agree with the outcome in this case. The interstate commerce clause is a horrible abuse. But that is what it is.

<comment><USER15> Agreed, which is why California would apply them to all cars sold in CA or brought into the state.

Essentially, they would just be an extension of existing state vehicle registration fees.

<comment><USER16> The test for violation of the interstate commerce clause doesn't care about intent. So, quite interestingly, if car manufacturers hadn't decided to _only_ target CA emissions standards they would have been able to bring suit against CA if creating two models of everything was too difficult.

Would the solution of only creating one model and selling that have been a valid reason for a federal court to dismiss such a suit? I think it unlikely, as that would give CA de facto control over a huge amount of economic activity outside of its borders.

</comment></comment></comment></comment></comment><comment><USER17> So far, the government seems to not have provided any legal justification for this move. Would love to hear input from someone with legal experience that can shed some light on how the appeals process may look and the reasons why one side may prevail over the other.

<comment><USER18> This is rather simple; EPA is a part of the Executive Branch. He is the Chief Executive. So he can do these things. This is the way the government is set up under the Constitution of the U.S.

<comment><USER19> I would argue that under the constitution the EPA is only there to enforce the rules congress sets up, but not make the rules. Thus Trump (the executive) cannot do this, only congress can.

The above is not an argument that has seen much success though.

<comment><USER18> This is not how it works though. Congress created the EPA with a Mandate and the power to create more rules/regulations on it's own that carry the force of law. This makes it easier for them because in theory they get to pass a law and hand it over to what are supposed to be experts to carry out the purpose. But this creation of congress is governed by the Executive Branch; meaning they just ceded a bunch of power to the President. So that is why the EPA can do things on its own and also why the President can intervene in ways like this. This is the case for every piece of bureaucracy that congress creates.

<comment><USER19> I know that is how it works. I disagree. The job of congress is to write/pass the laws/rules, not delegate it to someone else.

I'm not against the EPA writing a proposed law and then sending it to congress to pass: it is not possible for congress to be expert enough to write all the required regulations correctly. However it should be (in my opinion which you don't seem to get) up to congress to pass the rule or not in the end.

I will allow the executive to make a temporary regulation until congress can pass the law, but only so far as the law goes into effect (if passed) on the date of the regulation, until congress passes the law nothing will happen if you violate it - of course if it passes that is willful violation which may have a higher price to pay. If you can convince congress not to pass the law the regulation disappears at the end of the next session of congress and cannot be brought back.

<comment><USER20> Well it is kind of temporary when Congress is functioning normally. The President can say hey I'm doing this and Congress could say no..

</comment></comment></comment></comment></comment></comment><comment><USER21> The thing I wonder about is whether this is for the auto industry or the fossil fuels lobby.

California requires a type of gasoline that is only produced at a limited number of refineries at considerable expense. California cannot export or import gasoline from other states. If the EPA fuel efficiency rollback is successful the assumption would be that this regime could be dismantled.

But I can't find any source with enough detail to be meaningful.

[https://www.latimes.com/business/la-fi-gasoline- manipulation...](https://www.latimes.com/business/la-fi-gasoline-manipulation- infobox-20150706-story.html)

(Note: Unlike NYT, LA Times links work just fine in incognito mode.)

</comment><comment><USER22> Is California allowed to add a tax on vehicles for various emissions?

</comment><comment><USER23> Other discussion about same topic:

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

</comment><comment><USER24> Everyone in California continues to have the right to set their own auto emission standard. I don't see what the fuss is all about.

</comment><comment><USER25> Good. This will enable cheapwr cara nationwide, if not worldwide. Hopefully reasonable federal standards will fill the gap quickly.

</comment><comment><USER26> Aside from a petty desire to undo things done by the previous administration and attack California, I really don't understand this move by Trump and his administration.

Any major car manufacturer will look at this with the knowledge that emissions standards will likely flip back either on a court challenge or when a new administration comes in, so why would they want to change up their whole design and assembly process?

I guess the only good news is that it's unlikely that any manufacturer will actually regress and produce cars that hurt our planet more than current ones since they'll know it'd be a short term move that they'll have to undo later.

<comment><USER27> Personally, I don't see why States don't have the right to regulate this as they see fit.

<comment><USER26> I'd prefer that the federal government set a proper nationwide standard (match or beat CA's current standard?), but I do agree with you.

You'd think that all the states' rights people out there would be up in arms about this...

<comment><USER28> > You'd think that all the states' rights people out there would be up in arms > about this...

Not only has this train left the station, the station has been obliterated from the air.

You'd think that all the free-market people would be up in arms about tariffs and an escalating trade war.

You'd think that all the pro-gun people to be up in arms about the first President in history to implement a gun ban by executive order. (Or perhaps even about the candidate who said "take all the guns now, worry about due process later" well before the election.)

You'd think that all the corrupt-Clintons people would raise an eyebrow as Trump pressures world leaders to meet at his personally owned properties, and accepts bizarre payments[0] from Saudi Arabia while coincidentally also being engaged in an effort to defend their gruesome murder of a US citizen.

You might even think that all the "war on terror" as well as the "US out of Middle East" crowd to be somewhat concerned about a President who announces that the US "is waiting to hear from the Kingdom [of Saudi Arabia] as to how we should proceed."

Whatever is going on here, it's far beyond any kind of simple hypocrisy or political compromises or whatever. People who have spent their entire lives behind slogans like "better dead than red," "pry it from my cold dead hands" and all that stuff have simply done a 180 degree turn on a dime. Now it's suddenly the other side who is unfairly demonizing Russia and the Saudis, and bump stocks are just toys that no one really needs, and whatever else.

Despite my best efforts I am no closer to understanding why it's happening like this. The textbook explanations, like cults of personality, don't seem to apply here. But whatever it is it seems far more dangerous than the normal game of politics in the United States. And it would really behoove us to figure it out soon.

[0] [https://www.washingtonpost.com/politics/saudi-funded- lobbyis...](https://www.washingtonpost.com/politics/saudi-funded-lobbyist- paid-for-500-rooms-at-trumps-hotel- after-2016-election/2018/12/05/29603a64-f417-11e8-bc79-68604ed88993_story.html)

</comment></comment></comment></comment><comment><USER29> I think President's Trump overall strategy here is:

a) remove ability of states to set national policy on environment regulations

b) pull the 'global warming discussion into the constitutional courts ( where it might (or might not) get cleansed from the claims that are impossible to confirm, or asks that impossible to implement constitutionally.

I suspect the 54 Mpg average for a fleet, will specifically go into questioning from the above angles.

c) get the courts, potentially rule on relative power and scope of Federal agencies (eg EPA vs NHTSA) (as before these kinds of things were set jointly).

d) Conspicuously Remind California, that defecating on Federal laws about immigration, federal elections and other national/constitutional matters, will continue to have negative impact on their ability to get special treatment from Fed gov.

\---

This specific set of actions, and the ones that will be coming on this subject -- seems to be result of multi-year review that President Trump and his team are conducting on all of ex President Obama's admin 11th hour executive actions (there were a slew of them). [2]

The letter [1] from automotive industry alliance, is asking this in 2016: ".... We urge EPA to reconsider imposing such a far-reaching mandate on entire industry without adequately considering the consequences, and without giving stakeholders a meaningful opportunity to comment.

The MY 2022-2025 standards threaten to depress an industry that can ill afford spiraling regulatory costs.

If left unchanged, those standards could cause upt to 1.1 million American to lose jobs due to lost vehicle sales. And low-income households would be hit hardest

The Alliance is not asking EPA to make a different Final Determination at this time. All we are asking is that EPA withdraw the Final Determination and resume the midterm evaluation, in conjunction with NHTSA, consistent with the timetable embodied in EPA's own regulations. We believe that, if carried out as intended, the Midterm Evaluation can lead to an outcome that makes sense for all affected stakeholders and for society as a whole..." ...."

By the way, personally..., this letter might have a merit, but reads a bit like the coal mining discussion (where coal mining owners and execs are warning about job losses in the industry ..... but mowing down whole mountains, and causing lung deceases is ok....)

[1]([https://autoalliance.org/wp- content/uploads/2017/02/Letter-t...](https://autoalliance.org/wp- content/uploads/2017/02/Letter-to-EPA-Admin.-Pruitt-Feb.-21-2016-Signed.pdf))

[2]([https://www.latimes.com/business/la-fi-hy-epa-mileage- standa...](https://www.latimes.com/business/la-fi-hy-epa-mileage- standards-20170113-story.html))

<comment><USER30> President Trump has no strategy. He is acting out of spite, exactly how he has acted all his life. A real loser.

<comment><USER31> He did win Presidential election, pretty good for someone you call a loser.

</comment></comment></comment><comment><USER32> I've seen so much misinformation and inaccurate reporting around this story and it's been quite frustrating.

As I understand it, four auto manufacturers were working on stricter regulations with the State of California and nationally in separate negotiations.

The deal the auto manufacturers were working on was for 46.5 mpg nationally and 50mpg in California. Then the State of California went their own way and decided that it would 54.5 mpg.

The auto manufacturers flipped out and said that was way too aggressive and that they wouldn't be able to meet that target. The auto manufacturers themselves approached the administration to intervene in negotiations. This is the biggest part of the story that is not being reported.

Then the Trump administration went way the other way and decided that California shouldn't be able to separately negotiate restrictions. The EPA wants control over this.

It's literally "play stupid games, win stupid prizes" all around.

<comment><USER33> Can you share some links? I spent a few minutes trying to figure out why the administration would do this without luck-- more information would be interesting.

<comment><USER32> [https://www.caranddriver.com/news/a22654441/trumps-epa- propo...](https://www.caranddriver.com/news/a22654441/trumps-epa-proposes-to- lower-fuel-economy-rules-ending-separate-california-standards/)

Meat and potatoes in the "update" up top. This is essentially old news that is being restated without all of the facts because Trump is the devil. There's really no new information causing this story to blow up this week.</comment></comment></comment>


168 Billion reasons to stop using Google Analytics - <AUTHOR> http://www.diorex.com/168-billion-reasons-to-stop-using-google-analytics/

<comment><USER2> "Think Google will not do it? The last time I read their terms and conditions, there is nowhere that it says they cant do this. They will make oral statements saying things like "If we did that we would lose the trust of our advertisers and go out of business", but they have refused to put that in writing in any way, shape or form. In other words, they can do it."

Except that they won't, because what they say is actually true. For Google the money is in large numbers of advertisers, not in small numbers of affiliate clicks. This post makes no sense at all.

<comment><USER3> I agree for now. Google needs to protect their bread and butter, paid search, which requires advertisers to have a lot of trust that Google does not act in any way creating a conflict of interest.

However, right now is the good times for Google. The true test is to see how a company (or real people) acts during the tough times. Google's time as king of the mountain will only last so long, and it will be interesting to see how they handle their descent when the time comes.

<comment><USER2> Good point. However, even if times get tough for Google, the basic principle (a large number of advertisers that trust them are worth more than a smaller number of referrals) still stands. For Google to start screwing their advertisers, times would have to get so tough they'd want to throw their entire business model overboard. Somehow I doubt that will happen.

(and I say this as someone who's not particularly fond of Google to boot)

</comment></comment></comment><comment><USER4> I agree! Clicky [<http://getclicky.com>] FTW. Live traffic trumps delayed data anyday!

<comment><USER5> That looks nice, but $17/month for a max of 50,000 pageviews/day is a bit of sticker shock when coming from Google Analytics (and they obviously realize that, since they have a "Why would I pay for Clicky when Google Analytics offers the same thing for free?" section).

<comment><USER6> We'd offer it for free if we had a way to. But we have to pay the bills and buy new hardware somehow...

<comment><USER5> Don't get me wrong, I didn't say the pricing is unreasonable, and you are providing features Analytics doesn't have. I'm just saying that it's hard to compete with free, which I'm sure you're already aware of ;)

</comment></comment></comment></comment><comment><USER7> So has anyone here had success with or even tried affiliate marketing? I didn't think this was the place where that would get mentioned, but that seems to be who the blogger is most concerned with.

<comment><USER8> I've been doing affiliate marketing for about 2 years now. So far my best months have been five figures of profit (my best day was four figures of profit). But I know of other folks that are doing much more than that..

<comment><USER7> Wow. Um. wow.

I guess someone could say "You're doing it wrong" to me here. I've tried integrating affiliate adds with blogs and another site that did rental listings. I've made 18 dollars after tens of thousands of impressions.

I've come across so many affiliate marketing "seminars" and eBooks, but they all smell of "get rich quick" scams to me.

Anyone care to share what works vs what doesn't? I'm really confused on the topic.

<comment><USER8> It really depends on the site and the niche and what you are trying to do etc.

I'm not sure if a discussion of affiliate marketing is really relevant to "Hacker News".

There are a couple of eBooks I would recommend, but you can get most of that info for free if you read some blogs and forums. Just search for "super affiliate blog" and start your research there.. :)

<comment><USER9> I think this is relevant, and would love to hear more about it.

<comment><USER8> See <http://news.ycombinator.com/item?id=236211>

<comment><USER10> I second <http://www.wickedfire.com>

</comment></comment></comment></comment></comment></comment></comment><comment><USER3> What is the best alternative to google analytics then?

<comment><USER11> statcounter is really pretty good. Not as flashy or feature-rich as getclicky. But, free and no ads and live updates are nice.

I agree that google analytics is not the best choice.</comment></comment>


Superfish 2.0: Dell ships laptops, PCs with huge internet security hole - <AUTHOR> http://www.theregister.co.uk/2015/11/23/dude_youre_getting_pwned/ <comment><USER2> Another (busier) discussion is here: [https://news.ycombinator.com/item?id=10619336](https://news.ycombinator.com/item?id=10619336)

As an ex-Dell support website developer (in other words I've worked with the service tag lookup feature) I don't understand why a root CA certificate is required for this.

I do remember that the previous incarnation needed Java/ActiveX support, which is admittedly now getting harder to run, so the new site now asks the user to download and run an executable.

Assuming the EXE is an installed application (I didn't investigate any further), this would give Dell full access to the user's PC anyway. Hence, I don't understand why a CA root cert enables Dell to do anything extra in order to locate the service tag from the system.

Whilst people do want to give Dell the benefit of the doubt, and think that the CA root was left on the build imaging system by accident, the real question is why it was there in the first place!

What purposes would a CA root certificate give Dell (even on their own test builds)?</comment>


Why Skype is Evil (2007) - <AUTHOR> http://ultraparanoid.wordpress.com/2007/06/19/why-skype-is-evil/

<comment><USER2> Article is from 2007 and most of it turned out to not be true . When Skype is served a subpoena, they can only return account information, they are unable to intercept or log voice or video calls[1] [2].

This is a big deal in China and Russia[3] where they block the service since they have no way of intercepting it (ie. it is secure enough for two very large governments to have no way of dealing with it).

Further proof is that there are no publicly known cases where skype call or chat logs have been submitted as evidence, while you see google, microsoft, ebay, craigslist etc. appear all the time.

Skype is an independent company again - and the reason why eBay bought it back then is revenue ($850M pa last year), not some conspiracy theory

outside of the odd client exploit, skype is safe. I would trust it if I was a dissident in an unfriendly foreign country and needed to communicate securely.

[1] [http://www.voiptechchat.com/tech/34/skype-says-no-to-wire- ta...](http://www.voiptechchat.com/tech/34/skype-says-no-to-wire-tapping/)

[2] <http://news.cnet.com/8301-13578_3-9962106-38.html> \- see skype only IM company that does not comply with wiretap requests

[3] [http://arstechnica.com/telecom/news/2009/07/russia-not- the-f...](http://arstechnica.com/telecom/news/2009/07/russia-not-the-first-to- see-skype-as-a-security-threat.ars)

<comment><USER3> 1\. Skype is not blocked in Russia. Federal security officials voice their concerns about Skype every once in a while, which causes rumors about possible blockage in media. Although nothing came out of it yet.

2\. In China all skype servers redirect to their Chinese partner <http://skype.tom.com/> Tom Skype has everything that you would expect in QQ or other Chinese IM's, namely intrusive ads and content filtering. There is research showing how much data is leaked by the Tom Skype and how insecurely it is stored. <http://www.nartv.org/mirror/breachingtrust.pdf>

It is quite worrying that Skype has a such partner. Although it makes me think that Google would have more success in China if it found a Chinese partner like Tom Google.

<comment><USER2> In a previous startup I spent a long time talking to TOM about taking our product into the Chinese market. It comes down to them knowing people, and they are very very good at what they do and very reasonable. I have no doubt that because of the culture in the country and the way that business is done that having somebody like TOM would be a huge gain for Google. Kai Fu-Lee was supposed to be that, but he left. You can't really send Americans out there to establish a business

</comment></comment></comment><comment> muuh-gnu I'm so tired of articles how bad/evil/insecure Skype is, while not suggesting any usable alternative. Skype, whether you like it or not, has no viable competition, almost 8 years after its initial release. By "usable" I have the following requirements in mind:

* Cross platform: It has to offer clients for Linux, Win, OSX.

* It has to support voice and video.

* Easy to install: Even grandparents in Australia have to bee able to install it. No NAT and other configuration bullshit, just enter a name, a password and ready to go.

Skype has helped connect my all over the world scattered family for more than half a decade now. I am absolutely willing to give up any kind of privacy and security in order to be able to video-phone my family living thousands of miles apart whenever I want at absolutely no cost. No, absolutely no free software system has yet been able to provide the above 3 minimum requirements for me to consider ever leaving skype.

P.S. Thanks for the immediate downvotes.

<comment><USER4> <http://www.google.com/chat/video>

<comment> muuh-gnu No free software. Theres no point in replacing one closed system by another, especially when the first one works much better. Googles system is only accessible through Gmail, is very awkward to use and has the "irrelevant addon" feel. Had Google _ever_ intended to offer widescale Voice&Video, they'd have built video into Gtalk when they had the chance.

<comment><USER5> Actually, Google's video/audio calls work in the browser. Not only is the software free, but you already have it.

<comment><USER6> You mean that only the browser is software, but not what runs in the browser?

</comment></comment></comment></comment></comment><comment><USER7> "Do I know that NSA helped fund eBay's purchase of Skype? No, I certainly do not."

It then links to an April Fools article ([http://www.oreillynet.com/etel/blog/2007/04/skype_revenue_fr...](http://www.oreillynet.com/etel/blog/2007/04/skype_revenue_from_national_se_1.html)) to help support that there's a link between the NSA and Ebay anyway.

EDIT: Maybe I missed the joke, since the name of the blog is ultra paranoid, but that article was garbage.

</comment><comment><USER8> The NSA (and FBI et al.) have a pretty workable solution for strong encryption on the wire - they attack the client. The client computer (or mobile) is pretty much full of holes, if someone wants in they'll get in, and sooner rather than later.

Related, the Germans seemed to have commissioned a trojan to monitor skype and tls traffic on the endpoint: <http://www.wired.com/threatlevel/2008/01/leaked- document/>

Somewhat related, the FBI routinely uses flaws to install CIPAV: <http://www.wired.com/politics/law/news/2007/07/fbi_spyware>

Granted, none of this enables the wholesale monitoring of skype communications. Practically, even if the NSA had access to individual signing keys or some kind of side channel leakage it probably wouldn't be getting used en masse. The computation requirements of decrypting all traffic are likely significant, and operational security would discourage the wide use of a closely held leakage bug in fear of disclosure like happened with the domestic wiretapping scandal.

As an aside, I found it quite amusing to read _"For example, a person in Germany, talking to a person in Russia using land-line phones would previously have been out of reach for NSA"_ \- ultraparanoid? Pshaw.

</comment><comment><USER9> If we continue to label everything "Evil" when it is clearly not the word will lose its meaning.

</comment><comment><USER10> This was posted in 2007, worth keeping in mind before jumping to conclusions.

<comment><USER11> Well, the main message still holds true though: if you need to make sure nobody can eavesdrop your communications, you'd better off with open source software.

<comment><USER12> As long as you understand the code line by line and as an overall entity, otherwise you are no better off. Just because you can read the source doesn't mean you actually can.

<comment><USER3> Even if you can not read and understand the code you are still better off with the open source. Due to the fact that independent researchers or programmers unaffiliated with developers will be able to audit the code. While with the closed source software, the only information you have about the inner workings of the software is provided by the developing company.

</comment></comment></comment></comment><comment><USER13> The word "evil" if much overused these days.

Slipping a little of topic: my main reason for distrusting Skype is that it is currently owned by eBay. eBay are a very good company, in that they are very good at being a company that does good for itself with little care elsewhere while occasionally pretending otherwise (like every now and then they have a "no PayPal feeds on donations to charity X" run).

</comment><comment><USER14> i spent a half hour reading that skype reverse engineering pdf a week ago and just for kicks took a look at <http://en.wikipedia.org/wiki/Skype_protocol> and it doesn't appear to me that the private keys are shared nor that they're generated in an insecure manner... so how would skype be eavesdropping? the article makes the case that skype is evil due to an intentionally weak protocol but doesn't back it up with a technical argument as to what's wrong with it. i'm not defending skype, just confused.

</comment><comment><USER15> I wonder if this has anything to do with that "bug" that gives root access to Macs.</comment>


What is the value of a graduate degree? - <AUTHOR>

What's the relative value of going and getting a Master's degree from a good school versus working in the business for a couple years? Is a 4-year night school program worth the money? How much does the startup/tech/etc community care about these degrees? <comment><USER2> If you're capable enough to go into business at the normal age for entering higher education then the 4 years you'll spend gaining real experience will put you further ahead of the graduate in year 5.

University is good for learning independence and academic skills, and some degrees a necessary for certain vocations. But if you have the option and motivation you should probably just start work immediately. I used my degree to get my first job, I don't expect it to be weighted at all for my second job, in comparison to my experience in a job.

On the flipside, university is an experience in and of itself and there is no real rush for you to start a job if you could spend 4 years surrounded by your peers learning more about the world and yourself without the pressure of a full-time job.</comment>


Stenography & Reversing Multilayer .NET Malware - <AUTHOR> http://blogs.cisco.com/talos/reversing-multilayer-net-malware

<comment><USER2> Nice article. Its easy to confuse but I think you meant Steganography.</comment>


Ten years of PyPy - <AUTHOR> http://morepypy.blogspot.de/2013/02/10-years-of-pypy.html

<comment><USER2> I'm personally very excited about the prospects for NumPy in PyPy, as this is my main use case for python. Relatedly, on the PyPy homepage, you can give money to help grease the wheels on development of specific PyPy features: <http://pypy.org/>. There's also quite detailed proposals that describe where the money will go, how it will help each feature's development, why each feature is useful/cool, etc. To me this seems like a really awesome way to organize donations for an open source project and gives me greater confidence that my donation will have an impact.

<comment><USER3> I am excited too, but I also wonder how much faster it's really going to be. Synthetic benchmarks are great, but I didn't see much of a speedup when I switched to PyPy for some of my real-world code.

<comment><USER4> You should complain. There is a myriad of reasons why PyPy won't go very fast, for example you're using C extensions. Usually what happens if you have code where parts go insanely fast and parts go insanely slow. Once you identify it, sometimes it is just replacing the library (like pgsql2 -> pgsql2cffi or so) and stuff flies. But it all depends on your workload and the stack a lot. R&D is typically needed to get good speedups. For most RW examples, 2-10x are to be expected.

Shameless plug - if your stuff is not open source and you can't be bothered to do the profiling yourself, there is typically an option to hire someone to do it for you. Get in touch.

<comment><USER5> Could you explain what you meant when you wrote:

> Another option we tried was using RPython to write CPython C extensions. > Again, _it turned out RPython is a bad language_ and instead we made a fast > JIT, so you don't have to write C extensions.

??

On the surface it would seem that using RPython would be a boon to authors of C extensions, so this surprises me. It is also kind of shocking to hear the authors of such a great project basically condemn the language that it was written in (and really, the original raison d'etre of the project itself) as "bad".

<comment><USER4> Whether RPython is a good or a bad language is a subjective fact and it should not be related to the fact whether I wrote it or not right? It's good for what it does (writing VMs), or at least better than writing them in C++ including JIT by hand, but it's much worse than Python. Hence using it for a general purpose project is a bad bad idea and you should use Python instead.

</comment></comment></comment></comment></comment><comment><USER6> _To make it more likely to be accepted, the proposal for the EU project contained basically every feature under the sun a language could have._

How common is this in EU projects?

<comment><USER7> Very, at least in the education funding. There are courses (financed by EU, of course) that teach you how to write proposals for EU projects, to make it seem more in line with expectations of the "program" you want to finance your project. They basically say "you have to put 'developing intelectual capital among unemployed people in the countryside' there, that is more likely to get you the money. You may do a few free courses for 50 people on whatever in that building after it's finished, and it will be OK. And while your're at it buy projector and laptop for that courses too, and put it in costs". And the building is intended as library or sth, but to get money you add whatever you can.

EU money on education are wasted so much. On the other hand infrastructural funds are handled more or less OK.

<comment><USER8> guy working on several EU research projects here.

That's barely true. Although there is some certain amount of buzzwords in every proposal (that's kind of bread an butter for tech people anyway), they are far from what OP says. Sometimes there is some overpromising, but those things are usually secondary aspects, rather than the core idea. Most of the results are beeing used as some developed components by participating companies, some of the work is dropped, and a lot of work is open sourced and few projects are really successful. But that's research anyway. Not all work lead to success here.

<comment><USER6> Perhaps it depends on the type of project?

I see two very different views here: one thing is to have technical jargon that looks like buzzwords to the uninitiated, another is to have to include, in the proposal, features that you won't implement so that the project is accepted, as mentioned in the original post.

<comment><USER9> I don't think that's it, so much as offering to implement, and actually implementing (at least in a half-assed way) features that you don't actually want, to make the proposal more attractive.

</comment></comment></comment></comment></comment><comment><USER10> I actually find it very impressive that they have a quite well working tracing JIT. For Firefox we had TraceMonkey, but the code was hard to maintain and hacked into the infrastructure. And it turned out that most stuff doesn't trace very well in the real world. (not SunSpider, argg!) I haven't looked very recently but I guess the pypy frontend for JavaScript is still not actively maintained? I think I remember seeing some thesis about that recently. Best of luck to them in the coming years!

</comment><comment><USER11> Awesome. Is there somewhere they've documented the wisdom they've gained in more detail? I'd love to hear more about the issues encountered with JavaScript, ctypes, and LLVM, and lessons learned in general.

<comment><USER4> #pypy on freenode. LLVM, JS and ctypes are scattered around mailing list posts as well (and blog posts).

</comment></comment><comment> throwaway54-762 This reminded me to make another donation towards py3k support =). Keep on rocking on, pypy.

</comment><comment><USER12> I recommend using it. It's a great platform. Well done guys

</comment><comment><USER13> From the article: "the first usable PyPy was released in 2010." For most practical purposes PyPy is only two years old, not ten.

<comment><USER14> No. Before it was known as PyPy, PyPy was known as Psyco. I remembered playing with it. In Pressyo's internal documentation there were many mentions of using Psyco (we never actually ended up using it)

<comment><USER15> I think Psyco was a separate code base, and not an actual progenitor of PyPy.

<comment><USER14> Ahhh... I see I was mistaken. Both are projects by Armin. I thought Psyco became PyPy

</comment></comment></comment></comment><comment><USER16> Still hoping one day CPython gets replaced by PyPy as default Python implementation.

Good work guys.

</comment><comment><USER17> According to PyPy site it can run Django.

Was it tested or anyone used it in production to run Dj 1.4? Dj 1.5?</comment>


Interface in Game – an encyclopedia of video game UI screenshots - <AUTHOR> https://interfaceingame.com/ <comment><AUTHOR> It touches deeply the systematizing part of my heart.

Just a month ago I spend more than I care to admit time on taking screenshots, comparing Doom 2016 and Doom Eternal UI side-by-side: [https://medium.com/@pmigdal/doom-2016-vs-doom-eternal-ui- sid...](https://medium.com/@pmigdal/doom-2016-vs-doom-eternal-ui-side-by- side-8058e996baae)</comment>


Parallelism and the Limits of (programming) Languages  - <AUTHOR> http://whilefalse.blogspot.com/2012/04/parallelism-and-limits-of-languages.html

<comment><USER2> "Languages can force developers to think about applying logic over their data (and thus help with parallelism as a mindset), but they will never solve the problem of automated parallelism without the VM to tune it in the background."

Unfortunately, the evidence that anything at all can save us with automated parallelism, with or without VM assistance, isn't very good. Studies on using it on real code written without thought on parallelism always discover that "normal" code simply isn't parallelizable even in theory beyond single-digit factors.

There Is No Escape.

<comment><USER3> _Studies on using it on real code written without thought on parallelism always discover that "normal" code simply isn't parallelizable even in theory beyond single-digit factors._

If you assume "normal code" is traditional imperative code with destructive state update, that is probably correct (although I'd be curious to see which studies you're referring to). But there are important examples of domain- specific languages that are relatively simple to automatically parallelize. For example, mere mortals can easily write SQL that can be efficiently executed on thousands of machines (given a sufficiently large data set, of course) -- the database system takes care of data partitioning, replication, and fault tolerance automatically.

Another example is the work of Pat Hanrahan and others on DSLs for solving PDEs over meshes: <http://liszt.stanford.edu/liszt_sc2011.pdf>

Obviously, whether these techniques can be extended to tackle more general- purpose programming tasks is open to question.

<comment><USER2> I've seen them on functional programming languages, too.

If you switch programming languages, in the context of this argument you've "already lost". The point of automatic parallelization is basically to give us speedups without having to radically change how we program. Changing languages, using lots of mini-DSLs, etc. all count as radical change as much as having to manually parallelize.

Personally I absolutely agree that the only way this is going to work is with new languages that make it easier, but at the same time it's never going to be fully automatic... and those new languages aren't going to look much like C(#/++/). Haskell is closer and even that probably isn't different enough.

</comment></comment></comment><comment><USER4> The key to writing highly parallel programs in my opinion is to have a set of primitive, highly parallelizable operations (like MapReduce) and languages that make it natural to use those operations, either implicitly or explicitly (see [http://static.googleusercontent.com/external_content/untrust...](http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/archive/sawzall- sciprog.pdf) for an example of such a language).

For a very different example of a more general-purpose language designed for large amounts of parallelism, see go. (Many of the same people were involved.) Note that it is much easier in that language to create accidental bottlenecks that are hard to track down than in Sawzall. (That's the trade-off when you let the programmer have more control - they can do more interesting things but also get the rope to hang themselves.)

<comment><USER5> ANI tries to do this, although I still haven't figured out if it's a joke or not.

<http://code.google.com/p/anic/>

</comment></comment><comment><USER6> > I've always thought that the next truly big leap in VMs and languages will > be those that can do smart things with threading without making developers > sweat too much.

I'm skeptical we'll see something like this for _nontrivial_ applications, especially highly tuned applications (search, financial, etc).

I think we will have examples of toy applications that can be automatically parallelized.

Parallel Linq (plinq) is a good example. You can easily make course grained operation concurrent. However, for truly fine grained stuff, the compiler isn't "smart enough." (see On Being Sufficiently Smart - <http://prog21.dadgum.com/40.html>)

I hope I'm wrong and we see some major advances in magic err I mean compiler design.

<comment><USER5> I'm wondering if the solution to the Sufficiently Smart Compiler is to have the Sufficiently Stupid Language. Automated parallelism becomes easier if you only give users parallelizable operators. That sounds terrible, but maybe it isn't that bad (I don't know). Perhaps users should always be working on sets of data (a number doesn't a exist, just a set with one number in it), then the compiler really just has to be smart enough to turn that set operator into just an operation on an integer. That is, deparallelize it. Is this why array languages tend to work well for these things?

<comment><USER7> Arrays are usually causing problems in the parallelism world, if you're trying to modify them anyway. The standard paradigm is the actor model, you reduce your program to never actually talk to data, only act as if it were. The objects asynchronously handle messages to modify themselves, thus a message can come from anywhere.

That's one solution but the biggest hurdle most parallel codes faces is the fact that most programmers think sequentially. When you start thinking parallel, it doesn't make as much sense, and the thought degrades to a magic box that you throw work at. IMHO usually because where parallelism is an intuitive concept, the API's to take advantage of it usually suck.

<comment><USER5> You wouldn't have array mutation in this case, since that isn't a very parallelizable operation. My question is if we could construct a usable language where every operator in it is a parallel operator, in which point the optimizing compiler is trying to find situations where it can just treat values as sequential code, not finding situations where it can treat sequential code as parallelizable.

</comment></comment></comment></comment><comment><USER8> I'm curious if recent changes in Google (taking special characters) will change TIOBE (They base among other signals also on search engines) index? Maybe C gets extra points when those should go to C# or Objective-C? ;-)

</comment><comment><USER9> Just an aside, "whilefalse" is a great name for a programing blog.

<comment><USER10> So it can be optimized away?!

</comment></comment><comment><USER11> There was a time I'd loved to see a Niagara-based desktop workstation. Making Gnome and Firefox run well on a dozen underpowered cores would do a lot towards making parallelism more mainstream. I think, however, this train has left the station.

I wish the GPGPU crowd good luck.

</comment><comment><USER12> Hysterically annoying typo in the single word that (it seems) was added to the title as editorial. Not a win.

<comment><AUTHOR> Sorry. Somebody, not me, fixed it

</comment></comment><comment><USER13> If you consider JVM startup and the JIT compiling to be part of a bootup procedure of a widely parallel cluster, then we're in a pretty good spot these days to do parallelism with just a little code.

<comment><USER14> What does that even mean?

<comment><USER13> have you messed with hadoop?</comment></comment></comment>


OnePlus to Women: Send Us Hot Selfies, We'll Let You Buy Our Phone - <AUTHOR> http://gizmodo.com/a-brief-history-of-tech-companies-talking-to-women-like-1004190846/1620224267 <comment><USER2> If their goal was brand awareness they achieved it as I had never heard of them until now.

That being said I want nothing to do with them.</comment>


CUTLASS, a CUDA C++ template library for matrix multiply on GPUs - <AUTHOR> https://devblogs.nvidia.com/parallelforall/cutlass-linear-algebra-cuda <comment><AUTHOR> CUTLASS is a collection of CUDA C++ template abstractions for implementing high-performance matrix-multiplication (GEMM) at all levels and scales within CUDA. It incorporates strategies for hierarchical decomposition and data movement similar to those used to implement cuBLAS. CUTLASS decomposes these "moving parts" into reusable, modular software components abstracted by C++ template classes. These thread-wide, warp-wide, block-wide, and device-wide primitives can be specialized and tuned via custom tiling sizes, data types, and other algorithmic policy. The resulting flexibility simplifies their use as building blocks within custom kernels and applications.

<comment><USER2> For most formats it achieves >90% of the performance of the hand-tuned assembly implementations in cuBLAS.</comment></comment>