Ask HN: How to choose the right university subjects for a career in IT - <AUTHOR> Hello. I interest myself in programming and I've been dabbling with many languages (Swift, Python, Haskell), reading books and doing little projects (mainly Code Wars-type, or small apps for iOS).
Soon I will have to decide on what university I go, and what exactly I'll study. But how do I choose? There's so many things that sound really interesting - systems programming, data science, bioinformatics... And no way to try them out beforehand! I need to plan some rough route at least, which I'll refine once I get my bachelor's degree (e.g. I can go general IT now, and choose AI for masters; or go bioinformatics now etc.).
I have nobody to ask, because nobody in my proximity understands this kind of stuff, not even teachers. What would you advice me to do?
Thank you very much for help. <comment><USER2> My perspective weights towards industry, not academia. That is an important thing to acknowledge up front; note that almost everyone you talk to on a university campus has the opposite perspective and many of them are unaware of it.

It is far more important that you actually write code than the specifics of what you study, from the perspective of a career in industry. This attitude is very not shared by academia.

I would bias towards a course of study which included the opportunity to work on longer-than-a-lab meaty projects. Some schools offer courses where the primary thing that you do is a single semester-long project on a team; that is a useful thing to have done.

University is also a good time to low-consequence graze across a variety of fields to expose you to things you _could_ do in your career without necessarily needing to commit to them. One undergrad course on AI, for example, costs you ~2% of your units of study effort and, while it probably has negligible real-world utility, will give you a feel for whether it is an energizing topic for you.

Does your school have a strong internship program? I would expose myself to opportunities to do an internship, particularly if it were an internship at a company with a strong engineering culture. Bonus points if it is one you'd consider working at after school

<comment><AUTHOR> I'd like to work in the industry, not academia; even if I study bioinformatics, I'd like to work in pharma industry or apply it in practice, not do research.

If I take only schools from my country (Czech Republic) into consideration, it doesn't seem any of them offer such long project-courses. Maybe some game developing class in masters.

About the internships, it would almost seem my school (Charles' University) only participates in Erasmus+. Not sure if that's really everything they are offering, I'll have to look it up sometime.

Charles' University offers three basic bachelor "routes" (for lack of better word) - general CS, programming and computer systems, software and data engineering. In addition, each of them has around three branches. Even if I go this "CS Highway" (and not Maths or bioinformatics), which of the routes should I choose?

</comment></comment><comment><USER3> The most important thing I was told while in college - you get out of college what you put into it. You'll still be a junior developer once you're out of it, and you'll re-learn 90% of what you know.

Classes won't matter much because you won't learn any real world usage of the technology, but you will learn all you need about algorithms, data structures and big o notation (if you want to pass the interviews). Pick classes that force you to think and use what you know to pick a solution. Don't pick classes that shows you the language, but rather how to approach problems, how to think in terms of solving them and how to put it all together in an architectured solution.

And as someone else said - internships. You'll learn 10x more in 3 month program, than you'll learn in your entire college career - guaranteed.

<comment><USER4> I agree with this, i have a BSc and an MSc and tbh i learned everything outside of university - by myself and in work. I would consider my self a full stack JS developer and i do work at that capacity. Still waiting on the day i have to use binary search tree or run massive perf test with big o notation

</comment></comment><comment><USER5> When I look back at university now, I put in a ton of work to chase things I was curious about and I feel like when I had my first job and compared myself to the other new grads around me I had a very broad knowledge base which even now ends up being really helpful. I'd recommend tasting everything you can!

There are so many things to learn that you cannot possibly master them all (you probably won't find them all interesting anyway, or maybe you'll see a specialization you'll like!) but learning new skills and keywords to google later makes you really adaptable and feel more comfortable just diving into the unknown. Having a broad knowledge base also makes learning new skills later feel WAY less daunting- approaching a totally foreign concept in something like a MOOC is much less scary when they use words or concepts you've encountered before. (e.g. I didnt do any ML when I was an undergrad, but all the statistics I took helped me through the coursera ML course later).

Do internships- the real world is very different from school and you want to get exposure to it before it comes- it makes you far more attractive as a candidate when looking for work.

And make sure to surround yourself with other curious people, that's a habit that'll help you your whole life.

</comment><comment><USER6> Aside from the more obvious answers, I would suggest taking some philosophy courses. I still frequently draw upon what I learned in my logic course from philosophy.

That and anything that improves your communication skills. Courses with an emphasis on analytical writing will pay dividends down the road. Doesn't matter how great your coding skills are if you can't communicate well with others.

</comment><comment><USER7> There's a contemporary paradox: if you want a great career in IT, don't study Computer Science, study pure mathematics and become Data Scientist, or Machine Learning researcher :)

<comment> le-mark I would suggest studying mathematics as well, but not for this reason. If you're already coding, you won't get much from a CS education you can't pick up on your own. Studying mathematics gives you the background to see more deeply into CS, and other fields. In the US system, if you major in mathematics and minor in CS, I think that's a much more fruitful path, especially if you're interested in continueing on to grad school.

<comment><USER8> I would agree except I think studying physics is perhaps even better than math because it lets you get more practice modeling real-world scenarios and math gets more abstract and less relevant to CS at the later levels. But studying CS itself is something I would not recommend for those who know how to code already.

</comment></comment></comment><comment><USER9> Don't forget the non-tech stuff. Good engineers are everywhere. Good engineers who know how to write, can run projects, can lead people, and can get stuff done are much rarer. Tech skills make you competent. Non-tech skills make you senior.

I suggest looking into a liberal arts school that will enforce a well rounded education while still getting your tech classes in. Sadly, this may be your last chance to get that for a while.

The tech you learn in college will be obsolete in a few years. The "soft" stuff will last a lifetime.

</comment><comment><USER10> I'd be wary of specialising too much at this point. Maybe choose a bachelor's course with a good balance of subjects, and specialise when/if you want to take your studies further.

Also bear in mind that things change, and you might graduate and not want to go on to an MSc or PdD. And after you've been working for a while the composition of your degree course is going to be much less important than the in-work experience you've gained.

</comment><comment><USER11> Go with CS.

For most students, maths is the hardest part, but if you manage to stay on top of it, you'll be very much ahead of the field. Pay attention, always ask questions if you don't understand. If you don't understand, you're probably not the only one, and it's probably the teacher's fault anyways. It sounds stupid, but always be aware that a university course is not a book or a video: you can ask questions and the teacher can answer.

In your first semesters, find out as much as possible about different fields for your bachelor thesis when the time comes. The work groups at your university will post thesis suggestions for what _they_ are interested in. Find something that _you_ are really interested in. Pick a subject, write your own thesis, then find a prof that is willing to support you.

Avoid the mindset of "what are the hoops that they want me jumping through". You're not a circus animal. Find something you can be passionate about, then follow that passion. Once you're interviewing for jobs, you want to be able to talk about what you did with confidence.

<comment><AUTHOR> Thank you for your answer. Some people here advice me to take Math, and learn CS/programming (from the point in which I'm now) by taking elective classes or learning on your own. What do you think about this?

<comment><USER11> I don't think that was good advice for your situation, it was more like an observation. The person who wrote it probably didn't even study math.

It really depends on your interests. If you like math, sure, go for it. You can have a good career in IT. But if you're not absolutely sure, I wouldn't do it. I switched my major from CS to math, failed, and switched back to CS. I don't regret it, but pure math was a bit too much for me. But there are lots of people who graduate in math. So it really depends on what you like.

<comment><AUTHOR> Yeah, they didn't and (as they say) now regret it. I'm also not a 100% math- guy, I'm not sure I'd be able to handle it. Also, I hope I'll get the required Math background for AI/data science even when studying CS. (our school has AI Master's)

</comment></comment></comment></comment><comment><USER12> Don't underestimate the value of distribution/elective courses: philosophy, psychology, linguistics, classics, languages, etc. Expand your horizons and touch on things that may tangentially impact the route you see yourself on as a professional and as a person.

</comment><comment><USER13> Any decent undergraduate program will have a defined sequence of courses for most of the first three years. The third year may, and the fourth year will, be all or mostly electives that you choose. The idea is that you will be better prepared to decide what to specialize in once you know the basics. The main point of going to university is to learn how to learn because that is what you will do throughout your career. Choose the best university you can afford and get into. Worry about choosing courses later. If you like programming, major in computer science but also take every math course you can, not just the required ones. You can usually use a math course or two to satisfy CS degree requirements.

<comment><AUTHOR> Yeah, it is similar here. I need to decide whether I want some general CS, or data science intro, or Bioninformatics, though.

</comment></comment><comment><USER14> Computer Science is truly the way to go. If you become a developer of normal skill (in comparison to 10Xer's) this will open so many more doors than say a degree in bioinformatics. The mindset around here sometimes seems to be we are so skilled at writing code that job offers fall into our laps out of thin air, but the reality is you will often have to go through the annoying application process that us mere mortals face on every job change. Having a degree in Computer Science makes these transitions much much easier. It won't be a constant uphill battle to prove you know as much (probably even more) than the typical CS grad. My 2 cents.

</comment><comment><USER15> I got a degree in "Computer Science", but I wish I had gotten a degree in Math. You can learn programming outside of university courses, but very rarely can an individual pick up advanced mathematics outside of a university setting.

From another angle...what companies do you want to intern at? What classes would help you get that internship?

You can learn some AI and data science with Coursera - see if you like it.

<comment><AUTHOR> That's an interesting point of view. I'm not sure I'd be able to outlast 3+ years of pure Maths, though... I like Maths, and am moderately good at it (straight As on high-school, not winning any competitions though), but doing it for so long and on such a high level might as well drive me crazy.

Do you find one often needs to know advanced Math when working as a developer? (or do you do something else for a living?)

<comment><USER15> I generally don't need to know math at all. But I'm just a boring developer, I'm not working on AI or big data / data science (ie. cool stuff)

But to expand on my point, I basically never use anything I learned in college. I had one semester of assembly programming where I did a little kernel programming (I don't program in assembly or mess with kernels), one semester of Java programming for data structures (ok, I use data structures but they're pretty simple to understand), one semester of c++ programming just to learn the language, etc. A mish-mash of concepts and languages.

What do I need for work? These days I program in C# in Visual Studio. Great language and IDE but I didn't learn it at the university. Learning WPF, WCF, ASP MVC, etc... you just have to sit down and grind it out, its not really university learning stuff.

In terms of math being hard... I think its more the case that young people are terrible students... Sit in the front of the class, take notes, form a study group!, ask questions online, learn how to learn math...

I for one was not a good student, but I blame myself and my laziness and not the inherent difficulty of undergraduate math.

<comment><AUTHOR> Well, if I choose CS, I'll really want to do the cool stuff! Our university offers something like AI Master's, so the required Math background will be (hopefully) provided. I don't have to major in pure Math to be somehow proficient in it.

<comment><USER15> Well, good luck.

Make sure you want to go to grad school. Too much time in the university comes at the expense of years you could use building a startup.

</comment></comment></comment></comment></comment><comment><USER16> IT is a vast industry. What kind of job do you want to end up with in IT? Do you know yet? Ask yourself what kind of company you want to work for, doing what exactly.

If you don't know, I highly recommend taking a web development elective if your university has one. Web development is like the HVAC of the software industry: a good job that's always in demand.

<comment><AUTHOR> Very vast indeed, that's my main problem. I'd maybe like to specialise in AI, or deep learning etc, but it is because of it sounding cool, rather than me having some concrete plan in mind.

<comment><USER16> Well, if you want to delve into a subject for curiosity alone then university would be the place to do it. Just don't expect it to necessarily turn into a career.

Maybe just answer this: do you enjoy working with people, or not? Then, after that, what are you optimizing for: money, or job satisfaction?

<comment><AUTHOR> Those two questions are very difficult to answer for an 18yo. Although I never really worked with them when programming, in general I don't mind working with people. I like helping others and collaborating in a team. Well, and the question of money vs job satisfaction... I'd take the money, now (ideally both ofc). Not sure what I'd pick five years from now, though.

(I know you probably meant me to answer these questions _to myself_ , but I posted it here anyway)

<comment><USER16> If you don't _mind_ working with people then I'd gravitate more towards jobs that require teamwork. Those tend to be easiest to break into because you have people around you that can help you ramp up. Getting hired for a "lone genius"-type role usually will require you to present some kind of pedigree such as a PhD or leadership on a well-known open source project.

We all want both money and job satisfaction. Generally, large corporations and governments tend to be the biggest purchasers of software, and that's where the money is. The downside is that the bureaucracy and politics of those large orgs tend to attract a lot of unsavory characters and produce a lot of stress in people. Non-profits, small businesses, and startups need software too, and can be more satisfying to work with.

It sounds to me like web development is going to be the job (or at least a job) for you. So you'll probably do fine with a general CS education. It's easy to get a job in web development, so use your time at college to branch out into whatever you find interesting, like AI, deep learning, etc. Unless you go for your masters', you probably won't get the chance again.

</comment></comment></comment></comment></comment><comment><USER17> Hi. I majored in Applied Mathematics with an emphasis in computer science. And, at least from my personal experience, the computer science part felt like a waste of time. Undergrad computer science classes are all rather uninteresting and will not prepare you for the job market you are going to enter. If you really (and I mean really) want to design algorithms then computer science is for you.

What I've learned in my first two years in industry is that computer science and programming are JUST a means to an end.

What is really important is your DOMAIN KNOWLEDGE. You should get out there and learn something about a field besides computer science that interests you. Computers are so fast and powerful now that hardly anymore is asking if something is computable anymore or trying to get matrix multiplication lower than O(n^2.3).

I, for example, really like football. So I've been spending my spare time developing models and gathering statistics for the NFL.

<comment><USER18> Depends which school you go to. I went to an engineering college. Brutal, in a good way.

<comment><USER17> Thats good. I'm one of those people who does not think writing code is engineering. And computer science is soft science ;).

<comment> UK-AL I think your confusing programming and computer science.

If all you want to think about is gathering requirements, building pratical software than use you'll probably find computer science uninteresting.

<comment><USER17> That's all anyone thinks about in any operational setting. Unless he plans to go into academia and publish papers for a living (rare). There are few and far between settings where the hard theoretical aspects of comp sci are marketable and/Or desirable traits on a resume.

Domain knowledge. Or, in other words, added value. Anyone can be taught to program (see bootcamps) or fix a crashed hard drive (see it department). Domain knowledge is being able to say "I specialize in crypto" or "I have in depth knowledge of distributed hash tables. In short learn something you actually want to learn because computer science is just a tool in your toolbox you're going to learn anyway.

<comment> UK-AL Desired traits on a resume, and what you enjoy are different things.

People go university not only to get job relevant skills, but learn things they find interesting. For a lot of people pure cs is pretty interesting.

</comment></comment></comment></comment></comment></comment><comment><USER19> Here's another recommendation for a Computer Science/Software Engineering degree, and find a degree program that focuses on the fundamentals: algorithms, data structures, computer architecture, procedural and functional and OO styles, design patterns, user interfaces, project management, etc. It'll be good if you get exposed to a _wide_ variety of problems and languages and tooling and techniques across the entire OSI stack. My degree program forced me to learn at least one new programming language each trimester, and past the early 200-level classes, we were expected to pick up the languages on our own from the reference manuals. The really good degree programs will have you do things like design/simulate a CPU and write an interpreter/compiler (both pretty far into the theory side of the house) in addition to internships or senior projects with local/regional businesses (exposure to the real world). Ideally, you'll graduate with both a deep theoretical foundation and broad practical experience.

If you're interested in combining CS/SE with another field---awesome! Consider a minor in that field, or double major/double degree if you're sufficiently motivated/funded. I majored in CS with a minor in Psychology, and I was one class away from a Literature minor (which I regret not completing). My Psych classes ended up getting me ready to work supporting IT and computing in healthcare/bioscience, though admittedly somewhat indirectly. Regardless, there will always be openings in your course schedule for electives, so if you want to do AI later, take an AI elective. If you're interested in bioinformatics, take a few biology classes. In general don't constrain yourself to a single educational course; make choices that expand your horizons.

Focus on the fundamentals, go as broad and as deep as possible, and get as much practical experience as you can. You will graduate with a wide variety of doors open to you.

Edited to add: Do not neglect the arts, humanities, philosophy, sports, etc. Aim for "well rounded" as best you can.

<comment><AUTHOR> Thanks, I'll keep that in mind. I have a tendency, I must admit, to overlook humanities.

How does it work in the US?

In my country, it works like this: you choose a "route" (for lack of better word). Based on the route, there are some compulsory classes you must take, some optionally-compulsory classes (around 5 in a group, you have to take at least 2 of them) and then you can take whatever classes you like, from whatever other route you please (you don't have to take the whole second route, just nitpick the interesting classes).

E.g. We have three routes in bachelor CS - general CS, software and data engineering, programming and software systems. All of these are divided into 2-4 branches, which differ in couple of the compulsory classes, but are otherwise very similar. All those three routes also have some classes (most of them, actually) in common, such as Linear algebra, Calculus, Probability, Analytics, Intro to Programming etc. I can pile up as many other classes on top of this as I please... Even take all the genetics, molecular biology and others from bioinformatics (if time and mind capacity permit).

<comment><USER19> It varies by college but what you've described is basically how it works in the U.S. Take my alma mater for example:

[http://rose-hulman.edu/academics/academic-departments/comput...](http://rose- hulman.edu/academics/academic-departments/computer-science-software- engineering/majors-and-minors.html#CS)

A while ago they split the CS degree program into three tracks---computer science skews towards research topics, software engineering is more process oriented, and international computer science combines the two with study abroad---but the three programs overlap so much that you could have a CS graduate go into industry with zero problems, and you could have an SE graduate go into academia just as easily.

</comment></comment></comment><comment><USER20> I was also in this same spot as you few years back. Back then computers were a novelty in my country. My first encounter with a computer was at my father's office, the banking industry was then shifting from paper transactions to computers. He showed me MS-DOS and the incredible mkdir command. The computer came installed with chess, what a amazing day it was. I was chess with a computer. There and there i knew what i want to do with my life.

You should ask yourself, why did you choose IT in the first place. Then you will find your niche.

Computer language is just the path, what you will want to become will be based on choices on the core CS Subjects you will choose.

</comment><comment><USER21> Focus on learning the fundamentals of Computer Science, the rest of the decisions, you will make them later when you have enough data. Learn to program. Don't learn a specific programming language. Learning a new programming language is easy when you know the fundamentals of programming. Focus on learning the concepts, not the implementations. Don't focus on the tools. New ones always come and go, but fundamentals rarely changes.

While writing this comment, I was reminded of a verse in the bible that tells Chrstians to 'seek the kingdom of God first and the rest will follow'.

</comment><comment><USER22> A big factor for successfully learning while studying is having genuine interest for a certain topic. This will help keeping your motivation (and probably your grades) up, but also later make a good impression on potential employers.

I think most IT-related topics have a high enough demand that you'll be able to find a decent job with proper education and motivation, so I'd suggest to go for whatever thrills you most. If you find out it's not your thing, switching subject is generally no problem within the first year or so.

</comment><comment><USER23> > How to choose the right university subjects...

Go visit several schools and check out a wide variety of classes & subjects. Take the courses that strike you as the most interesting/stimulating.

Steve Jobs famously audited a random course on calligraphy, which later had a huge impact > [http://www.businessinsider.com/robert-palladino- calligraphy-...](http://www.businessinsider.com/robert-palladino-calligraphy- class-inspired-steve-jobs-2016-3)

</comment><comment><USER24> My advice is that most learning takes place outside of the classroom. I learned more when I joined a research group in my third year than I did in my first two years combined. That said, take as much math as you can. You don't need a lot of math to make webpages / iPhone apps, but if you want to do something more complicated (AI, bioinformatics, etc.), having those extra tools in your box will make it that much easier.

</comment><comment><USER25> Look for schools that offer and have madatory co-op programs. Schools with good relationships to help you get jobs will get your farther when you graduate.

</comment><comment><USER26> Get a degree in CS.

Join an academic club that does a lot of sysadmin stuff (if there's a security club then they're probably a good bet) or get a job in the networking side of campus IT. Do what you need to do to pass your classes. Focus on the sysadmin stuff.

If a HR person or recruiter asks your about your GPA the answer is "around 3.0 depending on how thinly spread my time resources are any given semester".

</comment><comment><USER27> It doesn't really matter too much, within reason. Do what you think sounds interesting.

Do internships.

Play sports/some form of physical activity to a relatively high level.

Start reading Cracking the Coding Interview now and do chapter a month, if you want to get a job at FB/GOOG etc after graduation.

</comment><comment><USER28> The answer might be different depending on which country you are studying in.

How much Biology have you done so far ?

<comment><AUTHOR> I'm from Czech Republic. I have pretty good English, so I'd be even able to study abroad, if the budget would suffice of course.

Not so much biology, just some basic stuff about various organisms, from viruses to humans. And we're going to learn about molecular biology & genetics this year.

<comment><USER28> I was just wondering whether you might have done enough Biology in school to be able to be productive in Bioinformatics without studying any more Biology at university.

<comment><AUTHOR> Well, no, I don't think so. Learning Biology outside of school is also harder than learning CS or programming by yourself.

</comment></comment></comment></comment><comment><USER29> Take an accounting course. It's the most useful course I took other than writing. The further you advance in your career the more you'll need it, and if you work on any systems that involve money it will be especially important.

</comment><comment><USER30> Stretch your mind, try to take something really hard and don't be afraid to fail. One dropped class or an F or even a GPA below 3.0 isn't going to ruin your entire life or career, most sane companies don't even check GPA. I missed out on math and physics, I wish I had taken the advanced classes like differential equations. There was also a fluid dynamics class that sounded cool. As far as electives, I hated taking them. Now I just wish I could take another art class or reading class and give more purpose to the activity. I also took Religions of the World and that gave me a basic understanding of other people's belief systems that has a small impact on my friendship with multinational friends. Such as not eating a cheese burger in front of Indians. And not being offended when someone from the middle East doesn't want to eat in front of me. High school history class also sucked, so rather than being discouraged to take a history elective in college, I wish I would have taken one. You need all of these topics to enjoy society.

Forgot to mention. I have used math professionally at a medical company I worked for. You will need it if you ever plan on exploring big data or AI or even usual algorithms. I avoided math in college because it was hard and that's a mistaken mindset.

<comment><USER31> I took a bunch of advanced classes at a top five school (physics minor, for example). Even my grad research was in a related field. I learned that what I was taught was historic and that most people don't get to work with equations anyways.

I wish I had instead spent the time hanging out with friends...

<comment><USER30> I think about that a lot. If I applied the same work ethic that I have now to school, I would probably be way smarter. Perseverance is hard to learn. At the education company I worked for we proved that there is enough time to study 3 hours outside of class per credit hour and still work and have free time. It just takes time management and a daily calendar to find that balance.

</comment></comment></comment><comment><USER32> I would also advocate for computer science. Keep in mind that no matter what you choose to study, many people change majors or schools before they graduate. If you feel like you want to learn something else, don't be afraid of taking a different path (after consulting with trusted advisors/mentors, of course).

I think an important function of higher education is exposure to a wide variety of ideas and disciplines. I don't want to preach too much, but there is value in learning things that don't seem immediately interesting or useful- I really regret not working harder on subjects that I thought were boring or easy.

Best of luck in whatever you decide to do.</comment>


Why RIM still hasn't found the cause of its world-wide outage - <AUTHOR> http://arstechnica.com/business/news/2011/11/why-rim-still-hasnt-found-the-cause-of-its-world-wide-outage.ars <comment><USER2> In other industries, such as petroleum refining, pipelines and nuclear power, their are structured methodologies for determining root causes. Some of these take into account equipment failure, and modelling is often done on equipment life cycles to determine replacement and inspection schedules in oil refineries.

These industries also employ strict management of change processes so that an ad-hoc decision or improvisation doesn't cause an incident.

What puzzles me is why you don't see these kind of practices applied in data center operations.

Are data centers really more complex.. then say.. a nuclear plant?

<comment><USER3> _What puzzles me is why you don't see these kind of practices applied in data center operations._

Simply, people are not willing to pay the price. All of that extra planning requires more man hours. It also requires people, who come at significant cost, skilled at working in such environments. People want to use their Blackberries for hundreds of dollars up front and tens of dollars each month, not thousands of dollars monthly.

It _can_ be done, but the market has determined that it does not want it to be done. It would rather accept some downtime and other problems in order to access the technology at a lower cost.

<comment><USER2> When I wrote my comment I wasn't thinking of lots of up-front planning. I was thinking along more simple lines like root cause analysis using a human factors or equipment taxonomy (much more affective then 5-whys).. and simple logging of incidents for later analysis.

I think some of these kinds of processes can be adopted with small investments in training and change.

Also, a lot of these kind of failures seem to stem from changes at the networking layer.. which should be more planned and tested given their place in the stack (we're not talking about crazy app behaviour).

</comment></comment></comment><comment><USER4> While I feel that saying that massive systems fail in unusual ways is accurate, I also am concerned that RIM may not have the same technical prowess as a google or even amazon and yet in a way they are competing at that scale.

Further, I guess pulling their users email into their system makes business sense for them, but that has always struck me as an unusual technical choice.

<comment><USER3> _Further, I guess pulling their users email into their system makes business sense for them, but that has always struck me as an unusual technical choice._

I always thought it was so they could provide mail using a protocol that was optimized for battery life. Constantly polling a mail provider for updates is not exactly a good use of power.

They couldn't really expect everyone who runs a mail server to install the necessary infrastructure to support the devices, so the next best thing is to have computers operated by RIM attached to power mains worry about collecting the email and then notify the wireless device only when there are changes. Apple uses the same basic model for their push services.

<comment><USER5> Many customers already have BES installed. Why doesn't the phone talk to the BES directly? What value is RIM's centralized data center adding?

</comment></comment></comment><comment><USER6> The common trend among the outages(atleast Gmail, Amazon EC2) seems to be that the queuing of the transaction messages seems to be overwhelming the network thus further making the attempts at recovery futile.

Maybe a solution is to immediately stop all new requests and have servers that record all the transactions to disk instead of redirecting them to overloaded servers.

<comment><USER7> How can you make people stop sending messages?

How can "recording to disks" make some change? What do you think is being done otherwise than writing some databases?

<comment><USER8> You have to build this sort of think into the infrastructure.

For example, TCP and Ethernet retransmission strategies and HTTP servers should have reasonable timeouts that result in error responses rather than just letting incomplete HTTP sessions pile up.

The same principles can and should be applied to any communication protocol.</comment></comment></comment>


Submitting Emoji Character Proposals - <AUTHOR> http://unicode.org/emoji/selection.html <comment><USER2> Emoji is a fad that we're littering a well respected standard with.

In 15 years, we'll be wondering why Unicode is clogged with so many stupid symbols.

I don't hate Emoji or anything, but it just seems unnecessary as part of the Unicode standard. Standards don't have room for creativity like this, if that makes sense...

<comment><USER3> It might seem like a new fad to you, but emoji were long in use in Japan and lacking standardization across major carriers. Not sure how I feel about the consortium being the sole arbitrator of the expansion/globalization of the symbols though. I'm not sure I'm exactly getting what you mean by creativity, but it has been shown before in the decision to do Han unification [0] back when there was less space. Modern Unicode has plenty of room though, and there are quite a few dead languages in the standard.

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

<comment><USER2> Dead languages are real languages though. Emoji is stuff we're just making up as we go along.

We could just create a WingDings-esque font for containing all of this stuff. It would be better to incorporate multi-font support into more devices rather than incorporate informal symbols into Unicode.

I am aware of the massive number of symbols represented in Unicode, but it seems that the vast majority of them are related to existing languages, or other symbols that are used in government. Not 400 different smileys of every race, and cats...

Edit: By creativity, I mean that Unicode is about expressing language and officially-recognized symbols. Incorporating art into it is contrary to the purpose of Unicode.

<comment><USER4> If you don't think that emoji is an expressive language then you may have missed a few years of internet history. ;)

Some of the dead languages in Unicode arguably were never "real" languages and history disputes if they were actual written forms for a language or merely local doodles. Their relevance to Unicode is apparently there is so much academic work still trying to sort out said history that papers are written all the time with those dead symbols. (For all we know, some of them may even be ancient emoji. :P )

The difference between "formal" and "informal" is a fuzzy zone. It's almost like we're making up all of language as we go along. Unicode seems like a fine place to standardize our growing need for emoji. Also, for what it is worth, all of WingDings is also in Unicode and has been since early on.

My only criticism with emoji in Unicode is that I do think it means that Unicode should reconsider its stance on previously closed proposals for constructed languages like Klingon and Tengwar and maybe dedicate a section somewhere outside of the basic multilingual plane (BMP) for them.

<comment><USER5> > If you don't think that emoji is an expressive language then you may have > missed a few years of internet history. ;)

If you think emoji is an expressive language, then I'd like you to make an argument toward that point in emoji.

<comment><USER6> I'm not the gp, but I think I can explain. Emoji isn't your prototypical "what you learn in school" language, but there is a huge amount of language that you don't learn in school. Emoji is kind of like non-verbal communication, which is language. Also some emoji is certainly more language-y than others. Here's why:

1\. Emoji only typically exists in the written form, but that isn't really a strike against it: paragraphs, capital letters, and (to some extent) word- breaks only exist in the written form too.

2\. They have a conceptual existence, and communicative force, that is separate from any particular representation. You can't copy-write the smiley grapheme. You could copy-write a particular smiley image (or "graph"), much like you could copy-write a glyph, but that's it.

</comment></comment></comment></comment></comment></comment><comment><USER7> What a waste of time and resources. Soon when you install new operating system it will tell you "You need at least 1PB of free space available to install Times New Roman font. Do you want to continue?"

We should leave all of that unicode space available for all these new extraterrestrials that will be soon visiting us.

<comment><USER8> Virtually no font tries to cover the entire Unicode space. Code2000 and GNU Unifont are relatively comprehensive, and Arial Unicode MS is pretty good for a mainstream font.

Making emojis Unicode will significantly improve their handling.

<comment><USER5> > Making emojis Unicode will significantly improve their handling.

...and significantly hurt the handling of foreign language characters.

I'd be happy to have a standard for emoji. I'd be happy to have a standard for interleaving emoji and text. What annoys me is that the standard for emoji has been mashed into the standard for characters as if they are the same thing. Mashing the two standards together means that people who only want to support characters or only want to support emoji have no guidelines for doing so.

If you don't understand why this is bad, it's probably because you don't understand type systems and the fact that emoji and characters are different types.

<comment><USER9> > ...and significantly hurt the handling of foreign language characters.

How so? Emojis are far simpler than much of Unicode used for various languages (no combining marks or complicated grapheme rules). If your program doesn't shred code points outside the BMP, then it handles Emojis just fine.

> What annoys me is that the standard for emoji has been mashed into the > standard for characters as if they are the same thing.

So you think it would be better to create an alternative encoding to UTF-8/16/32 that allows mixing Unicode codepoints and Emoji codepoints, then get all platforms to support it, then also completely restructure all the text-shaping libraries which assume everything is a Unicode codepoint. Instead of focusing on things like better RTL support, while just assigning some codepoints to emoji which require no big changes in encoding or display.

> Mashing the two standards together means that people who only want to > support characters or only want to support emoji have no guidelines for > doing so.

They have the same guidelines that every font creator has been using for the entirety of the existence of Unicode; only provide glyphs for the code points you expect to be used, provide a nice box character for the rest. Most fonts have a few thousand glyphs, while Unicode has assigned hundreds of thousands of code points. Emoji are just a drop in that ocean.

> If you don't understand why this is bad, it's probably because you don't > understand type systems and the fact that emoji and characters are different > types.

Mathematical symbols and characters are "different types". However, the excellent Unicode support for math symbols has been instrumental in screenreader support for mathematical expressions, _since they are often next to regular text_. And as far as distinguishing between different kinds of characters, that's what the whole concept of formally defined Unicode character properties[1] is for.

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

<comment><USER10> > How so? Emojis are far simpler than much of Unicode used for various > languages (no combining marks or complicated grapheme rules). If your > program doesn't shred code points outside the BMP, then it handles Emojis > just fine.

Hell, IME Emoji much improved awareness of and support for astral characters (MySQL only finally added support for those soon-ish after emoji officially got added to unicode), and I expect the same for non-atomic grapheme clusters since features using these (flags, skin tones & groups) got added to recent Unicode emoji. The fundamentally anglo-centric developer world had limited intrinsic reason to care for either before emoji were added.

Next step, RTL.

</comment></comment></comment></comment></comment><comment><USER11> Some (biased) background on emoji in unicode: [https://www.youtube.com/watch?v=tITwM5GDIAI](https://www.youtube.com/watch?v=tITwM5GDIAI)

</comment><comment><USER11> Could someone please explain when it would be preferable to send a 72x72 PNG to the Unicode standards body, wait for them to accept it into their standard, wait for applications/OSs/etc. to implement these new standards, and _then_ send a message using the new glyph; compared to just embedding the 72x72 PNG in a message _right now_ ; as a data URI, a regular URL with a pre-populated local cache, whatever?

<comment><USER12> Because afterward you only need to send about 4 bytes, instead of multiple KB, because the other end already has the image and just needs the serial?

<comment><USER11> URIs are a perfectly valid "serial", and only need a few bytes (e.g. see URL shorteners). Receivers can look up images in a cache before trying to download them, and caches can be pre-populated with thousands of popular images, by OS vendors, application providers, users, etc.

</comment></comment></comment><comment><USER13> I wonder why no Japanese or Korean phone companies tried to make a standards body for pictograms like this before.

<comment><USER14> In 90s, emojis were not interchangeable. Mobile careers were adding new emojis to their proprietary character sets to differentiate their services from others. Standardization would ruin that marketing efforts.

</comment></comment><comment><USER15> The biggest problem with more emoji is that it makes the task of choosing one more tedious.

<comment><USER3> Good point. One thing that stops me from using them is that its not clear what some of them are and they're not searchable. I wish IME's allowed a fuzzy search with multiple keywords for each emoji, as well as long- pressing/hovering on them to get their descriptions.</comment></comment>


The Invented History of 'The Factory Model of Education' - <AUTHOR> http://hackeducation.com/2015/04/25/factory-model/ <comment><USER2> The "history of Education" goes as far as two 2500 years ago, when Socrates created the Academy, or Confucius created the equivalent in China, and other people in India.

In between we have lots of things, like the creation of the Library of Alexandria, personal master disciple, the creation of guilds, Universities...

There were very different models for learning.

The factory model did exist long long time ago. Romans teached legionaries this way 2000 years ago.

The main difference today is that today this model is the only model in lots of countries. If I want to teach(I am engineer and studied economics too) my children in Germany on my own(homeschooling) I go to jail. That is the Prussian model, forcing the same model onto everybody without alternatives.

<comment><USER3>
        If I want to teach [...] my children in Germany on my own(homeschooling) I go to jail.

As far as I understand the legal situation in Germany (please correct me if I'm wroing), you are free to set up your own school with qualified teachers and teach your children. The law exist to ensure that all those who teach children posses teaching qualifications.

</comment></comment><comment><USER4> The argument against "factory education" was against compulsory state-run education with a one-size-fits-all curriculum and overarching social goals. It was criticized because it was intended as a pipeline to push Americans into a very narrow social and economic model of American citizenship beneficial to the state and industry. So it is not so much turning education into a factory, but integrating education as a high quality tool in the factory that is the state. Industrialism needed workers, America had a bunch of farmers.

I won't claim to be an expert on this or even correct, but I tried to read what Dewey was trying to do in his own words. It didn't come across quite as menacing as Gatto made it out to be, but I believe he got the intention right. I agree with the author that the term has been misused, you can't make sense out of the way Khan uses the term.

</comment><comment><USER5> I wouldn't invoke the "factory model" but rather the "prison model" that pg talks about

[http://www.paulgraham.com/nerds.html](http://www.paulgraham.com/nerds.html)

Here is what I would recommend:

[http://magarshak.com/blog/?p=158](http://magarshak.com/blog/?p=158)

<comment><USER6> "School is a Prison", 45 min interview with Prof Peter Gray, Boston College, author of "Free to Learn" about democratic free schools and non-compulsory education. [https://www.youtube.com/watch?v=d_DJAZ- ByV0](https://www.youtube.com/watch?v=d_DJAZ-ByV0)

</comment></comment><comment> vezzy-fnord The article seems to be debunking a straw man.

I don't know about Khan's claims, but having read Gatto, he very much openly acknowledges that it took well until the first half of the twentieth century before the present compulsory schooling system we know today took root, and that the beginnings were relatively decentralized and bound on the state level.

<comment><USER7> Indeed; the idea that there was some intentional shadowy conspiracy to generate docile adults to meet the demand of the state is quite far-fetched. But the idea that the growing demands of the state gradually shaped the educational system seems nearly unavoidable.

Because of the human need for narrative, people always try to frame these stories in terms of heroes or villains and the actions they took. The truth is this kind of thing happens through a kind of emergent behaviour; no one person makes these choices, but they're forced into them through the structure and needs of the organizations they're a part of. On the one hand this seems more mundane and dull, but on the other hand in a way it's more sinister since a human can be stopped or reasoned with, but an organization usually cannot.

</comment></comment><comment><USER8> Of course there will be variation, and even outliers, when you compare data from a large geographic area over a long time. But just because there is variation doesn't mean that the generalization is wrong. Generalizations are just that: statements about a larger phenomenon that necessarily ignores internal variation.

I don't think Sal Khan ever insinuated that there has never been a single non- factory model educational system in the West in the last ~150 years. If that's the proposition you're trying to refute, you're arguing against a straw man.

What I think Sal Khan was getting at -- and what I think the other authors mentioned in the article are trying to say -- is that the general social milieu from which the modern educational system arose was biased toward excessive standardization, categorization, and homogenization. After all, that was the world view of industrial modernism. Standardize everything, bin things into neat categories, and throw away products that don't meet the spec.

When you've got an entire generation obsessed with that modernist hammer, everything looks like a nail, including education. No wonder modern schools (and prisons, as another commenter mentioned) ended up with uncanny similarities to modern factories. It needn't have been intended. It needn't have been a conspiracy. It needn't have been imposed from the top down. It could have just emerged spontaneously all over the place. That's how trends and world views work.

Nowadays, commerce is king. Everyone is obsessed with ROI, everyone wants to hire an MBA, everything is explained in terms of supply and demand, and every relationship looks like that between a buyer and seller. Just like the industrial mindset gave birth to last century's schools, this new mindset is shaping today's schools. Schools, and universities in particular, are becoming more and more like a business. Students and parents are being treated as customers, and are being ripped off just like Comcast customers. But the commercial mindset hasn't replaced the industrial mindset; both are alive and well, interacting with each other in very dangerous ways.

Just because there are exceptions doesn't mean that this general trend doesn't exist. In fact, it would be very strange if a society's mindset didn't influence the design of its educational institutions. And if we're ever going to start thinking about the big picture and come up with long-term solutions, somebody needs to raise awareness about general trends, even at the risk of ignoring variation.

<comment><USER9> >Nowadays, commerce is king. Everyone is obsessed with ROI, everyone wants to hire an MBA, everything is explained in terms of supply and demand, and every relationship looks like that between a buyer and seller.

It is very important to remember this isn't akin to a natural process such as weather nor to cultural evolution. The decisions made over the past 20 years to mischaracterize education as a commercial process are, above all, political decisions and increasingly proven to be the ideological line of hyper-wealthy persons who are actively defunding and destroying public education under the rubric of "reform".

</comment></comment><comment><USER10> Good to read a counterpoint to these claims about the "Prussian factory model"! I recall being disappointed reading Gatto and Khan, because there's too much asserted and too little analyzed/cited. (Or perhaps I missed it...)

</comment><comment><USER11> Can anyone recommend a good resource for understanding the history of education, both worldwide and in the United States? Goals, philosophies, implementations, outcomes?

<comment><USER11> Kind of disappointed that nobody's able or willing to provide one :-(</comment></comment>


What's Wrong with the iOS 7 Icons? - <AUTHOR> http://ianstormtaylor.com/whats-wrong-with-the-ios-7-icons/ <comment><USER2> After using iOS 7 for a few days I can say that the icons are the least of our worries.

Using ONLY color to differentiate clickable things is a travesty for colorblind people. I'm colorblind and iOS 7 is proving really frustrating.

The weather app, for example, is almost impossible for me to read.

<comment><USER3> Do the accessibility options help?

<comment><USER4> They do. People just wants to bitch and whine about iOS 7. :)

<comment> shock-value Maybe this is just bitching and whining, but as far as I am concerned iOS 7 is another "Apple Maps"-style upgrade disaster if they don't make a lot of UI changes. I really think people are going to hate it. I know it's just a beta, but I had the same hopes that Apple Maps would be improved during its beta (and commented to people that Apple was going to have big problems if it didn't) and look where that went.

It's a shame too because they added a lot of good things like the new notifications layout, Siri improvements, control pane slide-out, etc.

<comment><USER5> Apple Maps was a regression in functionality. The design of the home screen is a subjective opinion. Whether good or bad, it seems to have created more self proclaimed graphic designers and experts on the Internet than anything else in recent memory.

<comment> shock-value In my opinion this UI update is a regression in functionality in terms of the icons being harder to discern and the text being harder to read (and significantly so). And since this affects the entire OS (not just one app) I think the blowback could be just as high even if it isn't as bad as maps was. Hopefully they'll make changes though and I'll eat my words.

<comment><USER5> Making things more difficult to read is a valid argument for regression. Even if it is for some people (where previously it wasn't) that should be pointed out and complained about (as you are rightly doing ).

The whole brouhaha in the armchair designer community over icons, colors & design is simply nuts though. "Designers" are coming out of the woodwork in droves to prove that they can do better in 1 hour what Johny Ives & Co took many months to do.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> I like that the "Music" icon has perfectly chosen colors... coincidentally, those are nearly the exact same ones used in the Zune branding and app: [http://i.imgur.com/Mzw6bta.png](http://i.imgur.com/Mzw6bta.png)

Really, though, I do not like almost any of the new icons. I love the flat thing, and I reskinned my Android phone with the minimal MIUI icon set (quite well done), but Apple just did it wrong.

<comment><USER7> Here we go again. Not to be cynical, but that's just unfair. Apple has plenty of time improve their icons before iOS 7 releases to the public, assuming they acknowledge it wasn't a brilliant idea to outsource design to the local children's art school.

<comment><USER8> It's absolutely not unfair. Even to the beta Apple has invested a ton of time putting their UI designs front and center. If they didn't want them to be the travesty they are now they would have made them differently.

It's hard to believe that there's any other reason the icons look this way other than through intention. And then the question becomes about Apple's taste level.

<comment><USER9> "It's hard to believe that there's any other reason the icons look this way other than through intention."

Perhaps this will enlighten you.

[http://www.fastcodesign.com/1672819/who-designed- ios-7-s-ico...](http://www.fastcodesign.com/1672819/who-designed- ios-7-s-icons-apple-s-marketing-department)

<comment><USER5> >Perhaps this will enlighten you

So, something on a blog on the internet is now "enlightenment" ?

*edit. I found this link quoted in other places in this thread. Turns out all of them were you. What makes you believe that information there is fact ?

<comment><USER9> You said you couldn't see how the result could be unintended. I showed you how it could be unintended. You replied with sarcasm. So now I'm assuming you're not seriously interested in the answer to your second question. But I could be wrong, so here you go:

1\. Experience: I've worked on design teams that did not suffer from incoherent, committee driven management, and others that did. This attuned me to the signature patterns that both approaches inevitably imprint on their products.

2\. Direct Observation: Like everyone else, I can see the work for myself. If you know what to look for, it's not hard to recognize the tell-tale signs of a badly directed, poorly managed process.

3\. Judgement: Being familiar with the work and reputation of the publication, I consider them a reasonably reliable source of sound reporting. The fact that their account dovetails with my own experience lends credence to the story. I can also see that that account they're providing could be easily falsified if it were untrue (making this an unlikely place to stretch the truth).

4\. General Knowledge: I am aware that Ive is new to this kind of design, and relatively inexperienced. I am also aware that having good taste isn't enough. Only the combination of good taste and long practice will produce desirable results. In his defense, he's having to develop expertise quickly, under a spotlight. I sympathise with his struggles. At the same time, knowing that the company is going through a major transition means that missteps like these aren't unexpected. Indeed, it would be astonishing if they nailed it on the first try.

</comment></comment></comment></comment></comment></comment><comment><USER10> As an Android user, I find the whole brouhaha over the new IOS look rather ridiculous - because I have _no idea_ what Android stock icons even look like.

I've been using a shell for many years (doesn't matter which - can't even recall name now) which comes with its own icons. So to me this sounds as childish (ie Apple treating its customers as children who can't be trusted with picking their own icons) - as if my laptop had a set of preconfigured directory names and I could not rename them myself.

It's rather telling that all these people take the concept that icons on their pocket computer are G-d given and immutable, like a law of nature and that the most they can do is whine if they don't like them.

<comment><USER11> I love the variety of icons on Android, especially how they use different shapes. "Forcing" icons to always be rounded squares seems so silly to me.

Random examples:

[https://lh5.ggpht.com/mKx3_D9fhszXZ3A-03zI5qsKi4yiecWo8i1jm_...](https://lh5.ggpht.com/mKx3_D9fhszXZ3A-03zI5qsKi4yiecWo8i1jm_HE0SBXOhd-7DR6KWqSJNYdLNRpxYk=w124)

[https://lh5.ggpht.com/nENqr4mCerIwGYtbn6lAhaWSE7P1itMRp_A5yL...](https://lh5.ggpht.com/nENqr4mCerIwGYtbn6lAhaWSE7P1itMRp_A5yLqoTwqz6p3Jl56dOo1zfWVJ0D1WI --V=w78-h78)

[https://lh6.ggpht.com/T7nxYYhpmGDzg5Ckwu3L7Jb4HTHyKdGoz0n2u1...](https://lh6.ggpht.com/T7nxYYhpmGDzg5Ckwu3L7Jb4HTHyKdGoz0n2u1RJmghUw7nrwNSXCTNKIDQvqtW3Uv8=w78-h78)

[https://lh6.ggpht.com/os72icmFlDtbxpYbZCP-v6kOereSLGDmlKsBl1...](https://lh6.ggpht.com/os72icmFlDtbxpYbZCP-v6kOereSLGDmlKsBl1ISTPdgbcpoc4rSIuXDuoDECvgcvoFJ=w78-h78)

[https://lh6.ggpht.com/H_b-56TTd9bE- TOx13irsriNiqHCHijeaEcSaf...](https://lh6.ggpht.com/H_b-56TTd9bE- TOx13irsriNiqHCHijeaEcSafuTDQV9kE5DdWDZVGmIGEl0FuuSbA=w78-h78)

<comment><USER12> Wow. I'm sure there are examples that might prove your point, but those are some of ugliest icons I've ever seen. The second one looks like it's straight from Windows 3.1.

<comment><USER10> What's important is that HE likes them. You don't have to agree :)

<comment><USER13> Yes, but it runs counter to his own implication that more freedom -> higher quality, which is what he was pointing out.

<comment><USER11> I did not mean to imply that. But even if I did, quality is a subjective measure.

</comment></comment></comment></comment></comment></comment><comment><USER14> They chose grey because the icons will be slightly semi-transparent in the final build and will take on color from your background. In that sense, it's a pretty brilliant design.

The change to the camera icon makes a lot of sense if you've ever watched a first-time phone user looking for the Camera app.

Differences between music, video and photos again seems to emphasize their very different bodies of users. They actually do very different things because they service very different needs—people who buy music in iTunes or pirate it (as opposed to using Pandora, etc.), people who buy movies in iTunes or pirate them (as opposed to using HBO Go), and people who want to show their photos to someone. None of these use cases require personality and it seems like putting personality in a software icon meant to be universally understood is a bad idea.

</comment><comment><USER15> I can't decide which one is worse, Safari or Settings.

Apple's always had quality control issues, but when the main theme of the keynote is iOS 7's new look, and the first thing they show you are those icons, it makes me think that they are having serious execution issues.

Even if they improve them later (one can hope), it's a lost chance to wow us, which has always been Apple's thing and the whole reason for the keynote.

<comment><USER16> There's nobody at the top furiously rattling the cage until all the designs are up to par. Jobs of course reviewed every aesthetic, and was more than willing to live by that sword and die by that sword (if it wasn't good enough, it shouldn't ship; he made a few mistakes on that front, but it was a core theme non-the-less).

</comment></comment><comment><USER17> Personally, I've never liked the Camera and Safari icons -- somehow my brain never associated "round thingie" with "taking a picture" and "compass" with "reading web pages" (remember the old Netscape light-tower? I've always thought that was _so weird_ ). In that sense, I kinda like the new Camera more than the old one (although Ian's suggestion to make it dynamic is great).

I agree 100000% on the Videos icon. It's a relic: when every Mac user was a pro video-maker using video-editing tools every day, I guess it made sense to keep it consistent. I don't come from that background, so that icon never felt natural; I agree that a "Play button" would be so much better.

The idea of making icons dynamic is great and would go some way towards compensating for the lack of real-time home-screen apps. Newsstand proves that it can be done, and Apple should probably use it a bit more, battery be damned. There is a risk in opening such an API to third parties, that developers will start _blinkifying_ their icons to jump at you, transforming one's home screen in a giant flashy billboard; but it would certainly be a nice touch for homegrown system icons.

<comment><USER18> I completely disagree on the dynamic icons. When I want to play some music, I know I'm looking for a two-eighth-note icon on a pink-orange background, and I don't want that background to change to black cause I listened to Dark Side last.

<comment><USER17> One of the aims of dynamic icons is to avoid having to actually tap on them, if the required information is simple enough to be displayable in the icon itself (e.g. weather, stock). Apps that want to encourage launch could modify just half the icon, or a quarter, or none.

<comment><USER19> After reading the article, the last thing I wanted was dynamic icons. But your take on it makes sense.

I don't want 'photos' to show me the latest photo I took as that could have been days ago and now finding the photos app is really difficult.

But if just part of the icon changed to indicate something, like your stock folio position (without the red/green background idea) then it works both ways. The icon always looks generally the same - it's a graph - but it changes to indicate some data point that may save opening the app.

That said, how would the icons update if you don't open the app. Each app's developer would either have to send out an icon update notification or would have to provide some level of running the app on a regular basis to regenerate the icon.

<comment><USER17> I guess apps would have to provide a static function that returns an updated icon, which iOS would call every X minutes/hours. I don't think it'd be hard for developers, it's Apple who would have to do most of the job.

</comment></comment></comment></comment></comment><comment><USER20> Yeah, I pretty much agree with everything in here. And I also imagine that the icons (and general new "flat" look) will get refined over the next months/years.

Also, though many of the icons are a bit odd (and some, like the calculator and camera, frankly suck), upon use, iOS 7 really does feel like a natural improvement upon past version of iOS and not some attempt to make iOS more like Windows Mobile or Android.

I'm excited that Apple's shaken things up a bit visually. It'll force app makers (self included) to think in fresh ways about their interfaces. Which will lead to more novelty, innovation, and (hopefully) better products.

<comment><USER21> Some people are upset about the look of iOS, Android and WP converging, but I'm quite happy about it. At the moment many apps get written to fit the iOS style and when they are ported over to Android they look horrible.

I think now many cross platform apps are going to start looking a lot better.

<comment><USER22> add nyan cat's rainbow style to wp/android app and you get a iOS 7 app

</comment></comment></comment><comment><USER23> "This new iteration of iOS was supposed to save us from the unnecessary skeuomorphism that Jobs and Forstall loved."

I don't understand. What is wrong with skeuomorphism? I am not a designer or anything, but I liked the old iOS 6 UI.

<comment><USER24> It's inconsistent with the entire OS. Having 7 or 8 apps look completely different is inconsistent and jarring when you shift from app to app. And the linen was just plain fugly.

We live in an age where flatter, more consistent UI designs are a necessity. Not flat to the point where you can't tell what the hell is going on, like Metro, but minimalist with visual cues to let you know what is happening, which is similar to Google's interface for Android and their web services.

We don't need to be reminded that games used to be played in casinos. We don't need to be reminded of how a ledger notepad with leather binding looks. We don't need to be reminded of how a bookshelf looks.

Why?

 _Because we don 't use bookshelfs, game tables, or ledger pads on our phones._

We use digital representations of games, text, and input devices. The need to have an analog analogue is gone. And apart from the horrid icons in iOS 7, it's a step forward in every way. Except, of course, for the icons.

Did I mention the icons were awful?

<comment><USER25> > We live in an age where flatter, more consistent UI designs are a necessity.

There's probably some specific scope of "necessity" which would make this something other than fairly extreme hyperbole, but its certainly not one which it is obvious is the intended scope of this posting.

Now, I would agree that I _like_ fairly flat design, and I actively _dislike_ skeuomorphism for the sake of skeuomorphism, since it tends to add visual clutter that doesn't contribute to (and often impairs) usability.

But that's a preference (there are people that like baroque UIs, and that's not objectively wrong), not a _necessity_.

</comment></comment></comment><comment><USER26> oddly, I am in almost complete disagreement with this article. The only point of agreement is I hate the camera icon (the full camera looks clunky. they should just use a diaphram shutter.) The other icon I hate is the new music icon. The music notes look wrong. The note heads aren't the correct oval shape, but more of a blobish rectangle. iOS6 wasn't great either because the beam was too thick, and the noteheads were too horizontal (the left of the notehead should be a bit lower than the right), but for some reason it just wasn't that noticeable.

<comment><USER27> Had to scroll down a long way to find this comment, but I agree with you that these suggested alternatives are not necessarily improvements.

The "poor color choice" Calculator, for example, his alternative is worse than iOS 7 which is worse than iOS 6. Dark keys with a colored totals key are recognizable as a calculator at a glance. No idea what his suggested alternative is smoking.

My main takeaway from this article, like the many other "here's what they should have done" write-ups is: "This is harder than it looks."

</comment></comment><comment><USER28> A whole article on iOS 7 (beta) icons without mentioning the much maligned Safari one?

</comment><comment><USER29> Agreed. I can't shake the feeling that, while a UI / UX refresh was absolutely necessary, this lack of polish and consistency would have never made the light of day with Jobs at the helm.

And the gloss on the Game Center icon is just downright bizarre!

</comment><comment><USER16> "Even designing just one simple, clean, good-looking icon is not an easy task. Multiply that by 25 and there was a ton of work to do in the 8 months since Forstall was booted, which led to certain things being overlooked"

Well that's dramatizing more than just a little bit. Apple has $143 billion in the bank, a nearly unlimited budget, a design obsession, and they had over half a year. Clearly the time it takes to create a nice icon was not the problem (regardless of if it was 25 icons or 250 icons).

</comment><comment><USER30> "Drawing from the fashion world, there was a period of time where you'd find hipsters around town wearing neon clothing, but they've long since passed neon onto the bros. Never take fashion advice from the bros."

Man, this guy sounds like a real expert.

<comment><USER6> Even if he were literally a baby, the only thing that would matter is whether the points he makes are sound.

</comment></comment><comment><USER31> someone saw the "ios in the car" icon? [http://cdn.iflowreader.com/wp- content/uploads/2013/06/apples...](http://cdn.iflowreader.com/wp- content/uploads/2013/06/apples-ios-in-the-car-app_100430079_l.jpg) To me, this is the most ugly icon I have ever seen. ever!

<comment><AUTHOR> Hahaha pretty much agreed, it was right next to the Multitasking and Siri icons on their promotion page. That's what happens when you combine the "straight from the tube" green with pure black and tack on a purely resized Siri icon.

</comment></comment><comment><USER32> Can some kind graphic designer or art historian pinpoint what the art style (including the colour scheme) of the new app icons is based on? (Most obviously Photos, Camera, Clock, Game Center and Newsstand, but you can add Music and iTunes and more subtly Maps too.) I know that it's a (probably) mid- late '60s colour-printing, cartoon-art or children's-book style (based on cut- outs or stencils?) but I can't identify it any more precisely than that.

(I'm surprised I haven't seen anyone say anything about this yet. I thought designers were attuned to and familiar with things like this? It's weird to see professionals not considering any influences on the iPhone's new style apart from other smartphone OSes and skins from the past 5 years.)

Regarding the OP, Camera is fairly consistent with the other icons as it's based on the same flavour of retro. The same is true of Game Center. You can see how the colours imitate the dodgy colour values from colour printing about the '60s.

</comment><comment><USER9> Some people may think "Wow, this travesty looks like design by committee". Others may say "No, no, this looks like design by multiple, competing committees with no clear direction or coordination."

As it turns out, the latter camp is correct.

[http://www.fastcodesign.com/1672819/who-designed- ios-7-s-ico...](http://www.fastcodesign.com/1672819/who-designed- ios-7-s-icons-apple-s-marketing-department)

<comment><USER33> Did you even read the article you linked to ?

Allegedly, the branding/marketing teams first designed the icons and the other teams coordinated their designs based on those icons.

I don't know if you've actually used iOS7 but there is quite clearly a direction. It's a little unfocused in places but it's clear.

<comment><USER9> Of course I read it. And the key passage (to my mind) was this one:

"We've also been hearing that there wasn't a whole lot of communication between the various teams behind say, Mail and Safari. And that there were multiple teams inside each group that were competing with various designs, leading to what some see as inconsistencies in icon design."

</comment></comment></comment><comment><USER34> For anyone who isn't aware, you should read Vic Gundotra's story about Jobs insane level of perfectionism regarding the original iPhone icons:

[https://plus.google.com/+VicGundotra/posts/gcSStkKxXTw](https://plus.google.com/+VicGundotra/posts/gcSStkKxXTw)

To me, at least, the original post is all about how that level of perfectionism is no longer being enforced at Apple.

</comment><comment><USER35> I've spent a bit of time with the icons and I like them. iOS is just so different now that it takes a bit to settle in. I think many people judge too quickly sometimes without using it.

</comment><comment><USER36> If this is really an issue, the large, talented group of designers at Apple will fix it before GM.

They are employed by probably the most design-sensitive company around precisely because they're at the top of their game – they won't be oblivious to blundering inconsistencies.

If it's not, it will be forgotten about within days of the OS's release by nearly all users.

<comment><USER37> This five thousand times. This is _precisely_ my sentiment on the matter.

I'm not such a fanboy as to believe Apple's infallible, but I do firmly believe they'll know when they've screwed up. You can bet there are plenty of people running around Apple gauging the public reaction to iOS7. If they think it's really a major pain point for the public, they'll do something about it. Otherwise, it won't really matter.

Remember when the iPad came out and thought it was a rushed joke with an awful name?

<comment><USER38> Counterpoint: one thing that history's greatest designers have most certainly _not_ done is pay a lot of attention to the public's immediate reaction.

It will make them look worse, in a way, if we see them making a lot of concessions to popular outrage. The core look and feel of the UI was something they really should have taken the time to get right the first time, before going public. It's hard to save face in this business.

</comment></comment></comment><comment><USER39> Ian has nailed down what's exactly wrong with iOS 7's icons. But misses a very important point - The redesign has largely been pointless.

Windows Phone chose "Flat design" and ran with it, the "Live Tile" was invented - More interactive, informative minimal icons. Also it brought over some beautiful uniformity, a design language that actually worked. iOS 7 does nothing of that sort, and IMO is a redesign for the sake of a redesign.

Infact, it goes ahead and destroys everything that was great about its previous iterations - Accessible, Simple, Functional, etc.

To say the least, Apple Design[1] has failed colossally, they could and should learn a lot from Microsoft and Google designers.

[1] - Not the same as Apple Designers, since I'm damn well sure that no Interface designer worth his salt would ever allow iOS 7 to happen. I'm sure past design leads on iOS and even Forstall are having a chuckle over this mess.

<comment><USER40> I get the strong feeling that, as you say, its a redesign for the sake of redesign..... but I think, more to it than that, is Ive's distaste for anything Forestall, and this is his crusade to remove any last vestige of "him" from iOS...

Thats just my subjective opinion, but it comes across strongly from everything I've read and heard..... I don't really care one way or the other, but I hope for their sake they can improve what they've shown and pull off something insanely great (though I'm not holding my breath).

<comment><USER39> Once you start getting vengeful there's no going back. And if I must say so myself, Apple has failed at Flat icon design - Heck, even the DesignModo guys had better icons than the ones Apple put out.

Apple seems to be losing its edge. I'd be looking keenly at how the next version of Android shapes up, and if HTC continues its awesome hardware design, there's no reason not to get their next phone.

</comment></comment></comment><comment><USER41> I think what's wrong with the icons can be summed up by the following:

• Inconsistency

• Unnecessary complexity

I don't have much of a problem with the colours. The icons are only half the problem though. Both the text and icons do not stand out enough against the background, and the text and icons seem too close together. The homescreen just looks half finished.

<comment><USER12> > The homescreen just looks half finished.

Shocking, right? Things looks half finished in a pre-release beta. What were they thinking?

<comment><USER42> By the looks of the icons: I like candy.

</comment></comment></comment><comment><USER43> The thing I realized after installing iOS7 was how few of the stock icons still resided on my home screen. Sure, some of the required ones need work - but when mixed with a well-chosen background, and mixed in with the other app icons from my collection - the overall aesthetic isn't as jarring.

</comment><comment><USER44> I agree with this:

 _I freaked out in the beginning because I thought the crummy icons were representative of Apple screwing up the entire new design direction for iOS. But now that I've seen the rest of iOS, I'm not that worried._

After a couple days with the beta, it's pretty obvious that Apple didn't, like, FIRE their UI designers or anything. There are a few strange choices, but most of the new OS feels like an improvement when you use it.

</comment><comment><USER45> Why is that I disagree with every article from Ian Storm Taylor? Media Queries are not hacks and the new IOS7 looks slick to me.

Real world characteristics were used for a long time as a crutch. It helped the non tech savvy connect to technology, because they were utilizing things they recognized from the real world.

Fast forward and now people don't need this crutch. Flat design and minimalism are proof of that. Don't be scared of change.

<comment><AUTHOR> Not sure, although it seems like you didn't read the article. Also you don't disagree with _every_ article of mine because I argued exactly what you are arguing in this comment a couple years back: [http://ianstormtaylor.com/skeumorphism-on-the- ipad/](http://ianstormtaylor.com/skeumorphism-on-the-ipad/)

<comment><USER45> hahaha, I'm probably am still upset about the media queries.

<comment><USER45> ok, so I read the article and I see what you are saying now. Knee jerk reaction on my part. I guess they should have removed more of the real world references than they did.

<comment><AUTHOR> :p no worries. It's true though that some of the real world icons are still necessary for the quick mental connection with the apps purpose.

</comment></comment></comment></comment></comment><comment><USER46> People are already criticizing alpha-quality software icons. These are the current ones, and many of them are still going to change: [http://9to5mac.com/2013/06/14/apple-website-mistake- reveals-...](http://9to5mac.com/2013/06/14/apple-website-mistake-reveals- alternate-ios-7-icons-with-tweaks-to-weather-passbook-and-more/)

</comment><comment><USER47> It seems they can't go full non-skeuomorphic without looking like a WP rip- off? Finding new symbols for abstract concepts is even harder though, some will stay until we have brain-computer interfaces that will give us new senses.

<comment><USER48> Microsoft didn't invent the flat rectangle. What about the new iOS looks specifically like Windows Phone 8?

<comment><USER25> > Microsoft didn't invent the flat rectangle.

They did, however, create a set of design principles for user interfaces for computer applications (inspired in large part by particular pre-computing graphic design styles, but also including particular principles for providing affordances and feedback for interactive applications within that graphic style.)

<comment><USER48> Yeah, and iOS isn't following most of them. [http://msdn.microsoft.com/en- US/library/windowsphone/design/...](http://msdn.microsoft.com/en- US/library/windowsphone/design/hh202915%28v=vs.105%29.aspx) I didn't look at every single one, but having used Windows Phone 7&8 for over a year, and scrutinized the released slides from iOS 7, I don't see any place where they are especially similar.

<comment><USER25> > Yeah, and iOS isn't following most of them.

I didn't mean to suggest that it was, I was trying to suggest a better focus for discussions of whether iOS design was following Microsoft in any substantial way than either "flat rectangles", or even "what bits seem generally similar to Win 8".

</comment></comment></comment></comment></comment><comment><USER49> I think the bikeshed should be blue, and have less of a gradient along the roof.

</comment><comment><USER50> I will just add a stolen high ranked comment from one of the collective blogs.

iOS 7 Jelly Bean

</comment><comment><USER22> iOS 7 is geo bootstrap for mobile [http://divshot.github.io/geo- bootstrap/](http://divshot.github.io/geo-bootstrap/)

</comment><comment><USER51> I quite like the icons.

</comment><comment><USER52> For some reasons, the icons look much better individually than together on the Home Screen. I guess this proves the "Design by committee" theory.

<comment><USER9> Design by multiple, inexperienced, poorly coordinated committees, to be precise.

[http://www.fastcodesign.com/1672819/who-designed- ios-7-s-ico...](http://www.fastcodesign.com/1672819/who-designed- ios-7-s-icons-apple-s-marketing-department)

</comment></comment><comment><USER53> This is presented as a an objective take, yet it is entirely subjective subject matter. While I do take issue with the inconsistency of the new iOS icon design (gradients going each direction, residual depths and multi- generational design philosophies mixed together), in this case the proposed "better" icons simply aren't better...in my opinion....because it's subjective.

And then there's this-

 _Just like you don't want to use pure black, you also never want to use "straight from the tube" colors. They come off as tacky and cheap._

(followed by some thing about bros and neon)

All colors are "straight from the tube" in this medium. There is no additional complexity or uniqueness with any variation of reds, greens and blues. Applying what can only be considered colour hipsterism diminishes the message enormously.

Maybe the colors simply aren't right among their peers, or for the purpose, but the notion that they're simply too easy or "bro-ish" is silly.

<comment><USER54> I think you're misunderstanding the part about pure colors. I am not a designer, but I think it's that you won't really find pure colors around in the real world. Greys will always have some tint, blueish or yellowish perhaps. People will consider one colder and the other warm. If you use pure grey, the design will look dull, the same is true with other colours. The same thing in music, if you only use simple non-embelished chords, your music will sound amateurish, dull and un-inspired.

<comment><USER53> Their example replaced gray with pure white, and I'd guess that the former is far more prevalent in the world than the latter. They also complain about colors being too saturated (even though the colors they talk about range from 60 - 80% saturated, and are in no way "pure", ignoring that such a notion is an artificial one to begin with).

But I'm not sure why prevalence in the real world is relevant at all. We're not talking about some Samsung claim of being inspired by nature, and skeudomorphs are not the goal. I don't think natural prevalence is relevant at all.

So white is "better" than gray. Less saturated is "better" than more saturated. At least in the author's opinion. Narrative beyond that (such as the notion that some colors are too easy) is just trying to build some structural justification for those notions.

<comment><USER54> Yes, replaced with white because it enhances contrast, to liven it up a bit (also the white portion is somewhat an inversion of the orange buttons). The overly saturated colors look too bright and intensive, they overpower everything else. It's just not pleasant to the eye.

</comment></comment></comment></comment><comment><USER55> Did anyone notice where he (effectively) asked for Android widgets? Good luck.</comment>


Silicon Valley elite to social media hate: The radicalization that led to Gab - <AUTHOR> https://www.washingtonpost.com/technology/2018/10/31/silicon-valley-elite-social-media-hate-radicalization-that-led-gab/ <comment><AUTHOR> I didn't know that Andrew Torba (Gab founder) had been in YC recently. Seems he didn't feel like he fit in and maybe lacked the ability to deal with his feelings maturely.

> Torba posted an image on Twitter of comments made by a Latino Y Combinator > member on Facebook, expressing fear for the safety of women and minorities, > and added, "Build the Wall."

</comment><comment><USER2> I agree with Torba's basic position on free speech. I am opposed to the recent developments along the lines of 'some speech should be banned (merely) because it offends.' OTOH, when I tried out Gab a couple years ago, very early on after it started, the fn'ing nazis were so numerous and made me so sick that I quit it very quickly.

I've given up on social media after that one try. (Unless you count HN as social media.)</comment>


Making open source beautiful - <AUTHOR> https://github.com/shimmerproject

<comment><USER2> I remember when ubuntu first came out, it was more beautiful than windows and on par with mac os at the time. FOSS has no problem looking good these days. If only we could keep trendy pseudo-designers from tinkering with the interface (unity, gnome 3).</comment>


Ask HN: Year in Review - <AUTHOR>

With 2008 coming to an end it's important to reflect on what we've accomplished and more importantly, where we are going from here.
There was a post a few days ago about Mibbit's success (http://news.ycombinator.com/item?id=409643) that's a really great example of what a year of hard work can accomplish. One of the comments was that more people should post about their progress and I couldn't agree more.
With that in mind:
- What were you working on a year ago and where are you now? Lessons learned (especially for projects that didn't work out) are especially welcomed.
- Where do you hope you'll be a year from now? <comment><USER2> I was working on a CAD program in OCaml a year ago. It was an interesting exercise on what exactly _is_ state, and what needs state and what state isn't (I'll post the program once I salvage my svn repo off the old HDD).

In short, I found that the most useful definition of state is a set of data that is interrelated or correlated in some way, shape or form, but in actual usage, those pieces of data interact weakly.

In terms of graph theory, if you were to say that we live in a purely functional world, and all functions are bipartite graphs from one set of points to another set of points, then "state" could be defined as those points where the functions involved are _sparse_. Sparse can be defined as:

-most of the vertices involved are untouched in any given function -all of the vertices are involved in one function or another -all of the vertices are related in that you can reach one vertex from another by following the edges of the graph.

Using that definition of state, I found that it was easy to program everything in a purely functional, no-side-effects paradigm, in OCaml, without using the object system.

Furthermore, I found that the stateful bits tended to grow in an annoyingly stateful manner, that is that they added edges to the graph at random (i.e. it was hard to tell ahead of time what depended on what).

The difficulty in using named tuples to store state as such is that then all the bits that need to modify state need to pass it around continuation style, and it can be hard to know ahead of time when you want to be in the stateful context or not.

Haskell beginners (like me) will understand this to be the "do I need to be in the IO monad" problem. Indeed, the problem seems to manifest itself differently in Haskell, but I am not sure of this yet because I'm still learning Haskell.

Some hunches: \- I concluded that statefulness seems to be a function of what you are building for. UI is stateful, but the backend work that supports it is not.

-> Since the web's architecture enforces a client-server model, I argue that the whole statefulness debate is going to become moot for the backend supporting those services. Hybrid languages will be nice, but not really necessary.

\- Cellphones, with their need for a self-contained platform that can operate somewhat independently of whether the connection is operating or not, may benefit from hybrid languages.

<comment><AUTHOR> Thank you for sharing -- unfortunately this thread wasn't as popular as I imagined it would be... lesson learned.</comment></comment>


Show HN: I used AI to write my wife a Valentine's day love letter (in French) - <AUTHOR> https://impactia.org/cyrano <comment><AUTHOR> She said it was amazingly beautiful and would have been really moved by it had it not been written by an AI. I counter-argued that human curation of AI generated text was a perfectly valid expression of love. I lost :-|.

The model generates results that are formatted like love letters with reasonably structured phrases. Verbatim reproduction of training content seems very low. But the sentences are often nonsensical and there's not much context preservation apart from some repetition.

However it does generate some quite interesting original phrases: " Mon âme a moins de conversations que le désir " " C'est une joie bien trop violente pour moi " " vous [êtes] comme l'eau d'un pur amour "

These phrases can be cherry-picked based on the feeling you're trying to convey and used to compose unique letters influenced by the best french writers in history.

Technically: an OpenAI GPT-2 model (117/124M parameters) trained on around 1Gb of french classical litterature was fine-tuned on 300Kb of french love poetry and love songs.

We used GPT-2-Simple [https://github.com/minimaxir/gpt-2-simple](https://github.com/minimaxir/gpt-2-simple) and GPT-2-Cloud-Run [https://github.com/minimaxir/gpt-2-cloud- run](https://github.com/minimaxir/gpt-2-cloud-run) by Max Woolf.

The base french model (GPT2-French) was trained by William Jacques: [https://github.com/aquadzn/gpt2-french](https://github.com/aquadzn/gpt2-french). We used his "romans" model which is trained using text from [https://www.bibebook.com/download](https://www.bibebook.com/download), which looks like a compilation of project Gutenberg french novels. His model is trained over 5000 steps.

Fine-tuning was done using Max Woolf's Colab notebook: [https://colab.research.google.com/drive/1VLG8e7YSEwypxU- noRN...](https://colab.research.google.com/drive/1VLG8e7YSEwypxU- noRNhsv5dW4NfTGce) and lasted only 600 steps (less than 30 minutes). Less steps and the content wasn't great, more and it started to reproduce training content verbatim.

<comment><USER2> I get some very weird ones with the default settings.

"C'est LYTRE, OLYMPE, SPAIN, SPAINE, REDEEME, REDEEMEEME. OURSTES, MUSE, RACE, RACE, RACE. MUSE, LYTRE, LYTRE, SPAINE."

"Quand je te tue, c'est qu''''on te l'ffe."

<comment><AUTHOR> Brutal :-). I think that happens when there's no text suggestion (or "Suggestion de texte"). Could you try putting something in there?

<comment><AUTHOR> I've added a reasonable prompt by default now</comment></comment></comment></comment>


Announcing: Lean Ratings - Measure your abilities - <AUTHOR> http://www.leanratings.com

<comment><USER2> First thought that popped into my head when opening your site and taking it in for a half a second was "They are trying to sell me something". I think it might have been the "Let us guide your career" making me think that, but I immediately closed the window and conciously had to say "give it a chance". After opening back up the window, I like what you are really trying to do, and with enough people it looks like a good way to get constructive feedback.

Cool idea, change the initial impression.

<comment><AUTHOR> Hi, that's great. Thanks for the feedback. We plan on maturing the site and keeping it a free tool for professionals.

</comment></comment><comment><AUTHOR> I welcome all feedback, whether it be technical or conceptual in nature. Please check the site again soon for Company Ratings.

</comment><comment><USER3> Not bad. Could use some more work.</comment>


Ask HN: Long held tech taboos being broken? - <AUTHOR> The following articles question long held beliefs or techniques in the tech industry.  What other taboo topics are worth questioning or investigating?
Object Oriented Programming: https://www.youtube.com/watch?v=QM1iUe6IofM
IPv6 notation: https://www.zerotier.com/blog/?p=724
Virtual Memory: https://matildah.github.io/posts/2016-01-30-unikernel-security.html <comment><USER2> Not sure I can distill it to a single 'taboo', but the SSD revolution is definitely upending a lot of conventional wisdom about storage and how it must be used.

With SSDs:

\- Read and write are radically faster and will get faster still

\- Seek time does not exist

\- Fragmentation is irrelevant

\- Concurrent random access is at least technically possible, at least to far enough regions that they reside on different physical flash units/sections of the chip.

In short: it's slower non-volatile RAM.

The next generation of SSD will be wired into the DRAM bus, presenting itself to the OS not as a "drive" (drive buses will be _gone_ ) but as a non-volatile region of RAM.

That's going to radically change how we do storage in lots of ways and probably upend dozens of "taboos." Here's a few predictions:

\- Obsolescence of read/write based file IO APIs in favor of mmap() for all persistent objects. Everything is "memory." Files are memory, objects are memory, etc. There are just different types of memory: RAM, fast NV, slow NV. (Slow NV would be spinning disk or remote storage.)

\- Obsolescence of byzantine caching schemes... just access stuff.

\- As a side effect of these: obsolescence of database queries/responses. Instead data will just be accessed as variables in your code with no intermediate layers. The productivity gain will be insane.

Also... I am the author of the IPv6 notation post on the ZeroTier blog. I _never_ thought a little gripe with some suggested alternative ideas would get over a million hits in two days. Guess I hit some kind of nerve. :P

Edit: I decided to bang out a followup to the IPv6 post:

[https://www.zerotier.com/blog/?p=774](https://www.zerotier.com/blog/?p=774)

</comment><comment><USER3> When React was released it pushed against some long-held (and still widely held) beliefs about separation of concerns, etc.

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

Years later, it's still a major point of contention, and a bit of a taboo.</comment>


Delivery sharing platform MeshShip is out - <AUTHOR> https://www.meshship.com/ <comment><AUTHOR> Hopefully it can extend to other cities</comment>


Earth Needs Fewer People to Beat the Climate Crisis, Scientists Say - <AUTHOR> https://ca.finance.yahoo.com/news/population-control-critical-part-climate-150004993.html <comment><USER2> A contrasting viewpoint that I agree with is

[https://www.bloomberg.com/opinion/articles/2019-03-14/want-t...](https://www.bloomberg.com/opinion/articles/2019-03-14/want- to-help-fight-climate-change-have-more-children) Want to Help Fight Climate Change? Have More Children Don't feel guilty about bringing children into a warming world. Be hopeful that they can help solve the problem. By Tyler Cowen Bloomberg March 14, 2019, 10:00 AM EDT</comment>