Useful Mental Models (2016) - <AUTHOR> http://www.defmacro.org/2016/12/22/models.html <comment><USER2> It would be good to include some mental models for attitude towards money. Things I have noticed about myself:

No problem paying for something that absolutely needs to be done. E.g. repair a leak in the roof. Replace something.

Don't notice money spent on regular monthly payments. E.g. mortgage.

Don't notice $1000 spent as 50*$20 but more frightening to spend $1000 at once.

Fear of loss when investing is big. It feels like such a leap of faith to invest in anything.

However spending the same money as the investment on a holiday is OK for some reason.

Easier emotionally to not earn $1000 than to earn it and spend it, even though the financial outcome is the same. Has nothing to do with working hard etc.

It's hard to hodl!

<comment><USER3> Earn $1000 = $500 after taxes. :)

<comment><USER4> More like 800, I don't know why people like to exaggerate how much goes to taxes. Median marginal federal tax rate is 15%, which means on average it's less than that.

<comment><USER5> I would be very surprised if the median HN user had a marginal tax rate of 15%. At last year's rates, I would expect something like 36%. Of this, 28% is federal, 1.45% is payroll, and 9.3% is state. These add up to more than 36% because of deductions.

</comment></comment></comment></comment><comment><USER6> Kent Beck has a similarly-themed list of mental models:

[https://www.facebook.com/notes/kent-beck/a-searching-and- fea...](https://www.facebook.com/notes/kent-beck/a-searching-and-fearless- intellectual-inventory/1179765038723025)

I love the idea of cataloging your interests at this high-level of abstraction, and wish it were more common.

<comment><USER7> In case there is any interest, I write a bi-weekly newsletter on mental models, covering not just the concept but how you can apply them to your life: [https://alexpetralia.github.io/newsletters](https://alexpetralia.github.io/newsletters)

</comment></comment><comment><USER8> The founder of DuckDuckGo published a similar list of mental models a little before this one. His list is longer, but there is some overlap between it and this one:

[https://medium.com/@yegg/mental-models-i-find-repeatedly- use...](https://medium.com/@yegg/mental-models-i-find-repeatedly- useful-936f1cc405d)

</comment><comment><USER9> A personal favorite on the subject of mental models: A Lesson on Elementary, Worldly Wisdom As It Relates To Investment Management & Business Charles Munger, USC Business School, 1994

[http://old.ycombinator.com/munger.html](http://old.ycombinator.com/munger.html)

<comment><USER10> As far as I can tell, Munger is the one who really popularized the notion of mental models, so this is a must-read.

For anyone not in the know, Munger is Warren Buffett's business partner. The basic idea is to collect an interdisciplinary checklist of different paradigms for viewing the world, and then run through that checklist and apply each mode of thinking to whatever tough problem you're working through.

HN readers probably already know all of this, but I just love this approach to thinking and wanted to share the wealth :)

</comment></comment><comment><USER10> Great list! Two criticisms:

1\. One mental model that I applied when reading this post on mental models (so meta!) is "audience". As I was reading I thought to myself, "Who is this guy? Why should I trust his mental models? Is he living a life that I want to duplicate?" I mean it with respect and with no malice towards him, he's probably awesome. It's also possible to pick up useful mental models from people that you may not necessarily want to emulate. All I'm pointing out is that it's been really useful for me to consider the motivations and track record of the person giving me advice, before I take that advice to heart.

2\. It's a long list! I wonder if it'd be more fruitful to have a shorter list, but to apply each mental model rigorously, every time. Charlie Munger (the guy who popularized mental models, as far as I can tell) himself is a huge advocate of checklists. I remember him saying something along the lines of "you have to be disciplined about your mental models. You have to apply every one, every time. You can't pick and choose."

</comment><comment><USER11> _Efficient market hypothesis_

That's a kind of ideological way to phrase the situation. It's easier to just describe the "stable market hypothesis"; however things are organized is the way that market structures have stably gone and thus can't easily be changed (whether market are efficient or not). This includes all the points in the parent _plus_ the point that you may have improved on app/gimzo X significantly over the weekend but the market probably still won't jump to your solution easily because of mind-share/network-effect/existing- investment/market-leader's-connection-to-customers/etc.

<comment><USER12> The efficient-market hypothesis is an idea that already has a well-known name. In the article the words are a Wikipedia link.

<comment><USER11> Indeed, I'm pretty familiar with it. It is well known, not universally accepted and a variety of ideology implications go along with it.

</comment></comment></comment><comment><USER13> Most of these are really good, especially productivity and time estimation.

Some I do not agree with (although perhaps the model presented is useful depending on desired outcome).

-Efficient market hypothesis: Markets are not fully efficient and the state of the world is not optimal. Thus opportunities exist. It's our job as engineers (and business people/humanitarians/writers/philosophers etc.) to recognize and correct these inefficiencies. Look for them. Its not easy and thus is called work. Do it anyway.

-Base Rates: People are over-optimistic. They are also bad at finding similar things to compare.

-Emic vs Etic: Dangerous form of mental laziness. While it might be "efficient" it leads to underestimating people and phenomenon, missing out on valuable information and, as the old saying goes, judging books by their covers. Sometimes valuable lessons and opportunities can be found in strange places. And often it isn't even what is said or even "anti-lessons". Better to remain somewhat open and listen without preconception and with consideration as much as possible.

-Bias for Action: Unsure about this one. Looking back I'm not sure if I regret more actions I didn't take or actions I took that were mistakes. I think probably the second has had more negative impact. But I've been a fairly active person, maybe for a less active person it would different. In my case though very often doing nothing would have been the better choice.

-Charitable interpretations: These do make relationships go better. Especially for people who take advantage of others. I'd recommend outward charitable interpretation, inward cynicism. It's usually more accurate for prediction. But cynicism does make a person unpleasant and negative so best not to display it.

-Global Utility: A dangerous precedent. But sometimes yes, indeed needed. Be extremely careful of deals with the devil though and prefer principal, honer and fairness as much as possible. The long term gains are usually greater. The long term effects of short term utility can sometimes be fatal.

-Reasonable Person Principal: Meh "reasonable" can be whatever a group decides. It's not always good. However, no need to keep someone around who doesn't fit the agenda. Hopefully you don't see them in the 30 under 30 list in a few years though.

Otherwise it's a pretty good list.

<comment><USER14> This was a really good viewpoint as it made me realize that the listed things are not only useful mental models but deeply connected to values. These models are used to guide your thinking which will affect your behavior. Therefore it's very important to be careful with what rules-of-thumb you decide to follow.

Of course, it's also important to reflect on your thinking and be able to spot the exception that proves the rule. But it's unrealistic to be constantly vigilant about your own analysis of things. You need abstractions (eg. mental models) to be efficient, but leaky abstractions will ruin you.

</comment></comment><comment><USER15> I think this is great! I love to explore how I think by asking myself questions on how I do things, be it decision making or planning.

I created this site which I use to help me figure things out.

[https://www.deepthoughtapp.com/en/topics/decisions/](https://www.deepthoughtapp.com/en/topics/decisions/) [https://www.deepthoughtapp.com/en/topics/planning/](https://www.deepthoughtapp.com/en/topics/planning/)

</comment><comment><USER16> Great list. Incidentally I started an Instagram and Twitter account this week, to stick to my resolution for continued learning, where I plan to post one mental model per day. Please check it out if you're interested, and I'd appreciate your feedback.

[https://www.instagram.com/mental.models/](https://www.instagram.com/mental.models/) [https://twitter.com/learnmodels/](https://twitter.com/learnmodels/)

</comment><comment><USER17> Nice. This is a good addition to "List of cognitive biases", a Wikipedia article I've liked to read from time to time ever since I discovered it, years ago.

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

As a Stoic, it's good food for thought to improve your "perception" of life and the world.

<comment><USER18> I personally find a lot of the material about cognitive biases hard to swallow -- I was forcing myself really hard when I read Kahneman's book. There were some good points but while reading it something just _seemed_ off in a way similar to trying to break down the world into a rigid dichotomy -- likes "is the a ok approximate anwser?" "Yes" "Would I use it?" "Possibly with great skeptism and appropriate weight given the context, but likely not"

<comment><USER17> I still have to read that book. Thanks for reminding me.

About rigid dichotomies though, including the page I linked, I think it's a cognitive bias in and out of itself.

I take these observations as "food for thought", literally, not ready-made conclusions to swallow. A good basis to reflect upon things, but it's just that, the initial spark.

<comment><USER18> I agree. But I think the value these biases actually provide in helping to understand what is going are more limited than people make them out to be. It's much more powerful to simply internalize the worldview of somebody who knew what they were doing, or several of them -- you're not starting from scratch and you're not using _models_ like a dictionary without knowing how to write.

</comment></comment></comment></comment><comment><USER19> Farnam Street Blog also has their comprehensive list of mental models: [https://www.farnamstreetblog.com/mental- models/](https://www.farnamstreetblog.com/mental-models/)

</comment><comment><USER20> What does LRU (least recently used) have to do with picking the highest- priority problem?

But overall, pretty good overview and I appreciate the links to other sources.

<comment><USER21> To pick an example out of thin air, think of stage act trying to keep a number of plates spinning. You can keep a number of them going, but the LRU one is the one most likely of falling because it's lost some energy, and you need to check it to keep it up in the air.

<comment><USER22> That's a great explanation for something the article didn't explain very well.

Still, LRU only works if they are of equal importance. Otherwise, work on the important one, even if you've worked on it more recently than the others.

A related idea is the "tyranny of the urgent". You can't let the urgent things keep you from doing the important things. (I stole this from a booklet with the quoted title, which stole the idea from the manager of a cotton mill.)

</comment></comment></comment><comment><USER23> _Front page test – an ethical standard for behavior that evaluates each action through the lens of the media /outside world._

 _Example: What would happen if HN found out we're mining our users's IMs?_

I feel like I might be okay with it if was a university (.edu domain) and I knew it was anonymized. Not sure I'd be okay with a random blog doing that.

</comment><comment><USER24> lots of models for combating optimism, but few for combating pessimism.

written for sure from the perspective of an optimist.

</comment><comment><USER25> Wow. This is a great list. I've seen individual ideas here and there but never put together in a list. This is excellent for exploring these ideas in one shot.

</comment><comment><USER26> "The teaching method" \- I observed this myself while helping Python newbies on the internet. Pretty often when you're answering a newbie question, you gain a deeper understanding of the problem. Newbies don't ask exactly the same questions as you have in the past, so you start seeing old problems in new light. Also, you dust off your skills.

Moral of the story: helping people on IRC can be a fun and enlightening past- time.

</comment><comment><USER27> The method of loci[1] is missing from this list. I am a visual/spatial learner, and find it quite useful for quick information storage and retrieval.

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

</comment><comment><USER26> Emic and Etic:

I observed that I very often disagree with people who use anime forum avatars. A few of them came close to getting banned (I'm not a moderator anywhere), others made really poor arguments.

</comment><comment><USER28> Re efficient market hypothesis + five forces: new markets are inefficient and you can sit on top of a big opportunity. More, when your company has real customer leads and profits.

</comment><comment><USER29> I appreciate the planning fallacy. I usually do this implicitly but I just changed an expected timeline on a JIRA epic from 80 hours to 160 days after reading this.

<comment><USER30> Watch out - there is a reverse bias, Parkinson's law, that work expands so as to fill the time available for its completion. This is why Elon Musk sets absurd deadlines he rarely can meet, to resist the expansion of make-work and administrative bloat which consumes longer-timed tasks.

<comment><USER31> Work behaves like a gas: It fills all the available space (time) and the smaller the space the more pressure you get.

</comment></comment></comment><comment><USER32> Nice, but imho the list should be accompanied by at least three real-world examples per model.

Otherwise, many of the models may seem contrived and practically useless.

</comment><comment><USER33> The funny thing about expected value. Even if the expected value of a one dollar lottery ticket was ten dollars, it still wouldn't be worth playing.

<comment><USER34> People always say lottery tickets have low expected return and aren't worth buying, and then use that to conclude that people are stupid.

Instead of concluding that people do buy lottery tickets, so their model doesn't accurately model "value".

</comment></comment><comment><USER35> That's so useful. Everyone should read this list.

</comment><comment><USER36> Reminder? Good.

</comment><comment><USER37> Theres a spelling error on "counterpary"</comment>


Simplicity - <AUTHOR> http://imgs.twittch.com/26/simplicity.png

<comment><USER2> This made me laugh pretty loud in my cube. This is exactly like a lot of the applications at my company. Scope creep really runs rampantly during the development process here.</comment>


Ask HN: Are image maps a thing of the past in modern/Web 2.0 design? - <AUTHOR>

Maybe it's because I'm a bit of a web noob, but I find myself believing that I need to use them in a particular site design. Are there better ways to do this? By better, I mean easier workflow, with any advantage to the end user? If image maps are so legacy, and still supported, what are reasons not to use them? <comment><USER2> This is more of a question for Stack Overflow. At the very least, it's not deprecated in the spec at all.

[http://stackoverflow.com/questions/3528746/are-image-maps- ma...](http://stackoverflow.com/questions/3528746/are-image-maps-map- deprecated)

<comment><AUTHOR> Thanks

</comment></comment><comment><USER3> It's been several years since I've created a true image map. However, I've approximated the technique more than once by placing various, absolutely- positioned elements over an image. I favor this technique because it does not involve opening a new browser tab to look up the correct children and attributes of the map element.</comment>


Overleaf: collaborative LaTeX-based writing and publishing - <AUTHOR> https://www.overleaf.com

<comment><USER2> Just wanted to drop in and sing my praises of this service and team (WriteLatex/Overleaf). I am currently a grad student and have been using this for ~3 years and it is my absolute go-to for HW, resume, reports, project papers, etc. It is also simple to add collabs which makes it great for team projects too.

The new addition of conference/journal templates and integrated spell check is really opening it up to a broader audiences than just CS-centric users.

My friend (with very little coding experience) saw my resume and asked for help to craft his own. I sent him overleaf.com and a template and he was able to get started with LaTeX in their side-by-side environment and was able to add his own content very easily. I know without this service it would have been a headache setting up LaTeX for him locally and walking him through it, so props to the overleaf team for abstracting the tech this way.

</comment><comment><USER3> I taught my girlfriend LaTeX using Overleaf -- having the PDF by the side and being able to see changes immediately really helped. And now she has a really beautiful-looking CV.

</comment><comment><USER4> This is great for students, for terms papers, reports, etc.

People who advance science as we know it, and those who target big journals (Nature, Science, New England Journal of Medicine, etc.) are unlikely to want to store their manuscript on a third party website like this.

But it is true that the former group is significantly larger.

<comment><USER5> Yet we recommend them to save it on github.

<comment><USER6> Recommend, perhaps.

I never put a paper up on github until after it has been published, and I've seen considerable push-back from fellow scientists at the suggestion we consider it.

Despite the pervasive influence of github, it is quite easy to spawn local git/svn/hg repos.

</comment></comment></comment><comment><USER7> I'm sure this is a great product for people new to LaTeX, but I personally prefer to use Vim & Git for collaboration. Works wonders.

</comment><comment><USER8> Curious, I haven't heard about Overleaf so what's an advantage over Sharelatex (OSS)?

<comment><USER9> Hi Fractal - one of the Overleaf founders here. SL is great, and had a very nice editor, but there are a few differences between it and Overleaf:

\- Rich text mode on Overleaf makes it a lot easier to collaborate with colleagues who would otherwise be put off by a wall of LaTeX code.

\- Automatic compiling on Overleaf - you don't need to manually hit compile, we do it automatically. This makes it easier for authors new to LaTeX as errors can't build up

\- Unlimited collaborators - share the project with as many people as you like.

\- Direct links to publishers to help streamline the submission process for academic papers.

Feedback always very welcome! Lots of different ways to approach this, and we're continuing to build and improve on the service.

<comment><USER8> The WYSIWYG UI is a good feature, although it's not useful for me it is certainly useful for students from other fields who've been riding Word for way too long. You should advertise more to universities and maybe target the non-IT people much more. :)

I believe a more practical feature is adding roles! I mean Editor,Co-Editor, Publisher, Copywriter, Professor, Examiner, Teacher etc. all of these have different jobs, although very similar they do different things. If you give these poor guys a UI or Workflow, that'd be great I think.

Well, if you need a killer argument to sell your product, you'd have to be able to say:

"You write alone or together, we proofread, suggest media, translate, publish, print or schedule submissions for just n$/mo."

Ok, you'd have to integrate external API from ie. commercial online newspapers, qualitative semantically fitting graphics, smart autocompletions with professional "sentence snippets" and so on. Most important thing is to sell it to universities though imho.</comment></comment></comment>


Organic Indie Preorder Pack Postmortem - <AUTHOR> http://blog.wolfire.com/2010/01/Organic-Indie-Preorder-Pack-Postmortem

<comment><USER2> It's precisely this kind of post that makes their pre-orders so successful.

"open development is key, especially when you are small. If we had been in stealth mode for 1.5 years, we simply would not have had the awesome community to have made this possible."

</comment><comment><USER3> _there was no marketing team_

Horsepuckey. They just didn't call themselves one.

You don't apologize for making good stuff. Why apologize for promoting it?

<comment><AUTHOR> Maybe because they want to seem better than they really are.</comment></comment>


The traditional FPGA market is abandoned - <AUTHOR> http://www.xess.com/blog/extinction-level-event/ <comment><USER4> I'm not sure I agree with the idea that Intel is going to make these folks work on something else because FPGAs don't grow that much. That makes little sense; Intel isn't really hurting for more employees, and the FPGA engineers can't necessarily be made to be productive on the higher-growth sections cited.

Instead, it makes a lot more sense that Intel is going to try and make that market more lucrative and larger instead. As a major chip manufacturer, they're in a great position to ship FPGAs to tons of new customers. Chicken- and-egg problems (you don't FPGA until you need to because it's not available) have made FPGAs a niche element. However, OpenPOWER/CAPI have demonstrated that you can get huge benefits from slapping FPGAs to existing general purpose compute.

So; TL;DR: I don't think it makes sense to assume Intel is just going to assume that market will stay what it is. Instead, they think they can make that market better, and do more than Altera/Xilinx can do individually. In that light, a purchase makes perfect sense.

(Disclaimer: I work for a company involved in OpenPOWER/OpenCompute and has shipped hardware that does this.)

<comment><USER5> FPGA's are always significantly worse than dedicated HW. To sell them _in bulk_ you need to be able to replace a wide range of chips you don't need at the same time with a good enough solution. At the same time you need enough speed you can't just simulate things on a general purpose processor.

That's a fairly narrow band and the real issue with FPGA's. A synthesizer for example seems like a good fit, but well general processes are fast enough. If we had a wider range of video codec's that might work, but again general purpose processors are good and dedicated hardware can help for the mainstream codec's.

Any ideas?

<comment><USER6> Anything that is needed to run in a pipelined data flow - particularly if the cpu processing of that data would be non-trivial. One example might be video processing (the kind that might go in all those automated cars on the horizon). You might have one set of algorithms at initial release, but in future releases one might change them.

Other examples might be crypto or compression/decompression, transcoding ..

<comment><USER7> Wouldn't a GPU outperform a FPGA in those cases?

<comment><USER6> It depends - for outright throughput for something the GPU is good at perhaps, but if Intel is coupling the FPGA tightly to their CPU and it has access to the memory bus and maybe some level of cache, then (I'm really speculating here) it might be very advantageous for situations where you have small chunks of data that you want to operate on with very low latency (lower latency by at least two PCIe transfers, to & from the GPU, and likely another memory transfer between the card local memory and the GPU).

Then there are also likely a some set of functions you can directly implement on an FPGA that a GPU simply didn't elect to implement in its hardware or would need to compose out of a number of operations.

</comment></comment></comment></comment></comment><comment><USER8> People are still scratching their head over this acquisition but here is my take.

Intel has failed at phones not because "x86 sux" but because Intel makes a small number of SKUs that are often different bins of the same design -- these are heavily tuned in every way. Phone chips are not so optimized in terms of process and design, but instead they are true "systems on chip" where a number of IP blocks are integrated to produce something which is optimizable by adding functional blocks.

Something FPGA based, whether it ends up in the datacenter or elsewhere, could have a highly optimized FPGA block which is field configurable, so this gives Intel something to compete with SoC vendors on their own terms.

One detail is the nature of the memory and I/O systems. FPGAs can move a huge volume of data, so unless you upgrade the the paths in and out of the CPU/FPGA area, the FPGA would be starved for bandwidth.

It would take one of two things for the FPGA market to expand based on these developments.

First, if there was some "killer app" that sold a huge number of units, that would help. The trouble here is that if you sell a huge number of units, you might be better off making an ASIC functional block an integrating it into a true SoC.

The other one is that (I think) FPGA development today is constrained by the awful state of tooling. Pretty soon you will be able to pop a FPGA hybrid chip into a high-end Xeon workstation and have one hell of a development kit in terms of hardware, but without a big improvement in the tooling, very few people will be able to really make use of it.

<comment><USER9> I think your analysis of Intel's problem is spot on. But FPGAs have something like (IIRC) 4% of the density of custom-designed ASICs. Can Intel's superior process create FPGAs at such small scales to overcome this rather large disadvantage?

Agree about the terrible tooling. 'Twas always thus, unfortunately, even when I was doing PLDs back in 1991.

<comment><USER8> Well the economics get awful for designing chips as the feature size gets smaller, which is keeping 28mm fabs pretty busy and will just get worse at 10 or 8 nm or whatever comes next.

</comment></comment></comment><comment><USER10> Ehm, FPGA/CPLD are everywhere, it's hard to say, but my educated guess is that hardware market consumes similar amount of SoC-like and FPGA/CPLD chips, look, even Pebble smartwatch uses Lattice iCE40 FPGA, MacBooks also usually have few FPGA's here and there. FPGA/CPLD's are essential to implement "glue-logic", which does what it says - glue different pieces of hardware together. Of course you can do "glue" in software, but than your customers will enjoy poor battery life time and random glitches here and there. And nobody gonna spend big-money (it's actually depends, sometimes it 1kk+$, sometimes you can get away by 30-50k$) by running their own ASIC's when you can just buy jellybean FPGA's.

Indeed phone/desktop market might move to more one-chip-for-everything solution, but even then we need glue-ish logic to control something like screen backlight DC-DC converters, charging IC's, etc, which is much more easier done from FPGA/CPLD-like devices. On the other hand FPGA/CPLD's are essential in some classes of devices, for example test instruments: modern oscilloscopes usually have 3+ FPGA's in them, companies like Keysight usually only run custom ASIC's when they hit limitation of current silicon tech, like their N2802A 25GHz active probe (starting from 23500$) uses amplifier IC made with indium phosphide process (InP), which is kinda far away from whatever current consumer product companies are doing, you can check the teardown of this beast here [https://www.youtube.com/watch?v=jnFZR7UsIPE](https://www.youtube.com/watch?v=jnFZR7UsIPE)

So in my opinion FPGA/CPLD market will live long and strong, players might change, but demand is enormous. The only problem in my opinion is that whole market is more B2B-like (FPGA's are usually just a humble IC's inside end customers products, you don't see stickers "Altera inside" or anything on products themselves), so it's kinda hard to get grasp what's going on.

</comment><comment><USER11> XESS is biased toward the segment of the market they play in which is centered around computational applications where having a micro on board is usually desirable. There are _many_ more places where simple glue logic is needed and a small, cheap FPGA/CPLD fits the bill. One would hope that Altera's (and possibly Xilinx's) new masters won't fuck this up and shutter their low end devices but that doesn't mean there won't be demand for them into the future. People with a need for these types of FPGAs aren't XESS customers so they are blinded by the limited scope of their own business.

</comment><comment><USER12> In case the link is down:

[http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://www.xess.com/blog/extinction- level-event/)

Also, I believe that cheap microcontrollers have been able to replace FPGAs in some cases.

<comment><USER13> Cheap microcontrollers can replace old CPLDs, which now are technically FPGAs but really don't have much of a place in modern hardware.

They can also replace FPGAs because even small microcontrollers are now really systems-on-a-chip, with integrated SPI, CAN, LVDS, or even USB/transceivers. To me, that's more like replacing an FPGA with dedicated hardware - it's just that microcontroller peripheral options are so thorough that dedicated hardware no longer needs to be custom.

<comment><USER14> It's mixed. You can spin a fast loop in a PIC @ 1,2, 4 or 8 MSPS, and that eats into FPGA territory.

USB is uniformly terrible; multi-PHY CAN offerings are disappearing. SPI can be good if you have the right interface chip ( which you may or may not actually know until you're running against a prototype ).

LVDS looks interesting, but it seems to have been a lot supplanted by SPI/I2C and Ethernet.

I dunno; it's just different. Phones have warped the market in puzzling ways.

<comment><USER15> spot-on re USB = terrible (for typical embedded usage- derived clock, latency, fancy software/hardware stack support requirements. hardly a simple interface. not worthy of universality) and of course, it's because of the phone SOC market...

basically the entire high-end of embedded has been taken-over by poorly-built linux distros running on phone SOC reference board designs...

as much as i'd love to support the 96boards effort, they are pushing us all into using USB for things like audio codecs... (i'll take TDM'ed I2S anytime, as at least there is a real bitclock as well as a frameclock, directly wiggled chipside...)

<comment><USER14> I use an inexpensive USB audio interface daily, and _that_ part isn't bad at all. I'm able lto run two DAW against it; one for cue mix with VST plugins and another for recording.

If you're careful with part selection and systems engineering on the host side, it works extremely well.

I'm also loath to throw too many rocks at the SOC boards - they make fine prototypes that can then be adapted to something more appropriate.

</comment></comment></comment></comment></comment><comment><USER16> The article is based on the premise that Altera will stop developing FPGAs for general availibility. Nothing I've seen (and would love to be shown otherwise) so far indicates this.

FPGAs has been used as test designs when qualifying fabs for volume production since they are regular, but more complex and closer match to general ASICs than memories.

FPGAs are also often used more and more either with internal CPU cores (hard or soft) or as a companion to CPUs providing acceleration, esp data plane processing.

This means that the aquisition of Altera is mor of adding a business that complements the CPU business, not remove a competitor from another market segment. Intel can sell CPU+FPGA solutions for data center, big data. But it can also sell more chips and increase utilization in their fabs.

And for FPGA users the FPGAs coming out of these fabs will probably be better with higher density, lower power consumption that what Altera managed to design themselves. And getting a Stratix or a Cyclone SoC with an Atom core inside running Linux would be a very neat solution.

</comment><comment><USER17> Or there's another alternative. The main reason it was hard to make money from the industrial etc segment - was low volume combines with a lot of support costs.

But what if

a. xilinx built c-like tools that enabled embedded software engineers develop easily ?

b. they released those freely to some segment of the market ?

c. they've built an external support and IP ecosystem, either open or closed or both ?

Those actions can increase margins for xilinx, and they seem to be doing a,b.

As for the hardware, maybe the article is right. Also ,recent industrial chips are using 28nm, and going beyond that is extremely expensive and might not fit the industrial scenario anyhow, maybe there's not a lot of innovation left in the industrial FPGA market,

<comment><USER18> > Also ,recent industrial chips are using 28nm, and going beyond that is > extremely expensive

Yeah, so ASICs that are not produced in big enough volume will not move to 14nm or less. This means that FPGA that can move to 14nm or less, because of bigger volume, may become competitive against those ASICs.

<comment><USER17> When i'm saying "industrial chips are at 28nm" i mean industrial FPGA's.

Will xilinx create industrial FPGA's at 14nm or beyond ?

First transistor cost will have to become meaningfully lower than 28nm transistor costs. That only happens at 10nm. But at that node, NRE costs are extremely expensive. Spread over low-cost low-end industrial chips - <USER2> requires a huge volume, which xilinx probably doesn't have yet.

Also couple that with 28nm being more much reliable(all the failure mechanisms increase at 10nm: electron migration from wires, thermal hot sports, transistor fin self heating), and since reliability is key for industrial - <USER3> would be hard to see industrial moving beyond 28nm.

</comment></comment></comment><comment><USER19> I think it gets squeezed even more with general purpose GPU computing.

<comment><USER20> There's no reason you can't have general-purpose SoCs that combine traditional pipeline-driven CPU cores, GPGPU cores and FPGA cores with memory, bus chips, storage, etc. We long ago reached the point of diminishing returns for cramming more raw computing power on a chip; so chips of the future will likely consolidate specialized features for various workloads in the name of power savings / speed increases for certain workloads.

<comment><USER21> Plus Intel owns the IP to all the pieces and is happy to provide documentation for them.

Xilinx have Mali GPUs on their latest ARM+FPGA hybrids but that isn't much use to me if I can't find out how to program it.</comment></comment></comment>


Barefoot shoes try to outrace the black market - <AUTHOR> http://money.cnn.com/2010/08/13/smallbusiness/vibram_fivefingers/index.htm?source=cnn_bin&hpt=Sbin <comment><USER3> Seems like there is a great business opportunity in here somewhere. Something like SSL certs but for identifying brands being sold online. I understand the basics of encryption and digital signatures but not enough to see immediately how this could be done reliably. Maybe the retailer would register with the manufacturer and receive a temporary or at least regularly updated private key to use in dynamically requesting a "badge" of legitimacy to fetch and display on the page. This might require browser support to be truly effective, as with https changing the appearance of the address bar. Someone should jump on this. I can see it being an indispensable web feature as more brands suffer counterfeiting online. Of course, it's already a problem offline in many ways but at least online one could be reasonably proactive in mitigating it. $2500 a pop in legal fees to shut down an illegitimate counterfeiting competitor is exorbitant and the problem could be solved more cheaply and efficiently.

EDIT: spelling (typed this on my phone)

</comment><comment><USER4> I noticed them all over the chinese trade sides about six months ago. I had this bookmarked from then: [http://www.tradetang.com/search/index.jsp?keyword=VIBRAM&...](http://www.tradetang.com/search/index.jsp?keyword=VIBRAM&catid=2445&splitcount=20&sort=priceT0&currpage=1&type=0&ttsearch=ttform&rankdom=11&searchform=web&page=2020&browser=search) — note that 'VIBRAM' is a banned keyword, but the search is still returning plenty of results fromt he category.

<comment><USER5> Hmm, I've never actually seen a "chinese trade site". I am guessing this is what many people use to make money on ebay or shopify account. Do you have more info about chinese trade sites? A blog you could recommend? Or any info at all would be interesting.

<comment><USER4> Yep, that's one of the main purposes of the site I linked to.

Alibaba is by far the biggest player, their ecommerce empire is easily the third biggest after Amazon and eBay. Their main site is basically for people outside China to hook up with factory agents to buy stuff wholesale. They also have a japan-specific version, and a heavily used internal chinese B2B version. Their <http://taobao.com> is super dominant within China, occupying a space between Amazon and eBay stores but with even more marketshare, and with sellers ranging from a kid in a dorm room to multinational corporations. They also own Yahoo China, the chinese paypal-equivalent, the biggest chinese ad network, and a salesforce.com-style CRM.

Their equivalent site to TradeTang would be their recently launched <http://aliexpress.com> that has a full US localization and integrated cart/payment/shipping/etc. You'll find some weird shit on there, like this seller: [http://www.aliexpress.com/store/801597/all-wholesale- product...](http://www.aliexpress.com/store/801597/all-wholesale- products.html) — page through his catalog to find dried seahorses, reciprocating drilldoes, folding bikes, giant inflatable water walking balls, ghillie suits, dried human placentas, cow bezoars, portable titanium stripper poles…

By far the biggest hassle with using Alibaba is just communicating with the seller, they hate answering email and if you ask multiple questions they'll cherry-pick the most superficial one to respond to. The only way to get anything done is to be up in the middle of the night and get them on MSN messenger.

<comment><USER5> > _By far the biggest hassle with using Alibaba is just communicating with the > seller, they hate answering email and if you ask multiple questions they'll > cherry-pick the most superficial one to respond to. The only way to get > anything done is to be up in the middle of the night and get them on MSN > messenger._

Can you elaborate? Is this only true if you need more detailed info about the product. If you know the product is what you want will it be rather easy to order it?

Or is it that Alibaba doesn't have "full US localization and integrated cart/payment/shipping/etc"

<comment><USER4> It's the latter — on aliexpress or tradetang or taobao you could just add it to your cart, checkout, and pay with no haggling. Shipping is often free, as EMS and Hong Kong Post have normally very low rates. On DealExtreme and many eBay stores you can order a 99¢ item with free airmail from HK and get it a few days later.

On Alibaba, you have to talk with the seller for anything to happen. Though some of them work directly for a factory, many of the sellers are total freelance agents, and even the ones that work for a factory will act as agents to resell items from other factories. You can usually suss out how direct a seller's relationship with the ultimate supplier is, and they'll often tell you outright, though none of them seem to be willing to talk about each other. All of the ones I've interacted with have been ~30yo women that seem to be working solo as agents with other people doing the fulfillment.

The other thing is that they very rarely put up enough information to find out what the product actually is. Often the product can easily be made-to-order with finishing options up to you (though the factory does all the product development). You end up looking at a bunch of agents and looking at pictures, weights, and options to discern who's reselling what. Occasionally the OEMs will have product data on their websites and you can backtrack from there. It's kind of maddening but none of them really give a shit.

Even if you think you know what you're getting, you still want to get spec sheets from them for confirmation, and spreadsheet catalogs of similar stuff so you know you aren't missing anything (they don't keep their listings up to date). Even after that you still have to go back and forth on quantities, prices, shipping, lead times, options, potential setup fees for customizations, etc. They do like MSN and pasting stuff into excel documents to send via direct file transfer. It works ok once you get that far, but it feels really sketchy.

</comment></comment></comment></comment></comment><comment><USER6> Personal anecdote:

I started running with an ancient pair of shoes. Flat, thin sole, absolutely no cushioning in it. After quite some time, I bought new running shoes, thick sole, lots of cushioning.

On my first run with the brand new shoes, I was much faster. MUCH faster. I got home amazed and thought I should have switched a long time ago, what was I thinking running in those ancient beat up shoes!

And I thought these new shoes must have a lot of bounce in them. So I jumped up a bit - nothing, no bounce. So I took them off, and tried to bounce them again. Still no bounce. They are cushioned, they dampen shock, absorb it, they are the opposite of bouncy.

Well then I should have been slower, why did I run faster with dampening? I kept thinking about that, and then the next day my knees were in pain. And that's when I seriously started researching running and shoes.

And I've pretty well convinced myself barefoot is the way to go. But to avoid stepping on you name it, look for shoes like the Vibrams, avoid heavy cushioning.

</comment><comment><USER7> These are one of the more common things we get spam links for on HN.

<comment><USER8> What are some of the other things? So we know when we see them...

</comment></comment><comment><USER9> This is what the ACTA should have been focused on, instead of trying to stop people downloading music. It is the _Anti Counterfeiting_ Trade Agreement, after all.

<comment><USER10> It's counterfeiting if the consumer is getting fooled. It's something else if the consumer is aware they're not getting the real deal.

</comment></comment><comment><USER11> There was a 1991 episode of "Married With Children" where Al Bundy creates "God's Shoes" which look exactly like these shoes. There is nothing novel or new about this idea.

<comment><USER12> I haven't voted up or down here, but cam is correct. Maybe the tone was a bit rough?

[http://www.teamliquid.net/blogs/viewblog.php?topic_id=129234...](http://www.teamliquid.net/blogs/viewblog.php?topic_id=129234&currentpage=2) (found via images.google.com .)

This site also has an amusing comparison of crocs & vibrams.

</comment></comment><comment><USER13> I think ads like this are a great way for Vibram to raise awareness of the problem with a sense of humor:

image: [http://birthdayshoes.com/media/blogs/bdayshoes/2010_Photos/m...](http://birthdayshoes.com/media/blogs/bdayshoes/2010_Photos/merrell/vibrammiddletoe640.png)

description: [http://birthdayshoes.com/merrell-barefoot-shoes-partner- with...](http://birthdayshoes.com/merrell-barefoot-shoes-partner-with-vibram- slated-for-spring-2011)

I love my VFFs. Vibram deserves to reap the financial rewards for creating a whole new product category, and doing such a great job with it.

<comment><USER14> I have a friend who works for a running publication (and is a long distance runner), and she noted that Vibram got kinda lucky with this design. _Born to Run_ was published after they introduced their shoes. While Vibram's marketing department certainly did their part, without the book (and associated media), one wonders if they would be so popular.

As an aside, both my friend and her husband (who sometimes runs barefoot) said they didn't like the shoes. Since the glove-like fit actually forces the toes a bit further apart, they prefer lightweight "natural" trainers like these: <http://tinyurl.com/yagubt5>

<comment><USER15> I think saying "Vibram got kinda lucky with their design" is taking away from what Vibram achieved with this product. It's no different from any new venture.

I've been interested in barefoot running ever since products like Vivo and Nike Free began making headways into the market. The article posted makes it seem like these are competitors introduced after Vibram Five Fingers, but they were all introduced at roughly the same time.

The barefoot products mentioned were all introduced at a time period where barefoot running was beginning to gain serious traction. It was excellent timing for all companies pushing barefoot products. Personally, I think alot of Vibram's press has to due with their unorthodox design. Nike's barefoot alternative is a much more traditional shoe design (that I think is more known for its comfort).

Vibram is popular due to a quality product with some timing that wasn't just coincidence (they weren't the only company who saw the trend). I think their "honest" and unorthodox design gave was the real differentiator that made them that much more popular than the competition

<comment><USER14> I didn't mean to imply that Vibram produced a mediocre product that took off thanks to a book and a trend. Vibram did do their design homework, and the shoe itself is well-designed. My point is that without _Born to Run_ and the "natural" footwear trend, it's unlikely Vibram's product would have the following it does without that.

</comment></comment></comment></comment><comment><USER16> I'm curious if anyone knows, how far does Vibram's IP protection go?

It sounds like here these were counterfeit Vibrams (holding themselves out as real) but can someone else make gloved shoes (with individual toes) or do these guys have a lockdown on that entire concept?

<comment><USER17> You can learn about IP protection in different countries here: [http://www.ted.com/talks/lang/eng/johanna_blakley_lessons_fr...](http://www.ted.com/talks/lang/eng/johanna_blakley_lessons_from_fashion_s_free_culture.html)

</comment></comment><comment><USER18> Best way I've found to defunkify my Vibrams is to soak them in Oxyclean (yes, "as seen on TV" Oxyclean) overnight and then wash them in the washing machine and air drying.

This is with KSOs. With the Sprints, I've never had an odor problem, but they can air out more easily.

I suspect that if you had some kind of warm-air (~35C) device (e.g., a heat gun) to gently blow air through them post workout, one could keep the odor on KSOs down.

Don't tumble dry them though -- the glue melts.

<comment><USER19> I think if the glue melts from a simple tumble dry I'm sure as hell not going to use a _heat gun_ on them.

<comment><USER18> Why? A dryer gets far hotter than 35C. I just mean enough warm air moving through the shoe to dry it quickly. A decent heat gun should give you that control.

<comment><USER13> The low setting for a heat gun is somewhere around 350 deg F. A hair dryer on the lowest setting might work though.

edit: according to Wikipedia, heat guns go from 200-1000 deg F. Still far too hot. <http://en.wikipedia.org/wiki/Heat_gun>

<comment><USER18> I was thinking of something like this: <http://www.amazon.com/gp/aw/d/B00004TI29/ref=mp_s_a_10> which goes down to 90F.

</comment></comment></comment></comment></comment><comment><USER20> So do they make matching socks? I know this is about 'barefoot' but some of us know our bodies, and in my case if I actually worked out with these - <USER2> would be cool - I'd pretty much destroy them in a few days from sweating. Without socks to absorb the moister I'd be concerned about them getting pretty stinky after heavy use.

Now for a specialty shoe, rock-climbing/boulder comes to mind, yeah these would be incredible. In fact, I think I'll probably buy a pair for that the more I think about it. I don't tend to sweat as much climbing.

<comment><USER21> I've tried bouldering in a borrowed pair. Edging gets painful fast. Far too much stress on my toes. Having separated toes and a relatively pliable sole produces an awful lot of foot strain.

Real climbing shoes are tighter and more rigid. They do just the opposite of what these barefoot shoes do; they bunch your toes together, forming them into a kind of single supertoe. It's probably about as bad for you as wearing high- heels, but it's very effective.

Also, the soles on barefoot shoes are not sticky enough for climbing, so smearing doesn't work too well.

<comment><USER22> I've done rock climbing in both the five fingers and regular rock climbing shoes. Rock climbing shoes are definitely better 99% of the time, their rigidity helps you to maintain secure footholds.

There's the occasional exception though, I was once able to gain a foothold in the five fingers by sticking my big toe in a hole that fit it exactly.

</comment></comment></comment><comment><USER23> I didn't realize that there were a lot of runners here hacking up the hills. I have Newtons at home but I didn't like them. They aren't made for the trails I run either. I might try Zoots soon.

<comment><USER24> I can't seem to find any real reviews of Newtons...there are so many fanboy reviews that I wasn't sure if it was worth the money so I never tried them. Hrm.

<comment><USER23> This is one man's opinion, but I think the way the lugs are placed at the front of the shoe compact the impact with the ground. I had been running 8-9 miles on average a day. I integrated Newton's into my routine for 1 mile every day and at the end of the week I was having pain and had to take some time off.

</comment></comment></comment><comment><USER25> I think it says something about the power of culture when fully shod feet, high-heeled feet, flip-flopped feet, etc., are all acceptable but a gloved foot is somehow "weird looking".

<comment><USER26> Whenever someone makes fun of my VFFs I say, "Let's do a little investigation. Put your foot up next to mine. Now, whose shoe is formed more like a human foot?"

<comment><USER27> Whose car looks more like a strong pair of legs?

I like the shoes too, but sometimes the rhetoric used to promote them strikes me as silly.

</comment></comment></comment><comment><USER10> _And this year, a study by Harvard evolutionary biologists published in the journal Nature concluded that barefoot runners land on the balls of their feet, rather than on their heels, ultimately creating less joint stress and reducing injuries._

I don't know how other people do it, but I find it hard _not_ to land on the balls of my feet when running.

<comment><USER28> I think the secret is long strides with slow cadence.

</comment></comment><comment><USER29> I wanted to try them but was surprised that REI in Mountain View & San Jose, CA did not carry more than 1 (large) size in just 1 model. I know REI has very good return policy and encourages me to just order online & return if don't like. But still, I feel like wanting to try them on and see if I like them or not and which model is best.

</comment><comment><USER30> I want to get a pair, but I don't think they have a model appropriate for motorcycling, thus limiting my ability to use them.

<comment><USER30> Does HN have a suggestion of how to make them work for me, when I lead a lifestyle that requires the wearing of boots everywhere? I am genuinely interested in them.</comment></comment>


Factor compiler improvements - <AUTHOR> http://factor-language.blogspot.com/2009/07/dataflow-analysis-computing-dominance.html

<comment><USER2> The interesting thing about this blog is that it shows how _long_ Slava has been hacking on Factor. The earliest entries on this blog are from 2005 (and before that there was a blog on Jroller, which , sadly, isn't there any more). In 2005, Slava was wrestling with OpenGL and so on, and now in 2009 with compiler improvements. It is great to see the steady progress over many years. We should all be so blessed.

PS: Factor is an awesome and mindbending language. Well worth a look</comment>


Code hidden in Stone Age art may be the root of human writing (2016) - <AUTHOR> https://www.newscientist.com/article/mg23230990-700-in-search-of-the-very-first-coded-symbols/ <comment><USER3> I love it - as a fan of the crackpot Szukalski, seeing real science making similar conclusions to his, just tickles my pickle.

For those who don't know, Szukalski saw these patterns and similarities in ancient art, decades ago - and from this observation, formulated the theory that there was a common language in the civilisations that sprouted up before 'ancient history' \- i.e. a pre-history civilisation, lost in a cataclysm, spread its survivors around the globe - who then coded their common language ("Protong!") into cave art and so on.

I really have to wonder if any of the serious researchers have read the book "Behold! The Protong!" by Szukalski, which recounts his investigation into this topic. It'd be somewhat unique - and terrifying (coz: Zermatism) - <USER2> hear that Szukalski was really onto something, all those decades ago ..

[https://en.wikipedia.org/wiki/Stanisław_Szukalski](https://en.wikipedia.org/wiki/Stanisław_Szukalski)

[https://www.amazon.com/Behold-Protong-Robert- Williams/dp/086...](https://www.amazon.com/Behold-Protong-Robert- Williams/dp/0867195193)

<comment><USER4> Wait.

The yetis are here for our women?

<comment><USER3> Yeah, I'm not quite willing to go that far into the madness with the crackpot'edness. But I think Protong is an intriguing idea, and that it is being represented artistically with skill, well .. why not ..

Zermatism? That can be ignored safely, I feel. At least until science catches up. And then I suppose none of us Yeti will be safe.

</comment></comment></comment><comment><USER5> This is very interesting - to see this sort of thing in paleographic studies is very very cool

I remember in my PhD days (studying AI), having long conversations, exploring what it was for an AI to be intelligent. One strand we considered was around language and magic - the central idea we were playing with was that language and magic are intertwined - the role of sympathetic magic in manipulating reality bby manipulating symbols was tied to language as a representation of reality. So the idea of symbolic representation was a key indicator of intelligence.

It would also be amazing if more stone age art was found in underwater caves.

<comment><USER6> >It would also be amazing if more stone age art was found in underwater caves.

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

<comment><USER7> I think that would be almost a given. We know there were certainly hominids (Neanderthal and Homo Sapiens) living there, so if there were caves, it follows there would be cave art.

</comment></comment></comment><comment><USER8> Just the other day someone asked me "Do you believe [in God]?" I replied "everything is technology". I referred him to just this type story. Speech is technology. Writing is technology and therefore stories are too technology. Everything we hear or read from man is manmade. He paused and thoughtfully said "I never thought about it that way."

<comment><USER9> All that stuff is the product of human systems, but what about the systems that produce the human?

<comment><USER10> Also technology, or random chance.

If God exists, he is an explainable piece of "technology". He could be a very powerful one that deserves our respect, but he is explainable. Everything is explainable... eventually.

<comment><USER11> Remember the days when we all thought everything was deterministic?

<comment><USER12> If something is "non-deterministic", then it is insufficiently understood.

</comment></comment></comment></comment></comment><comment><USER13> A little off-topic, the art in the first picture is stunning, the colors, shadows, shapes, lines. I've always imagined random individuals painting in caverns. But looking at this paint makes me wonder how many generations of painters have to pass in order to get into that level of complexity.

<comment><USER14> I've visited several caves this summer (Lascaux, Combarelles, Font-de-Gaume, Rouffignac, and a couple others) and there is a constant: the artists weren't amateurs, they were extremely skilled. First, in many places it was impossible at the time to see the entirety of the drawing at a glance because of the very low height, or the wall curvature, but the proportions are right anyway (most visited caves have been dug out; back then you had to crawl for hundreds of meters in pitch darkness to reach the drawings). Similarly, the animals are drawn with a very high anatomical precision. Even animals that didn't exist locally, like mammoths (which mean that the artist had seen mammoths earlier, very far away).

</comment></comment><comment><USER4> Interesting article.

" _The first formal writing system that we know of is the 5000-year-old cuneiform script of the ancient city of Uruk in what is now Iraq. But it and other systems like it – such as Egyptian hieroglyphs – are complex and didn't emerge from a vacuum. There must have been an earlier time when people first started playing with simple abstract signs. For years, von Petzinger has wondered if the circles, triangles and squiggles that humans began leaving on cave walls 40,000 years ago represent that special time in our history – the creation of the first human code._ "

My understanding is that the evolution of Sumerian cuneiform is (sort of) well understood, from early markers for goods (a container with six dried clay tokens to represent "I sent six sheep with Elmer, if you did not receive six sheep, there's a problem somewhere") to simplifications of the markers and the rebus principle to early writing. It's not a single step from nothing to writing.

Oh, and the city is Unug in Sumerian. Uruk is Akkadian, a language that over much later.

</comment><comment><USER15> Another explanation is that the geometric designs are depictions of entoptic phenomena or phosphenes that are seen during trance states. There is remarkable similarity in these designs between groups of ancient people separated by thousands of miles and years: e.g. Australian Aborigines and San in Africa.

The Signs of All Times: Entoptic Phenomena in Upper Palaeolithic Art [https://www.journals.uchicago.edu/doi/pdfplus/10.1086/203629](https://www.journals.uchicago.edu/doi/pdfplus/10.1086/203629)

Entoptic Imagery and Altered States of Consciousness [http://entheology.com/research/entoptic-imagery-and- altered-...](http://entheology.com/research/entoptic-imagery-and-altered- states-of-consciousness/)

</comment><comment><USER16> Stone Age code? I tried running it, but it's giving me an error: "You have accidentally used the dummy version of OwlMain."</comment>


The creator of ChatRoulette applies for US visa - <AUTHOR> http://www.spiegel.de/international/0,1518,681681,00.html

<comment><USER3> Does anybody actually believe that people will continue to use ChatRoulette? It seems like a novelty that will soon be forgotten.

<comment><AUTHOR> could anyone believe that facebook would be something more than a crimson face book, or that google would dominate yahoo, or that myspace would be almost forgotten by the media, could anyone believe twitter would become Twitter, no one knows really

<comment><USER4> Agree! He already has tremendous amount of attention,press and users. If he iterates fast, and keep "freaks and fuckers" off the site, it could become mainstream(maybe it already becomes).

<comment><AUTHOR> i wish he wouldn't, as long as he stays out of mainstream, he has a chance to really bring something new

<comment><USER5> He can really bring something new and enter into the mainstream. They are not mutually exclusive.

Getting the "freaks and the fuckers" off the site doesn't prevent the service from doing something new.

I think the idea of being connected to people one-on-one is appealing and don't think the appeal will fade.

If only if there could be more serendipity with who you are connected with... I think that is an interesting opportunity right now.

</comment></comment></comment></comment></comment><comment><USER6> To co-opt a now-famous phrase: Once you're lucky, twice you're good.

Does the kid have what it takes to replicate virality and social/gaming mechanisms across other platforms? Or will anything he creates hereafter simply be a cut-rate knockoff of Chatroulette?

Is he a good hacker/developer and a great social theorist? Or did he just get lucky with this one idea?

If the latter, would a stint in America - in the Valley specifically - <USER2> his instincts and skills and lead to even greater success later? Or will he be a has-been by 2011?

So many questions, and I wish I could get the answers.

<comment><USER7> This isn't really something that you'll be able to answer in any easy way.

Once you're lucky, it is much easier to be "lucky" again. Certainly, it will require skill on his part; but he'll have a brand and a name, two things that are much more invaluable than any sum of money he may get (although money of course won't hurt either).

The brand and the name alone will earn him followers -- lovers, and haters -- who will promote (in their own ways), whatever it is that he's making.

It is of course possible that he'll squander it all with some foolish mistakes and show that he was "just lucky", but I'd rather speculate about his success rather than his failure :D

Besides, he hasn't even finished this product yet, and you already want him to start working on something new? ;)

<comment><USER6> No, I'd like to see him perfect and monetize what he has created already.

</comment></comment></comment><comment><USER8> milliondollarhomepage 2.0</comment>


Ask HN: Whats the first page you log into every morning? - <AUTHOR>

ASK HN: Whats the first page you log into every morning? <comment><USER2> Quick glance at BBC News, CNN and NYT headlines just to get a quick recap. If I see something interesting I usually plan to read it later. Then a quick glance at e-mail/IM to get ready for the day. Finally a quick glance at what.cd to see if there's something new to listen to on the way to work. I usually don't get any quality web browsing done till the afternoon hours when work is mostly taken care of.

</comment><comment><USER3> Mail, Reader and HN, in that order, but before them all I spend the better part of an hour with a newspaper (yeah the one thats printed on newsprint which you gotta pay a subscription for).

</comment><comment><USER4> gmail.

</comment><comment><USER5> Hacker News.

(Really, it is. After that, Google Reader, then the Sydney Morning Herald....)

</comment><comment><USER6> server logs / health / analytics.

right after i kiss honey good morning and before i put on my slippers for a first cigarette.

</comment><comment><USER7> Google Reader than HN

</comment><comment><USER8> hn or google reader, depending on the mood

</comment><comment><USER9> localhost/myCurrentProject!

</comment><comment><USER10> gmail, hn

</comment><comment><USER11> Google News , Gmail</comment>


Bitcoin isn't so broken after all - <AUTHOR> https://freedom-to-tinker.com/blog/felten/bitcoin-isnt-so-broken-after-all/

<comment><USER2> In my opinion, Bircoin is in fact broken. The blockchain is now 14Gb, it cannot scale. I bet that the increasing value of BTC must be related to Cryptolocker.</comment>


Really Google Chrome? Right next to the tab open button? - <AUTHOR> http://imgur.com/ikWBM1n

<comment><USER2> Can someone explain this for a non-Chrome user? What's the "Francisco" button? Is that even the focus here?

</comment><comment><USER3> Noticed this today after I accidentally clicked it trying to open a new tab. Very poor placement and user experience IMO.

</comment><comment><USER4> I don't think they care. This has been in beta for a while. They probably figure people will get used to it.</comment>


Wages For Facebook - <AUTHOR> http://occupywallstreet.net/story/wages-facebook

<comment><USER2> Using Facebook is not compulsory. You don't have to use it if you don't like it.

But you can't use Facebook AND demand wages from Facebook.

Can I demand lost time wages from [http://wagesforfacebook.com/](http://wagesforfacebook.com/) because the text scrolls too slowly?

<comment><AUTHOR> Working is too compulsory. But as a result you will not have any money and life will be difficult.

> But you can't use Facebook AND demand wages from Facebook.

That seems backwards. It's when you use Facebook that you create value for Facebook and Facebook makes money off your work.

> Can I demand lost time wages from > [http://wagesforfacebook.com/](http://wagesforfacebook.com/) because the > text scrolls too slowly?

Yes you can. But as you did not create any value for wagesforfacebook.com, so it would be weird even as a political statement.

I think you have to understand that this is not really a serious demand. I'd guess no one behind this campaign actually expects wages for using Facebook. It just tries to shine a light on the fact that we are all working when we're using "social media".

<comment><USER2> Yes, Facebook is profiting from my clickstreams. In other words, it's benefiting from my "work". But I'm also benefiting from Facebook. The only reason you use Facebook is because it adds value to your life in some way right? So to me, having Facebook around is mutually beneficial.

Frankly, I get the point the author is making. Personally, because I'm benefiting from Facebook's existence, I'm fine with them profiting from my contribution to the social graph.</comment></comment></comment>


Twitter and Facebook Are Turning Publishers into Ghost Writers - <AUTHOR> http://techcrunch.com/2015/10/15/smart-pipes-and-dumb-content/ <comment><USER2> Techcrunch clearly very worried about this. Josh Constine just uploaded a fairly hysterical rant about it here: [http://techcrunch.com/2015/10/20/smoothing-publishers-out- of...](http://techcrunch.com/2015/10/20/smoothing-publishers-out-of-the-user- experience/)

The publishing economy has been broken for a long time, promoting quickly- produced, attention-grabbing content. I actually wonder if big platforms like Facebook and Twitter can play a role in fixing that, perhaps via some sort of micro-tipping system where consumers pay directly for content. There are startups already trying to do this by creating plug-ins for publishers ('tip' buttons) but I expect it would be easier to drive adoption for something like that when you're Facebook or Twitter. Personally, I'm excited to see where this goes.</comment>


Why is CSS the way it is? - <AUTHOR> https://increment.com/frontend/ask-an-expert-why-is-css-the-way-it-is/ <comment><USER4> This is a somewhat superficial history that only briefly touches on origins, and doesn't discuss the fundamental idea behind CSS, from which everything else is, directly or otherwise, a consequence.

Two decades ago I was overjoyed to discover that Scheme was finally going to have a useful application beyond illustrating SICP and writing koans to amuse myself, because DSSSL was on the cusp of evolving into the last document styling language anyone would ever need.

Unfortunately following an incident with a broken Lisp machine, a liquid lunch, and an unlicensed particle accelerator, I became trapped in a parallel universe where the HTML ERB anointed CSS by mistake during a drunken night out in Oslo.

The fundamental concept of CSS (best revealed by H.W.Lie's thesis IMO[1]) was to create a rich and versatile and non-Turing-complete set of structural selectors in lieu of DSSSL's recursive logic, and to allow styles to overlay one another; two design choices that only by the application of gallons of irony can explain why most web pages are composed of a bunch of nested DIV elements with hashed IDs and overloaded semantic class attributes, and everyone compiles their assets into a static file.

[1] [https://www.wiumlie.no/2006/phd/css.pdf](https://www.wiumlie.no/2006/phd/css.pdf)

<comment><USER5> Can we just start over on the entire web stack?

1\. create a serious styling and scripting framework, basically React as a language since people seem to like it 2\. implement an interpreter in WASM. Ship the interpreter with the website unless the browser says not to 3\. over time, build the interpreter into the browser

<comment><USER6> there's canvas, you can already write apps that target it both in unity and Godot, the latter spring a wealth of languages

<comment><USER7> Question: how do these engines address accessibility issues for, say, a holiday booking site that uses the canvas element for its entire UI?

<comment><USER6> surprisingly there's some work being done for it

[https://godotforums.org/discussion/21963/early-access-of- god...](https://godotforums.org/discussion/21963/early-access-of-godot- accessibility-addon-now-available)

</comment></comment></comment></comment></comment><comment><USER8> IMHO this article inadvertently shows why people hated CSS at the start. He spends a lot of time talking about color space conversions that few developers care about and Unicode filtering that even fewer people know about but glosses over basic layout by mentioning how floats allow for better inline images.

It's like the designers didn't even think about layout because that problem was already solved with HTML tables. But the problem was that when CSS came out there it came with the mantra of _thou shalt not use tables for layout_ , but CSS was only specified enough to wrap text around an image, so designers had to torture inline-blocks and floats to try to achieve even basic layout tasks. This ended up bringing out a lot of edge case incompatibilities and fights with the layout engine. CSS had made the hard things possible while making the easy things hard.

It took _decades_ before browsers finally supported CSS grids. A feature that should have been in the spec on day one.

As for those Unicode filters the syntax barely matters. Anybody who needs one is going to Google the magic string for their language and paste it into the document. Nobody wants to build one of those from first principles. That's true of anything Unicode related—-it's too complex with too many weird edge cases for mere mortals to handle.

<comment><USER9> I remember spending ages on various ways to implement "the golden layout" or whatever it was called. Edit: Holy Grail. One header on top, then three columns, and then a footer. And the middle of the three columns should scale with screen width and screen height, such that the rightmost column was at the edge, and the footer was at the bottom of the screen if content was less than screen height.

And then a-list-aparts "faux columns" to make the columns seem to have the same height.

Edit: It was the "Holy Grail" it was named [https://en.wikipedia.org/wiki/Holy_grail_(web_design)](https://en.wikipedia.org/wiki/Holy_grail_\(web_design\)) So hard to do that it even has its own Wikipedia page, heh

<comment><USER10> I have a CSS book from that time, one I kept too long because I felt it was one of the better CSS books in its time and hasn't been replaced as I keep a certain amount of books for decorative purposes and haven't bought new development books in a while.

The final chapter, in a "putting it all together" style spent most of its time om a holy grail layout.

If I was writing a modern CSS book, this topic would be somewhere in the second quarter in a chapter on grid and flexbox.

</comment></comment></comment><comment><USER11> I have a weird relationship regarding CSS:

I kinda like it (although some things could be even a bit more powerful), yet everybody I meet tells me how horrible and hard etc it is. I never had that feeling at all, not even back when I started using it as a teenager to customise my MySpace site.

I cursed at how hard common things like centering a image within a div were, I cursed at the purposeful and ignorant incompatibilities of different browsers, but with CSS3 I was sold, even more so when grid based layouts and flexbox became a thing one could lean on.

The one thing that I miss is _a little_ bit more power when it comes to selectors. E.g. there is no way to select a <p> which has only a <img> as a child, which is coincidentally something that a standard conform markdown to HTML converter will produce. So you cannot — say give your <p> a max-width of 120ch without also limiting the width of the <img> contained within it. AFAIK there is a parent selector planned that might address this if I recall correctly.

<comment><USER12> You can't work out the logical consequences of seemingly obvious properties. That is unlike 95% of most programming I do in any programming language I've ever used. Since I have zero interest in learning unintuitive interfaces to GUI design, I have zero interesting in excusing CSS. It is not difficult to learn, it is not difficult to understand in terms of _conceptual_ understanding, it is downright _tedious_ to learn though - and you don't get anything unique out of it that can't be done in anything else: you get a nice looking website. Amazing.

<comment><USER13> Probably because very few learn CSS right. In particular: the box model.

All the devs I know that struggle with CSS don't understand it. The ones that don't have issues have internalized it and don't need to think about it much anymore.

The box model is one of those fundamental building blocks you really should be learning very early on, a bit like an "if" statement in imperative languages - you can hack around it with ternaries and single-iteration loops, but you're never going to be as effective or have as strong an understanding of the language as you should.

<comment><USER14> You can learn to do arithmetic with roman numerals but that doesn't mean its good.

<comment><USER15> This is more like saying you don't need to learn algebra and then saying you hate math because it takes too much work to get the answer you need. A surprising number of developers are under the mistaken belief that not learning how the web works is saving them time and over the years I've been amazed by how many people will instead unquestioningly spend years playing bug whack-a-mole with megabytes of JavaScript sturggling to replicate built-in behaviours.

</comment></comment></comment></comment></comment><comment><USER16> The biggest issue with CSS I think for many is the emergent complexity from the interaction of different properties. Especially those inherited through the cascade. Much of this emergent complexity is not always consistent cross- browser.

Additionally, there are often many ways to accomplish the same result but fully understanding the implications of certain approaches over others is also a headache at times.

Speaking personally, something touched on in this article, is that many things don't really make sense to me or at least I don't find them intuitive - <USER2> I've been working with CSS daily for 14 years. It does often feel like a scatterbrained, horse designed by committee type of thing.

It's like CSS only makes sense when you learn to see the problem through the eyes of whomever specced out that particular feature, which can also be said for trying to read CSS written by another developer.

<comment><USER17> _The biggest issue with CSS I think for many is.._

..that they haven't looked at it for years and assume it's still as hard to use as it was when it was new. In any discussion about CSS _someone_ will eventually post that "vertical and horizontal centring is really hard, and that's why CSS is terrible"[1], and all it shows is that their skills are out of date.

[1] Seriously, it's as easy as "display: grid; place-items: center;" these days (if the element has width and height somewhere in the cascade).

<comment><USER18> I'm no expert here, but I think the model of always adding new syntax doesn't help people realize that CSS has gotten so much better.

<comment><USER17> Given the choice between making life easier for developers who are too lazy to learn some new syntax and literally breaking the whole of the internet because websites stop rendering correctly with the changed meaning of things, I think I'd side with the adding more syntax. It's not even a hard decision.

</comment></comment></comment></comment><comment><USER19> One thing I've been realizing is that layout and style are two different thing. Layout I almost always want done on the parent element, and style, I almost always want done on the child element.

For example, I probably always want h1 elements to have the same font/weight/size. That's style, and should be defined on the h1.

In contrast, the h1 within a blog post may be positioned very differently from the h1 within a video page, so I'd want to define that in the blog post and video page styles, respectively.

Of course, where this gets complicated, is that there's not always a clear boundary between style and layout. For example, I might always want the same amount of space under the h1 between the h1 and the content it titles (style?) but the top/left/right spacing is probably more dependent on the context (layout?). There are some hard to communicate tradeoffs here.

<comment><USER20> And then you discover semantic classes for styling elements, eg `.amazing_h1.with_padding` and use nested selectors for layout like `.blog_post > h1` or maybe even utility classes `.amazing_h1.with_padding.centered'.

<comment><USER19> If you're doing class='centered' or class='with_padding', I don't see any reason not to just do style='align-self:center;' or style='padding: 1rem;' instead. The class names communicate less (Is that centering the content of the element, or the element itself? Is that vertical or horizontal centering, or both? Is the text being centered?). And it doesn't allow you to make sitewide changes like a semantic class does (You might want to change all .blog-title elements from centered to left-aligned, but do you really want to change all .centered elements from centered to left-aligned?). I'd go so far as to say this is an antipattern.

<comment><USER21> Disagree. This is utility classing and you can target pseudo elements and deal with responsiveness. Tailwind is pretty popular and uses this methodology.

</comment></comment></comment></comment><comment><USER22> Article revealing origins of CSS should at least mention that one of its (at least initial) primary goals was to set that "entirely different academic yet simple presentation language" in a way it would __allow dialogue among at least three agents expressing their visual preferences __. This mechanism, cascade - the the "C" in "CSS" \- is that mechanism that sets rules how different preferences should be merged together and conflicting resolved in final visual presentation of documents.

Simply said, that what style sheets communicates are mere _suggestions_ for appearance: browser has its "default" style sheet, users can set their own set of rules, author sets their, but user and browser still have control what author can and cannot change.

I see this "origin specificity" as very important fundament that explains a lot about the way CSS emerged and evolved. This bit of information, however "obsolete" it may feel nowadays in age of web applications (but not obsolete standards-wise), is perhaps too obvious to most professionals, yet I see it omitted from learning materials, or dug very deep in them.

(Sorry for repeating myself here at HN, and sorry if I overlooked it in the article, I admit I've just skimmed it searching for this exact piece of information.)

</comment><comment><USER23> CSS is amazing. It's hilarious to watch the twisted ways people will work around it, or spend time making libraries to find solutions to problems that don't exist; without ever even trying to get comfortable with it. Its an amazing and simple piece of technology. Kind of a shame. Id love a real history and critical discussion on the "tools" we have now for web dev.

<comment><USER24> I'd rather it be a programming language, which Netscape tried to do with Javascript Style Sheets in the late 90s. Was way more flexible, but was never accepted as a standard and of course, was not supported by IE.

<comment><USER23> and yet millions of people have expressed themselves, published information, shared it, and benefitted. so... it works.

the corruption of the net is proportional to the corruption of the tools. a shame really.

</comment></comment></comment><comment><USER25> I was trying to articulate why CSS is so unpleasant for me. I've learned enough tricks and techniques to tolerate it, but there's still plenty of times where I despise it. There's a few glaring issues:

\- No way to style according to siblings. This is a big mental model shift. Often times I want a div to be the same height as another div. Since CSS doesn't really allow sibling communication, I need to get the parent div to set the height and then tell the children to play along. Or manually set the height on both children.

\- Error handling is so so bad. It sucks to have your styles break silently due to an errant comma or space. Well typed styles like bs-css[^1] have made this somewhat tolerable.

\- The weird tug of war between positioning yourself versus positioning your child. I understand the reason for both but it's offputting having both as an option.

\- Lack of z index positioning. Often I want to superimpose one element on another, say a caption on an image. Right now I need to resort to position absolute, then do the standard dance to center something by computing 50% + half the size of the overlayed element. Not fun. I'd love a flex-direction: into-page that does flexbox over the third dimension. It'd be a little tricky to understand but honestly not too bad.

What's weird is that in some ways these issues have gotten worse with components. Since I can reuse a component, I now need to think of how its styles will work in every usecase. For instance I had forgotten to set my component's background to white, since it was already white by default. When I moved the component to a blue background, boom, it became garishly blue. Of course this is my bad, but it sucks that we have to carefully engineer our styles such that moving a component into a new context won't screw it up.

[^1]: [https://github.com/reasonml-labs/bs-css](https://github.com/reasonml- labs/bs-css)

</comment><comment><USER26> I think most of the complaints against CSS is because don't understand the problems CSS is trying to solve. It is _not_ just a question of putting text and colors on a screen. You can do that with Postscript or PDF or SVG or several other comparatively simple technologies. CSS is trying to tackle a _much_ harder problem:

\- Layout and typography which can be readable on various devices with wildly different dimensions, aspect ratios and resolutions.

\- Incrementally rendered (i.e. the start of the document can be rendered before the whole document has been loaded)

\- Allow users to enlarge the text size while keeping the text legible. (In a PDF you can zoom, but then you will have to scroll vertically back and forth for each line.)

\- Backwards compatible with the display model of pre-CSS presentational HTML

No other technology exist which solves all these problems. If you ignore one of more of the above constraints you can probably devise a simpler and more intuitive styling language.

</comment><comment><USER27> I've found that since using utility/functional CSS in the form of Tailwind that I actually enjoy making UI's now. Coupled with componentization in the form of a JS framework like Vue, I don't need to stress over CSS anymore.

No more LESS or SASS, no more .header-container, .header-parent-inner crap.

[https://adamwathan.me/css-utility-classes-and-separation- of-...](https://adamwathan.me/css-utility-classes-and-separation-of-concerns/)

I'm sure some puritan naysayer will disagree but whatever. I value design system focused and productive styling for frontend. It works very well.

<comment><USER28> This article would have much less of a problem with CSS if they actually used the cascade. All those instances of double underscore in class names should be two separate classes: ".author-bio__name" becomes ".author-bio .name". Then you can style the generic .name while also having control over specifically author names.

The end of the article comes to the same kind of conclusion (use multiple classes), while also using CSS as a style standard. But the beginning shouldn't even be an option.

<comment><USER27> I actually don't really like the cascade.

</comment></comment></comment><comment><USER29> I have noticed a commonality between systems that are unintuitive to use like git and CSS: they didn't sufficiently mimic nature, or common everyday concepts.

Say you design a new relational DB. You want all the postgres and SQL people to switch so you adopt SQL as the querying language. Your DB becomes so popular that it eventually gains +80% market share. Many people now have to learn SQL as their first querying language and now you've created another git.

Another scenario is a system being appropriated for something else like CSS was (?).

Copying your competitors is simply not a guarantee that your system will stand the test of time. The only constant is nature.

</comment><comment><USER30> CSS is a lot like JavaScript: cobbled together in a hurry and designed to be excruciatingly easy to get started with, almost to the exclusion of all other concerns.

It makes me wonder if it's even possible to design a language that's both easy for abject beginners, while simultaneously being powerful, expressive and productive for experts at scale. Is that even a topic of study in language design?

<comment><USER31> Julia

</comment></comment><comment><USER32> Ever notice how the phrase "I love how CSS works..." is inevitably followed by "but x or y really sucks, is too complex, is inconsistent..." I can't recall meeting a cheerleader for CSS the way you do for, say, lisp/scheme or forth.

Sure, everything has gaps, and fans are the first to point them out... but CSS fans always have a lot of fuel to bring up in the flaws dept.

It's starting to feel like css is approach emacs/vim level of argument- starting tinder.

Is that because it's so good, or because we are stuck with it?

<comment><USER15> It's because CSS is a widespread distributed system which you don't entirely control. Programming language fanboys are usually just not being entirely forthright but they are also usually speaking from easy mode where they control all of the parts of the system, can upgrade at will, and don't need to support anyone else's projects.

Languages like Lisp, Scheme, or Forth have both a selection bias (mostly used by fans) and they just aren't that widely used. If millions of people were writing code expected to run with a standardized API on billions of clients where it might take 5 years or more to drop support for an old version, they'd find more things to complain about. It's not a coincidence that the best thing which happened to CSS was the rise of the evergreen browsers shaving years off of the time between a feature being released and someone being able to rely on it existing.

</comment></comment><comment><USER33> Great read, a related and entertaining CSS talk is CODE GENIUS - <USER3> Shit Show by Jacob Thornton

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

<comment><USER34> I also recommend Kevin Powell videos:

[https://www.youtube.com/kepowob/featured](https://www.youtube.com/kepowob/featured)

I learned some obscure CSS features from him.

</comment></comment><comment><USER35> As a developer from 2005 or so onwards, I have only ever known the Markup + Stylesheet system, having read a huge number of articles, where it was touted having the document markup separate from the styling was the holy grail of web design and productivity.

Nowadays, I see mixing of styling and content to be all the rage, which I actually feel is easy to use. Of course, component systems still split out the styling and document markup, but the line, and developer thought procress is a lot blurrier.

I would love to know if there are any better systems of presentation, compared to the document + markup paradigm.

</comment><comment><USER36> "People were excited just to see documents that lived on other computers across the world—and not just in plain text, but with headings and lists, too!" \- I remember that feeling so well.

</comment><comment><USER37> We need a time travel machine to remove the CSS and add Objective-J. Objective-J is great for people who don't want HTML / CSS hell. I asked the Objective-J author about native browser support as JS/HTML/CSS because performance was matter 10 years ago. And got the answer is "they wil never browser builtin other than JS/HTML/CSS". And now we have multiple new ecosystems, template engines, package managers, languages, reactive frameworks, and other 15 standards

</comment><comment><USER38> To summarize the answer in a single line: "We added it to the specification, thinking we could always improve it later"

CSS is not the only victim of this approach, just particularly bad case.

</comment><comment><USER39> Other articles about the history of CSS and how it came to be: [https://eev.ee/blog/2020/02/01/old-css-new- css/](https://eev.ee/blog/2020/02/01/old-css-new-css/) ; [https://www.w3.org/Style/CSS20/history.html](https://www.w3.org/Style/CSS20/history.html)

</comment><comment><USER40> As someone not at all involved in web development, if I wanted to learn CSS properly, with all the new flexbox/grid support instead of fighting with margins etc, what are some good recommendations? Like say I don't care about browsers older than a year ago and I only want to use the sane parts of CSS.

<comment><USER41> I haven't read this, but I know quite a few people who recommend this book by John Duckett [http://www.htmlandcssbook.com/](http://www.htmlandcssbook.com/)

These are resources I used to learn grid and flexbox. [http://cssgridgarden.com/](http://cssgridgarden.com/) [http://flexboxfroggy.com/](http://flexboxfroggy.com/)

The site I inevitably have open looking some how to do something with css [https://css-tricks.com/](https://css-tricks.com/)

</comment></comment><comment><USER42> In 2020 CSS is amazing and only getting better.

</comment><comment><USER43> Some help can be found with typed CSS:

[https://package.elm-lang.org/packages/rtfeldman/elm- css/late...](https://package.elm-lang.org/packages/rtfeldman/elm-css/latest)

[https://github.com/reasonml-labs/bs-css](https://github.com/reasonml-labs/bs- css)

Or even a typed alternative to/subset of CSS:

[https://package.elm-lang.org/packages/mdgriffith/elm- ui/late...](https://package.elm-lang.org/packages/mdgriffith/elm-ui/latest/)

</comment><comment><USER44> HSL is fine. More people are familiar with it than with CIE LCH, and familiarity is the most important thing. There may be better color systems, but to paraphrase the saying, there are also better alphabets.

</comment><comment><USER45> As flawed as CSS is, it's uniquely special in that you can get by through trial, error, and mimicry without having to read a single book or have any deep understanding.

</comment><comment><USER46> I despise CSS. Typescript has made JS a lot better. But I despise CSS. It's not engineering when you're writing CSS. it's all guess work.

</comment><comment><USER47> > _Why is CSS the way it is?_

Because all its original creators were programmers and didn't think to invite even a single person who'd ever worked an hour on visual design. Check on Wikipedia, it's unbelievable but true.

</comment><comment><USER48> >> But despite our best efforts, frustrating or confusing features exist, and in all likelihood will continue to be added.

The above statement makes me question both the sincerity and intensity of "best efforts."

</comment><comment><USER49> I don't get it ... for me CSS is very easy. It's logic and clear. But yes you have to learn and work with it. It's ok ... so not everybody can master it drive-by and call themselfs an expert.

<comment><USER7> My problem with CSS is not so much with its idiosyncrasies - though I still find myself getting tripped up by ::pseudo-elements when they're used for anything more than show-off quote marks.

Rather, it's with the way people use it.

For instance when working with a code base handed over to me for maintenance, it's often been the case that the code has already passed through several previous developers/companies. And a lot of those people have fixed presentational bugs over the years by adding !important rules in various places across the various CSS files that contribute to the site. It drives me nuts! Also: commenting out huge swathes of CSS code in a file, but not deleting it ... just in case it's needed again. Why??

The other thing that concerns me is the way new functionality gets added to the CSS spec. Take animations - do they belong in the CSS code, or Javascript? Yes CSS animations are (generally) faster, but the more complex the animation, the harder I find it to understand a CSS implementation. And it's gonna get worse in the future thanks to CSS Animation Worklets, which are being developed as part of the CSS Houdini thing.

There comes a point when I have to decide: CSS or Javascript. I can't keep up with developments in both, and I enjoy coding Javascript more than CSS. </end- self-pitying-moan>

</comment></comment><comment><USER50> I really appreciate the mobile version of this article. Clean, lightweight and beautiful.

</comment><comment><USER51> Can we just embed Flutter in every browser? !important

<comment><USER52> It was called Flash.

<comment><USER53> Everyone loves to hate Flash, but as an environment to create things it was actually great.

It was the player that wasn't great.

<comment><USER54> Yes, Flash was a great tool to create stuff. (I only used it in Macromedia times)

This however also lead to an abuse and for a while you had websites, fully in flash which broke so many things (deep linking/bookamrks, browser history, etc.) combined with unintuitive navigation and slowness due to animations ... plain overuse of an otherwise good technology.

<comment><USER55> > broke so many things (deep linking/bookamrks, browser history, etc.)

Truly we have failed to learn from past mistakes.

<comment><USER54> Modern JavaScript frameworks have support for this and a result of Flash's experience is that browsers have specific APIs for that ... however: each new generation of developers has to learn :)

<comment><USER56> Yes but JavaScript generations are like every six months.

I took a 3 year break from anything Frontend. Felt like I had gone through a time machine.

</comment></comment></comment></comment></comment></comment></comment><comment><USER57> These comments read like the opinions of people in a post communist country. All the bad sides have been forgotten and all that's left is nostalgia.</comment>


Ask HN: What do you think of my start-up? - <AUTHOR>

Hi,
I am looking for feedback on a project I am working on called Unifolio. The url is http://unifolio.co.uk/
In a nut shell it is a free student focussed portfolio website. The ultimate goal is to allow students from creative fields to showcase both themselves and their work in the best possible light to potential employers, which will hopefully increase their chances of gaining employment. You can learn a bit more about the project here: http://blog.unifolio.co.uk/about-us/
The main areas I would like feedback are on the registration process and control areas of the site. Any and all feedback is welcome.
Thanks
Miles <comment><USER2> \- Miles, I like the idea. It's not bad.</comment>


I'm a black software developer and that's not funny - <AUTHOR> http://codethellow.wordpress.com/?p=2&preview=true

<comment><USER2> Page not found.</comment>