Revisiting the Intel 432 (2008) - <AUTHOR> http://dtrace.org/blogs/bmc/2008/07/18/revisiting-the-intel-432/ <comment><USER2> The Colwell paper really is excellent. And given feature sizes of chips today it would be fascinating to see a 432 implemented as envisioned, rather than as possible given transistor counts of the day. It was going to be the microprocessor version of the MULTICs system and much of what it imagined doing in hardware (capabilities) would make for secure environments that you could reason about more effectively. Probably make for a great FPGA project now.

<comment><USER3> CHERI. [http://www.cl.cam.ac.uk/research/security/ctsrd/cheri/](http://www.cl.cam.ac.uk/research/security/ctsrd/cheri/)

<comment><USER2> Thank you! Those are awesome. Downloaded all the papers to my iPad for perusal.

<comment><USER3> This is the newest (and my favourite) paper [http://www.csl.sri.com/users/neumann/2015oak.pdf](http://www.csl.sri.com/users/neumann/2015oak.pdf)

Another chip that is better supporting privilege separation (but not using Capability-based addressing) is the Mill. (disclosure: I'm on the Mill team).

</comment></comment></comment></comment><comment><USER4> Since learning of it, I have always been disappointed that I was not able to write and run software for a Burroughs machine running the MCP

[http://en.wikipedia.org/wiki/Burroughs_MCP](http://en.wikipedia.org/wiki/Burroughs_MCP)

"the first operating system to manage multiple processors, the first commercial implementation of virtual memory, and the first OS written exclusively in a high-level language."

using the Work Flow Language

[http://en.wikipedia.org/wiki/Work_Flow_Language](http://en.wikipedia.org/wiki/Work_Flow_Language)

Like the success the 432 could have been I feel that the Burroughs architecture was prematurely abandoned and at modern speeds would have plenty to offer.

<comment><USER5> Burroughs MCP still exists, so I am not sure how true your statement that it was "prematurely abandoned" is. Burroughs became (through a series of M&As) Unisys, and Unisys still supports MCP and is updating it with new versions. It runs on Unisys Clearpath mainframes. Unisys has moved away from their distinctive physical hardware to software emulation on an x86 platform. x86 has improved so dramatically, that even given the emulation overhead, it still is faster than the old physical mainframe CPUs.

There is also an emulator which runs an old (1970s) version of MCP, not the current (2010s) version - [http://www.phkimpel.us/B5500/](http://www.phkimpel.us/B5500/)

<comment><USER4> Thank you, your response was partly what I was hoping to get by saying it.

</comment></comment></comment><comment><USER6> This post could have its publishing year 2008 included in the HN title.

Seven years later, we have some perspective on the author's prediction:

"Indeed, like an apparition from beyond the grave, the Intel 432 story should serve as a chilling warning to those working on transactional memory today."

Intel's transactional memory implementation TSX was famously broken in its initial incarnations in Haswell/Broadwell. [1]

[1] [http://en.wikipedia.org/wiki/Transactional_Synchronization_E...](http://en.wikipedia.org/wiki/Transactional_Synchronization_Extensions)

<comment><USER7> And a few months after that, the gloves really came off.[1]

[1] [http://dtrace.org/blogs/bmc/2008/11/03/concurrencys- shysters...](http://dtrace.org/blogs/bmc/2008/11/03/concurrencys-shysters/)

<comment><USER8> Thanks!

The link to the article in ACM Queue (October 24, 2008) which is a deadlink on that page at the noment is now:

[http://queue.acm.org/detail.cfm?id=1454462](http://queue.acm.org/detail.cfm?id=1454462)

"Real-world Concurrency, Bryan Cantrill and Jeff Bonwick, Sun Microsystems"

It's sad that ACM is not able to redirect their old links properly.

The other article mentioned is probably:

[http://queue.acm.org/detail.cfm?id=1454466](http://queue.acm.org/detail.cfm?id=1454466)

"Software Transactional Memory: Why is it only a Research Toy?"

I'm actually searching for the analysis of the Intel's implementation.

<comment><USER7> Argh -- my apologies for the dead links! I have updated all of them, with my apologies again for the apparent inability of the ACM to honor old links.

</comment></comment></comment></comment><comment><USER9> Are there any parallels worth observing between the Intel 432 history and the Itanium history?

I was always enthusiastic about Itanium when it was announced and sad when it didn't unseat the x86.

<comment><USER10> I think of Itanium as the i860¹ redux. Andy Glew et al had some interesting discussion on comp.sys.arch² about MPX³ as an emasculated descendant of a capability system.

¹ [http://en.wikipedia.org/wiki/Intel_i860](http://en.wikipedia.org/wiki/Intel_i860)

² which this www is too small to contain

³ [http://en.wikipedia.org/wiki/Intel_MPX](http://en.wikipedia.org/wiki/Intel_MPX)

</comment></comment><comment><USER11> I want to call this text out, because I nearly did a spit-take when I saw it, and someone skimming the post may miss it:

 _The mortally wounded features included a data cache (!), an instruction cache (!!) and registers (!!!). Yes, you read correctly: this machine had no data cache, no instruction cache and no registers — it was exclusively memory- memory._

No. Registers. I would love to know what discussions they had, and what arguments were made, to come to that decision. That point alone has made me re-open the paper to take a closer look.

<comment><USER12> It was a stack machine. No user visible registers.

One of the neat things about stack machines is that you can quietly add registers to a machine in the background without having to recompile code.

I think this would have been a huge advantage over time. Being able to add registers and performance without having to recompile code. It took us decades to add a few new registers to the X86 architecture.

Just imagine if every single (286, 386, 486, pentium, pII, etc) generation had more registers and they were automatically used by software.

Pretty neat imho.

IIRC it was also a tagged architecture as well. So they could define a generic instruction set and fallback to software implementation for many ops, adding hardware implementations at leisure.

Executive summary: They could have done it right first, then made it fast. Rather than make it fast, then try and clean up the technical debt later.

<comment><USER13> >Just imagine if every single (286, 386, 486, pentium, pII, etc) generation had more registers and they were automatically used by software.

This is, in fact, exactly what modern processors do. They have upwards of a hundred registers internally.

<comment><USER14> Although because the x86 only has a handful of architectural registers, it has to spend quite a bit of area and heat working out how to make use of them all.

The SPARC's register window design was rather more elegant - provide 520 architectural registers, arranged in a stack, and shuffle between physical registers and memory as needed:

[http://ieng9.ucsd.edu/~cs30x/sparcstack.html](http://ieng9.ucsd.edu/~cs30x/sparcstack.html)

Unfortunately, it seems it didn't actually work very well!

<comment><USER15> I had a professor in college bag on those, but he never really explained why. Does anybody know?

<comment><USER16> Oh where to start.

* Primarily, compiler technology leap frogged it to where you can do at _least_ as well with a fixed set of registers and a global allocator.

* The windows were inspired by SPURS (IIRC), where it allowed a much finer granularity whereas SPARC's window is always exactly 16 registers (8 are global, and 8 overlap with the next or previous window).

* Windows turned out to be a real PITA for super scalar implementation.

* Windows assume a constrained model of computation and makes efficient tail recursion hard and co-routines impossible.

etc etc

Give me more time and I could make the list longer, but the crux is that it's another example of a misguided shorted sighted optimization (like branch delay slots, shared with many RISCs).

<comment><USER14> I really liked the idea of branch delay slots too :(.

<comment><USER16> I can promise you wouldn't once you've tried going beyond the simplest possible single issue pipeline. Thankfully branch prediction made them sort of pointless. RISC-V and Alpha are two of the better RISCs ISAs in this world and they don't have them. Read the RISC-V ISA footnotes [1] for excellent design decisions rationales.

[1] [http://riscv.org/download.html#tab_isaspec](http://riscv.org/download.html#tab_isaspec)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> [http://en.wikipedia.org/wiki/Intel_iAPX_432](http://en.wikipedia.org/wiki/Intel_iAPX_432)

Intel's first 32 bit processor. Tried to get away from the 8008 and 8080 and be like the 8800. Was more like a micromainframe in design. It was a stack machine with no registers.

</comment><comment><USER18> _" every function was implemented in its own environment, meaning that every function was in its own context, and that every function call was therefore a context switch!. As Colwell explains, this software failing was the greatest single inhibitor to performance, costing some 25-35 percent on the benchmarks that he examined."_

It's too bad because this is the future of computing. Or more precisely - rather than having a "process" that owns child data and functions, future processors will default to every function running in its own isolated environment, defaulting to no shared state. There will be a more advanced copy-on-write permissions model that determines what's shared (if anything), more like shell processes or channels in languages like Go. To have that kind of scalability (with respect to future goals like multiprocessing) and security at only a 35% performance cost would certainly have been compelling, especially in the 1970s.

It's too bad that they didn't understand the physical limitations that make registers and caching basically a necessity, because it might have saved them. These things are only optimizations, so with today's available chip area and place and route techniques, they could be wedged into a conceptually correct architecture without much trouble.

In short, I would take these findings with a grain of salt and consider how technology has advanced to the point where yesterday's blunders might be tomorrow's breakthroughs.

</comment><comment><USER8> Reading about 432, I didn't expect:

"Instructions are bit variable covering a range from 6 up to and beyond 300 bits in length using Huffman encoding (I, 171)."

Huffman compressed instructions. Wow.

[http://www.brouhaha.com/~eric/retrocomputing/intel/iapx432/c...](http://www.brouhaha.com/~eric/retrocomputing/intel/iapx432/cs460/)</comment>


Two (programming language) features that would improve my life - <AUTHOR> http://www.plsadventures.com/2009/09/two-features-that-would-improve-my-life.html

<comment><USER2> _I have very little tolerance (or desire to use) visual programming environments, or "CASE tools", or very dynamic languages that permit "rapid prototyping"._

Someone give this guy a "quick application delivery tool" that isn't a dynamic language, or a prototyping tool, or a CASE tool, and make sure it's strapped to the back of a baby unicorn.

Why do otherwise good programmers insist on being ..

He is an MLer, you can't accuse this guy of being stupid, short sighted or trendy. Yet, he is going out of his way to handicap himself. ML is a big- picture programming language: you understand everything, then you type it out. Dynamic languages are better suited for exploratory programming; you start with your algorithms solving the simplest case, then you make things more sophisticated as you go. There is nothing "prototyping" about them; the difference between my prototypes and my production code is that my production code listens on a privileged port and has a cron job watching over it.

<comment><AUTHOR> I didn't enumerate the reasons that I don't use dynamic languages, because that would have been flame-bait territory.

I see this suggestion as a way in which static languages could be better at prototyping in the same way that dynamic languages sometimes are, so I think you noticed my (implied) assumption that there was something desirable about this idiom that is not as readily achievable using existing methods in languages like ML or Haskell.

That said, I can't see that there is any reason why what I suggest wouldn't be useful in a dynamic language, too. The implementation details just change a bit.

Even bringing dynamic languages into the conversation was an just to counter to people saying "Use ___" where ___ is one of Python, Ruby etc, which is basically a non-solution for my purposes.

<comment><USER2> If this was anybody else, I would tell them to explore alternative programming methodologies, styles, and languages. But not you gdp; you know what you're doing, so if you're hitting a dead end with interactive ML, I don't think many people can help you, you might be at a frontier here (at least I can't; I have dropped my last static language 8 years ago when I decided to have my cake and eat it too with the Lisp family.)

<comment><AUTHOR> Well, sure, I wasn't hoping that somebody would say "this already exists and here it is" (though that might be nice) - I was saying "here's something that would improve my life". Maybe I'll even take the time to implement it one of these days!

</comment></comment></comment></comment><comment><USER3> Basically he is describing an advanced REPL. But he doens't want a dynamic language.

<comment><USER4> SML, OCaml, and Haskell are all statically-typed languages with advanced REPLs, just not with the features he wants. It sounds like he want a constraint solver, among other things.</comment></comment>


Ask HN: How much should i sell a niche Ad network and where? - <AUTHOR>

Hey guys i built an ad network (www.adclays.com) like buysellads in September. I have not been able to focus on it as i got into a degree course in pharmacy and have been distracted. It currently has about 50 publishers who tried it out for the beta. The site has not made any money for itself since i made it free for the beta period. I want to sell it completely or for equity. Please check it out and advice on how much i should sell it for and where. Thanks HN <comment><USER2> It looks like this is only to manage direct placement sales, does it do any CPM/delivery stuff across the whole network?

<comment><AUTHOR> Yes it is only for direct sales of ad zones.

</comment></comment><comment><USER3> You can try selling it on Flippa. As for how much it depends on how much money its making.</comment>


The Declaration of Twitter Independence - <AUTHOR> http://twitterindependence.com/

<comment><USER2> > We hold these truths to be self-evident

Really? Really guys? We're going to invoke the Declaration if Independence on an impotent campaign page about Twitter?

Just stop using Twitter. Problem solved.

<comment><USER3> p-a-r-o-d-y

<comment><USER2> What is this a parody of?

</comment></comment></comment><comment><USER4> I'm sorry, but this is absurd. It's not tyrany and oppression, it's Twitter's API and they set the terms they want. You agree to those terms (and to the fact that Twitter can change them at will) the exact moment you start using the API.

Twitter won't be affected in any way: they already said that they don't want third party clients. Developers creating apps that Twitter accepts (analytics, social media for business, etc) won't stop supporting Twitter (they would lose users, opportunities and money). Only developers who create "non-OK" apps would join this, and if we did Twitter would be happier than ever as they stopped us without any action on their part.

And no, I don't support Twitter API changes, but we knew that we were taking risks when developing for a closed platform.

EDIT: added last paragraph.

<comment><AUTHOR> The tyranny and oppression bit is satire. And disallowing the creation of third party clients is only a minor piece of a much larger puzzle. When good services like IFTTT are forced to stop using the API, there's obviously something wrong.

<comment><USER4> TC reports that IFTTT was actually infringing terms before the API changes: [http://techcrunch.com/2012/09/20/ifttt-has-actually-been- in-...](http://techcrunch.com/2012/09/20/ifttt-has-actually-been-in-violation- of-twitters-api-for-months-todays-move-unrelated-to-1-1/).

I suppose that they've just noticed it and decided to take it down.

And yes, of course there's something wrong. It's not fair to grow helped by third party apps and them trash them, but, as I said, we all knew that this could happen. We can't trust that any company won't be evil during all of its lifetime, specially when that company needs to show real money to investors.

</comment></comment></comment><comment><USER5> What percent of developer frustration falls under "We're making money off Twitter without paying Twitter anything and now we're upset that we can't do that anymore"?

<comment><USER6> I'm guessing... 100?

</comment></comment><comment><USER7> "Fork the project on Github, and add yourself as a signer in a pull request."

Seriously? Just because they redesigned the profiles to look like Facebook that doesn't make the forks the new "like".

<comment><USER8> I actually thought that the whole "fork to add yourself" thing was interesting, in that it would add a tiny bit of weight to the signatures. The bar for signing is to have a Github account, and to know what "fork" and "pull request" are. The probability that someone who can add their signature is actually a developer is presumably somewhat higher than if there was a big green button that any disgruntled user could casually press.

[EDIT] I don't use or care about Twitter, so I'm not trying to defend the goals of this particular petition. I just thought "fork to sign" was kind of interesting.

<comment><USER7> Say this catches on and you have two push requests, which one are you going use, because odds are you need to merge the second one by hand. This is not practical, but at least you get a fork.

<comment><AUTHOR> I'll gladly manually merge in this case. It doesn't scale obviously, it's more novelty than anything else.

</comment></comment></comment></comment><comment><USER9> Grow up. Twitter doesn't owe you anything.

<comment><AUTHOR> It's not about Twitter owing me, or anyone else for that matter, anything. If you release an API under the premise that developers are going to build apps that enhance and refine your existing service, then it is your responsibility to maintain a fair and open attitude towards them.

<comment><USER10> You can't effectively say "they don't owe me anything" and say "they owe us a fair and open attitude" in the same sentence and expect to be taken seriously. They don't owe you anything. You don't pay them for anything. There's risk in piggy backing on another service. There always has been and always will be. This same reaction occurs every single time an API gets closed, changed, or altered in ways that developers don't like.

If anything, you provide a disservice to developers by invoking and promoting such a, pardon me but, whiny attitude towards something that should you should understand to be basic business.

<comment><USER11> Twitter does owe a fraction of its success to its developer ecosystem. By upsetting said ecosystem, they're hurting themselves.

<comment><USER10> I'm sorry but don't see what that has to do with the misplaced sense of personal entitlement.

<comment><USER11> It's not about entitlement so much as don't piss off the people who add value to your platform

</comment></comment></comment></comment></comment></comment><comment><USER12> Develop for status.net then? They don't have the user base, but if you make a killer app that runs there but not on twitter, well, you'll still win. If not, it's twitters fault they will fail when all 3rd party devs get new projects.

</comment><comment><USER13> Has anyone actually offered Twitter _money_ for the API? Like, give Twitter a _reason_ to allow access to their rather valuable data?

</comment><comment><USER14> I see there are about 10 signatories. Wow. Big :-/

Would a better "declaration-of-independence-by-github-fork" be to encourage people to fork tentd, and install to <insert free hosting service here>

</comment><comment><USER15> Please just change the heading font to something more readable!

<comment><AUTHOR> Updated. Thanks for the suggestion

</comment></comment><comment><USER16> The man who controls the press, controls the speech.

Twitter undeniably controls the press in this case - they can do whatever they feel like.

</comment><comment><USER17> I think it might look better if you used a different cursive font, or even a print-press font rather than a cursive font.

<comment><AUTHOR> I picked this guy

<http://www.google.com/webfonts/specimen/IM+Fell+English>

<comment><USER17> The new font is much more readable. Cheers.

</comment></comment></comment><comment><USER18> App.net

</comment><comment><USER19> I clicked for the headline but won't sign it because because it would mean I still have interest in using twitter as a developing platform and I don't.

I rather just ignore it and let it fade away and hope it to take all it's egotic celebrities, teenies, morning-tv-moms, smartasses, attention seekers, ads, media & marketing businesses, and all the rest of waste with them, feeling good!</comment>


Student Doodles from the Middle Ages - <AUTHOR> http://www.studio360.org/story/student-doodles-middle-ages/

<comment><USER2> Also related: The doodles by a 13th century 6 or 7 year-old: [http://en.wikipedia.org/wiki/Onfim](http://en.wikipedia.org/wiki/Onfim)

<comment><USER3> this is interesting and really cute, but without context it's meaning remains cryptic. I.e. I'd really like to know where he was taught, what family he came from, etc. The article mentions high degree of literacy in the population, but I don't think (public) schools were a thing then. So my best guess is about military service as a civil duty and literacy as part of early childhood military education. Not to say conditioning. I find that thought too pessimistic, anyhow. But jolly peasents engaged in vocational exercise doesn't strike me as very common for the time.

<comment><USER4> No, it was religious education. I don't know the exact situation in Novgorod at the time, but throughout Europe in urban or near-urban areas it was common for first sons to inherit the family business, while subsequent sons would undertake some sort of religious training, either monastic or not.

<comment><USER3> Ah, of course. Assuming the close relation of knighthood and religion, I still wouldn't dismiss my unfounded theory.

</comment></comment></comment></comment><comment><USER5> There's something about these that just feels incredibly human.

<comment><USER6> Can't cage human mind. Never could, never will.</comment></comment>


What is the best software to analyze conversion funnel? - <AUTHOR> Google analytics doesn`t provide full picture of users` activity. Does someone have experience with software to analyze it more deeply? <comment><USER2> I am actually working on a self-hosted anlaytics tool targeted towards conversion-rate-optimization. I am still adding new features, so currently the funnel part is not that well showcased, but you can have a look and let me know features that you find important are missing: [https://www.usertrack.net/](https://www.usertrack.net/)

</comment><comment><USER3> So far I'm quite happy with [https://amplitude.com/](https://amplitude.com/)</comment>


San Diego man's $58,000 nightmare with Tesla Model S - <AUTHOR> http://www.sandiego6.com/news/local/San-Diego-mans-58000-nightmare-with-a-Tesla-Model-S-277017201.html <comment><USER2> So he bought a salvage title car and is refusing to sign a liability release form. I see nothing wrong with Tesla refusing to work with him in this case...

<comment><USER3> Agreed. Whose to say something isn't wrong with the car and the battery explodes, causing him harm? He would probably turn right back around and sue Tesla. Not to mention the negative press.

I don't blame them one bit.

</comment></comment><comment><USER4> "The document they wanted me to sign didn't indicate they were going to do any repairs to the car, or get it up and running. They can take the car. They can keep it. They can do whatever they want with it."

I don't see anything in the linked form they want him to sign ([http://s3.documentcloud.org/documents/1305093/tesla- salvage-...](http://s3.documentcloud.org/documents/1305093/tesla-salvage- release.pdf)) saying they can take, keep or "do whatever they want" with the car. The reporting here is just shoddy.</comment>


InQuickER: See the ER doc in 15 minutes or less, or your ER visit is free - <AUTHOR> http://inquicker.com/

<comment><USER3> So, I've been an ER nurse for the last 15 years. I run the Hackers and Founders Silicon Valley meetup, and I love to support startup ideas. It's extremely rare that I don't support a startup idea or give it a fair shake.

This is a _spectacularly bad idea_. I can unequivocally say without a doubt that if you pursue this service, someone will die.

Why? Because I've seen it happen.

Part of my job as an ER nurse is to triage patients that come in. Triage involves sorting through the dozens of patients that come in every night, and decide who can wait and who cannot because they have a life threatening emergency. People having symptoms of a heart attack move to the front of the line. People who ate a bad taco and have the shits get seen on a space available basis. That's the gig. I sort patients: sort_by_acuity([bad taco, bad taco, bad taco, heart attack, runny nose, cough, gun shot wound, ear infection, headache, headache, headache, stroke, headache]).

I've been doing this job for 15 years, and I have seen plenty of triage mistakes that can change people's lives for ever. I've made a few myself. You care for thousands of patients a year, you're going to drop a ball every now and then. But, I have a lot of experience doing this, and I have a lot of knowledge and very good instincts on when someone is very ill. Patients do not have that knowledge and I would never trust your customers to make that decision when life and death is on the line.

This is why ER's are almost universally abysmal at judging how long it's going to take to be seen by the doctor. The same team that is taking care of your earache at 3am or helping you get stitches after you cut your finger on your computer case, is the same team that can crack your chest open and do open heart massage on you after a thug sticks a knife in your heart. We take care of bladder infections and dying babies, sometimes right next door to each other at the same time. ER's are built for safety, not speed or even convenience. The fact that in the US, they are primarily the only type of physician that can be seen 24/7 without an appointment is an unfortunate effect of our health care system. But, we have to care for the sickest patients first, and you can never predict when the next ambulance is going to roll through the door. So, ER's suck at estimating wait times. But, you will, eventually see a doctor.

Now, I understand that you have a disclaimer that says that people should call 911 for Emergencies, and that they will not use your service for life threatening emergencies. I don't think that's not going to keep you from getting sued when Uncle Bob dies of his massive heart attack that he though was a bad burrito and put his name on your waiting list. That's also not going to help you sleep at night thinking about how you might have prevented Uncle Bob's death.

I'm not trying to flame you. I'm really not trying to be nasty. I'm just trying to communicate what a big, big, huge mistake I believe this application is. Please, shut it down.

<comment><USER4> The need for such a website also points to a larger problem: a lot of people in the US, including most insured people, do not have access to timely primary care for non-life threatening problems.

Say your daughter has an ear infection, the appointment your HMO primary care physician gives you one week from now, is no good. So you go to the ER. There is no effective in-between option. I don't know if this website fixes that problem or exacerbates it. But that is the real problem.

This whole un- under- insured category people talk about in the US exists because people are actively being put in insurance plans where we know they will not have access to some health care services they will need. Let's not kid ourselves.

<comment><USER5> I guess it depends on your doctor, but we usually get an appointment the same day if someone is actually sick. Also, the in-between option is "urgent care", which is open at least 8 hours or so on Saturday and Sunday.

</comment></comment></comment><comment><USER6> Talk about contributing to the public health problem in our ERs.

Emergency medicine in the US is in a horrible state. Overcrowding is one of the primary reasons. See: <http://www.ama- assn.org/amednews/2009/01/19/prsb0119.htm>

One of the primary reasons for the large influx of patients is the diversion of primary care visits into the ER for non-urgent matters. A booking system that encourages non-urgent care visits to the ER as opposed to other urgent care options does nothing to help this.

As other commenters have mentioned, the problem with overcrowded ERs from a patient perspective where they have a potentially emergent case is NOT in the middle of the night - it's during the day, where other options (including primary care and urgent care facilities) are available.

Emergency medicine should not be treated in the same convenience form-factor as other consumable goods, and applying this approach is socially irresponsible in the big picture.

<comment><USER7> Your argument is that on-site ER wait times are an effective deterrant for frivolous ER visits. They aren't: they impose costs on both legitimate and illegitimate visits. That cost is also imposed randomly: currently, your ER wait is luck-of-the-draw.

If you want to solve the ER overcrowding problem, you should do it directly, by adding a surcharge (over and above the one that already exists) for nonessential ER visits. There's no rational reason to force people to sit in a crowded ER waiting room.

Meanwhile, a retail interface to the ER scheduling systems that already exist is more likely to help than hurt overcrowding, because it will route patients to the least crowded ER in their area.

<comment><USER8> The problem with the surcharge idea (and lots of other market-oriented solutions to health care problems) is that, under our current system, market forces don't really apply in the same way that they apply to, say, items in the grocery store. Very few people going to an ER are paying out of pocket: many don't have insurance[1], and will either not pay for their visit or will negotiate some sort of payment plan at a reduced rate with the hospital. And, of course, those visitors with insurance don't care what the hospital ends up charging their insurance company- that's the whole point of insurance. This is, of course, especially true during emergency or urgent care situations.

[1] To the extent that emergency room overcrowding is due to people without other health care options (i.e., the un- and under-insured) using ERs as their primary care facilities, surcharges _really_ won't help: by definition, these are people who can't pay for medical care... so adding additional surcharges probably won't have much effect on their ER utilization.

<comment><USER7> The people who are using the ER because they have no other option and who cannot pay out-of-pocket are not at all germane to this startup idea, which is part of my point.

There is no reason at all that our respective agendas about how US healthcare should be run should require me to wait on-site in the hospital, as opposed to in my home at 1AM, or in my hotel room when I get violently ill on a trip.

There will always be cases when people need to use the ER, and there will never be a good reason they shouldn't be able to call ahead for a soft appointment. Everything about the system, from patient routing to triage to hospital staffing, works better with a system like InQuickER in place.

<comment><USER8> Oh, I absolutely agree with the usefulness of InQuickER!

My argument was _only_ with the idea of using surcharges to deal with overcrowding. The reason that ERs are chronically overcrowded is not (generally speaking) because of people getting ill on trips, being in car accidents, or having ear-infected kids. The reason that ERs are overcrowded is the large number of people for whom ERs serve as primary care facilities.

As you (correctly) pointed out, these people probably wouldn't be using InQuickER-like services anyway, so they're not relevant to the question of whether scheduling systems are helpful or not. I think that scheduling systems lke InQuickER definitely _could_ be helpful to patients that use them, and maybe to the ERs themselves... but also that, depending on the specifics of a given ER's catchment area, they won't have much impact on overall crowded- ness, since that's largely due to a segment of the population that won't be using the scheduling system anyway.

Now, if one could find a way to make these people more likely to use the scheduling system, you might see more of an effect.

Of course, I could be completely wrong- IANDNAIHEOHQE (I am not a doctor nor am I a health economist or healthcare quality expert), and when it comes to health care quality interventions (which is what InQuickER basically is) it is not at all uncommon for things to behave in a counter-intuitive manner. That's why solid evaluation of system outcomes is _so important_. Hopefully the participating hospitals are keeping a close eye on their utilization statistics... for their sake, I hope that the InQuickER people are insisting on it- being able to show a significant change in in-ER waiting time due to their system would be the single best marketing tool that they could possibly hope for.

Adding to the list of things that I could be completely wrong about, my sense of who InQuickER's users are could be dead wrong. Tyler, what are your user demographics like? Do they mirror those of the hospitals that are using the system?

</comment></comment></comment></comment></comment><comment><AUTHOR> This is my startup. 100% bootstrapped and ramen profitable. Questions and comments encouraged. Thanks for checking it out!

<comment><USER9> fantastic idea. The first ER experience I had in the US, I waited for 5 hours -- completely baffled that it was called ER.

<comment><USER10> Just wait until we get socialized health-care... the wait times are going to be absolutely phenomenal.

<comment><USER11> Never waited more than 10 minutes in Spain, Italy, Portugal, Germany or UK (and lived on all those countries for a while), had to wait 4.5 hours on San Francisco just few months ago.

<comment><USER12> While I'm a fan of the German healthcare system, under 10 minutes is an overstatement. Honestly, the only time I've gotten treatment that fast was when I was covered in blood. I'd say my usual (non-critical) ER waits are closer to an hour, but still shorter in general than I had when in the US. (I've lived in Germany for 7 years now.)

</comment></comment></comment></comment></comment><comment><USER8> Great idea! Which EHR/scheduling systems do you currently interoperate with? EmStat, Epic, etc. Alternatively, if you're not directly hooking into the ER's systems:

A) What sort of workflow do you use to exchange scheduling and appointment data between your site and the ER?

and

B) Is it the same for each participating hospital? If not, how are you planning on scaling your operation to include more than four hospitals? I'm genuinely curious, having done some work on ER workflow analysis and modeling. I think this is a great idea, but can envision some pretty significant workflow issues on your horizon depending on how you've got stuff set up currently.

<comment><AUTHOR> Right now, we're use a manual workflow; we provide patients' preregistration data to nurses and registration staff through a web interface. Direct EHR integration is my next priority.

We're implementing at relatively low-volume locations (in the neighborhood of 25-35k pts per year), and so far we've used the same manual workflow at all locations without any problems, but I think we need full integration for long- term growth.

I'd love to talk further by email -- can you send me a note at tyler@mystartupdomain?

</comment></comment><comment><USER13> Just for a note as to my experience, there should be a "relinquish" or "Cancel" when setting up an appointment. I clicked next step and it booked my time temporarily. Ten minutes later it'll be open, but if you're releasing this you're going to want to allow us curious folks to cancel out.

<comment><USER13> Also, it looks like it booked the SOONEST appointment rather than the one I requested. In the "When" row I selected 10:30PM and it said on the next page 11:15AM was what I had selected.

</comment></comment><comment><USER14> Sounds like a neat idea. You obviously have to get hospital permission/buy-in before this idea could really take off. This is a similar idea to OpenTable, the dining reservation system. Perhaps you could do (or already have done) some research to find out how that company has succeeded/failed and apply those lessons to your efforts. Online based reservation systems are a great idea, but seems like a lot of leg work is required to get it really rolling. Classic chicken/egg problem here with early adopters.

1\. Add some auto-suggest features to the 'add a hospital' form.

2\. Use an IP address/geolocation service to guess where I'm located and pre- populate the state for the form.

3\. I tried to add my local hospital, and received a very ugly error message:

====

Internal Error

There was an error processing your request. The system administrator has been notified of the problem, it will be fixed as soon as possible. Please try again later. TELEPHONE SUPPORT

For telephone assistance, call our on-duty support technician at (770)-597-9185.

====

<comment><AUTHOR> Thanks for reporting this, it's been fixed, and we did receive your hospital suggestion. :)

</comment></comment><comment><USER15> Nifty idea -- I work for a Hospital with California's largest ER, and several ERs in other hospitals owned by the same company. Unfortunately, I'm having a hard time seeing something like this working in our environment (for a variety of reasons). However, I CAN see how this could be killer for small Urgent Care clinics. I can't tell you how many times I'd love to just go on a website and see what the wait times are for all my local urgent cares -- and then reserve/travel to the one I can get in quickest. Nice idea, clean design... really cool. Best of luck with it.

</comment><comment><USER16> If you can afford to wait do you actually have an emergency? There are many other options, including clinics in drugstores, which don't burden emergency departments.

<comment><AUTHOR> This is a very good question, and a very complicated one. In many markets, retail clinics and urgent care centers are open 60 hours per week at best; nights and weekends, treatment options are scarce.

Additionally, many hospitals operate onsite "fast-track" clinics which are connected to the ED, so low-acuity conditions are essentially treated in something resembling a retail clinic.

Our goal is to make the emergency medical treatment experience as efficient as possible. Parents don't want to be sitting in the waiting room half the night, potentially exposing their children to contagious diseases in the er. Professionals lose valuable time to ER visits that drag on forever. We're trying to recapture that lost time and give the patients more control of the treatment process.

<comment><USER17> As yet another parent, this looks promising. My ER visits are usually in the 5-7 hour range. I also don't really care what the place is called: if I have an issue, I want to go to the closest place that can help me. If it happens to be the Walgreens three blocks away (it isn't), fine. Urgent Care, ER, trauma center or whatever.

Until recently, I always thought these places would triage, but my experience has been that it is just 'take a number and wait' I've been in with a broken arm, a torn nose (that required stitches) and couldn't believed we were treated exactly like a headache. So, this looks great. Try the Silicon Valley next so we can try it!

</comment></comment></comment><comment><USER7> A killer idea. Every friend of mine that has had kids echoes my experience, which is that you end up going to the ER way more than you expect to --- your primary care pediatrician sends you there any time the answer to an "is it serious" phone call is "maybe".

If this scales, it will let me pick which of 4 local ER's I'm going to go to based on wait time. I'd pay $50 a visit for that. I'd subscribe to a service like this simply in anticipation of needing it eventually.

Good luck.

</comment><comment><USER18> What an ambitious, innovative idea--nice work.

I don't understand (even after looking at the How it Works page) is how it works. Since you can't predict what types of injuries that are going to come in that are more critical than yours, how can you gaurantee an appointment time?

<comment><AUTHOR> The short answer: we can't. Sometimes, we miss the guaranteed appointment time. However, we do everything we can to ensure that our predictions are accurate, and we do everything we can to ensure that the patient experience is still as smooth as possible if we're wrong.

At this point, we have a 99.9% success rate with that guarantee: less than 1 out of every 1,000 patients has requested a write-off of the bill.

<comment><USER19> Can you expand on this a bit - for example, do you come up with the appointment times based on your own models, or does the hospital update your system to say "well, we're having a light day, so most people can get in two hours after they send us their triage info, regardless of what comes up."

I also wonder if you could talk about the incentives you use to get hospitals to sign on to your program - while you're adding value, you're also costing them staff time. Do you pass on a portion of the $25 to them, or is the idea that they will make up the cost by having more people come to them and thus getting more volume?

Lastly, have you considered partnering with insurance companies to offer this service as part of a premium's offering?

All-in, great idea you have - this is the kind of health care innovation we need.

</comment></comment></comment><comment><USER20> I'm not sure I comprehend this. Isn't it the role of the emergency services to prioritise your visit? If you're critical you'll get seen, otherwise you wait.

If you're capable of shopping around for the best appointment time then shouldn't you be seeing a GP instead?

<comment><USER7> This service doesn't bypass triage. It just puts your name and info on the triage list and allows you to wait from home instead of taking up space in the waiting room. The hospitals are (apparently) intensely involved in this process.

<comment><AUTHOR> Bingo. Most patients fall into the general "low-acuity" category, which means that they are essentially seen in the order in which they arrive at the ER; this is the default case in our system. However, the ED caregivers do have the ability to change it.

</comment></comment></comment><comment><USER21> Awesome, meaningful, useful startup. Congratulations. I hope you are successful and expand to my area. My friend spent 4 hours in the ER on his birthday to get some stitches. This would have been a huge help.

</comment><comment><USER22> This is a great service but it seems unfortunate that it has to exist at all.

The health system in Canada isn't ideal (or the Netherlands where I am now) but having to check emergency room wait times has never even occurred to me.

<comment><USER23> [http://www.torontosun.com/news/canada/2009/05/03/9330606-sun...](http://www.torontosun.com/news/canada/2009/05/03/9330606-sun.html)

'Down a hospital hallway, a row of stretchers line the wall near the nurse's station. On one of them is an elderly woman who's in pain.

She has been waiting for four hours to get into a room with a bed, but there isn't one available.

This is happening nearly every day in hospitals across the province and the GTA," said a nurse with 22 years of on-the-job experience.'

<comment><USER22> That's fair. I should have been more accurate since Canada is a gigantic country. My experience is based on living in Vancouver and Montreal (although I went to a hospital in Toronto on one occasion and waited only 30 minutes).

</comment></comment></comment><comment><USER19> What this service does, if I'm reading this right, is bypass the stage where you talk to a triage nurse - you're triaged based on what you report is wrong with you, as opposed to what a nurse sees is wrong with you.

Do you have any mechanisms in place for two-way communication between the hospital and the people booking appointments? Specifically, I'm thinking about situations where a series of individually minor symptoms may collectively indicate something major is going on, but that a layman wouldn't know.

Like let's say that I go on your site and see that I can get an appointment at an ER in three hours, so I book that because I'm feeling slightly off. My symptom description seems innocuous enough - went for a walk in the countryside, right arm is tingling a bit, small red bump on my leg, etc. - <USER2> to someone trained in medicine they indicate that I've been poisoned by some sort of tick, and I need treatment ASAP, as opposed to in three hours. Is there a way for the nurse who processes this reservation into the hospital to call me and say "screw the booking, get here now!"?

<comment><AUTHOR> Yes, we do have the capacity to reprioritize patients based on symptoms. Patients who reserve a treatment time online are responsible for their own health until they arrive at the ED, but we do give the ED caregivers the capacity to communicate with the patient early on if they deem it prudent; this feature is generally used in the sort of situations you describe, where the patient's condition may be more serious than he or she realizes.

</comment></comment><comment><USER24> Great idea, but why focus on the ER in your branding? The question that the end user has is "How can I get treatment for this health problem as soon as possible, without having to wait around in a waiting room"? It seems like the way that you're answering this could easily be extended to clinics and urgent care centers, couldn't it?

Also, I echo the calls for a map-based or local-search interface.

<comment><USER7> Because from a pure marketing perspective very few people have the problem of having horrendous waits at clinics, but tens of millions of people have had the experience of waiting 3-5 hours in an ER waiting room.

<comment><USER24> I've personally had horrendous waits in clinics, urgent care centers, and ERs. I've also had really quick experiences with an ER. I'm not saying I'm typical, I'm just saying that my personal experience is such that your point never would have occurred to me.

But even granting your point, you can still market against that experience without implying that you only schedule people for ERs.

Right now I imagine that this site gets most of its business from people who call the ER directly, and then the participating ER tells them about the site (I could be totally wrong about that, though). Going forward, though, I would think that way that this is going to be used is that a user will know they need treatment, go to the site (find it via a search engine, whatever), look for the treatment facility that satisfies some mix of 'near', 'soon', and 'perceived ability to treat my problem', and put their name down.

If there's a marketing hump to get over, I would think it would be snagging people who are coming from a search engine or via some route other than having the ER send them there directly. It seems like the perception that this is just for ERs is more a problem in this sense - I'd personally be less likely to use it if I thought it wouldn't include nearby clinics in the list of places I could sign up for.

</comment></comment></comment><comment><USER25> Nice. You may want to consider a Google maps mashup centered on my location. If the hospital(s) I know aren't participating, this would be easier to use than a drop down box.

<comment><AUTHOR> Great idea! Right now we have a fairly small network of participating hospitals (3, to be exact), and engaging visitors who aren't in our current service area is a bit of a trick. I'll pass this one along to the designer for our next revision.

<comment><USER26> From what I understand, there are a number of hospitals that can do some measure of call-ahead scheduling for ERs. What would prevent you from asking about each hospital policy and at worst doing a Twilio automated call to the number if they choose that one? At worst your automated message would get hung up on, and you'd tell them that it could not be processed and tell them to go there directly.

At best, you win because the ER staff hits the right keys for your automated message. Or they agree to do a full agreement with you.

</comment></comment></comment><comment><USER27> Interesting. Actually, this is a good way to separate two of the crucial functions of health care: actually fixing medical problems, or demonstrating serious concern and sympathy for someone's medical problems.

A person interested in the first can use inquicker; someone more interested in the latter can still bustle off to the ER and pace around, or something.

</comment><comment><USER7> Real quick: SIFR for typography not a win. I'm not some crazy paranoid, but I block Flash by default because it kills my browser.

</comment><comment><USER28> Wow I think you have a great idea. We really need something like this in Canada. What are your rates? I couldn't find them on the site.

Oh, and one last question: where you funded by YC?

<comment><USER18> To answer one of your questions... From the registration page: "Your credit card will be charged a fee of $24.99 to complete the registration process."

<comment><AUTHOR> Exactly. Originally, we experimented with offering this service to patients for free or for $2.99, but the hospitals were experiencing significant numbers of no-shows and bogus registrations; the $24.99 price point was actually requested by our pilot hospital as a form of data validation.

If we could find another way to keep the signal-to-noise ratio high, I would love to offer this service at a lower price point.

<comment><USER29> I say don't lower your price. What you want to do is segment the demand curve for ER services and slice out those who are willing to pay more to avoid wasting hours of their time.

It seems lowering the price would gut your revenue but you wouldn't increase your userbase enough to make up for it (there would be a big deadweight loss of utility that patients get, but don't have to pay for -- lost revenue for you).

Also, ER is an incredibly expensive thing to go through, so mentally your users may be more price-insensitive than usual--they'll bucket all the costs together in a 'big bath', so you can charge more.

</comment></comment></comment></comment><comment><USER30> Awesome :) Glad to see this taking off Tyler. Nice to see my new design on there. PS. Center the layout ;)

<comment><USER31> I liked this design. I've been looking for a designer for some work. Could we get in touch? Email is in my profile

</comment></comment><comment><USER32> Emergency services: there in minutes when seconds matter.

</comment><comment><USER33> Very cool.

<comment><USER34> Are you Eric Ries?

<comment><USER18> Look at his submissions. I'm seeing a trend... :)

<comment><USER33> brilliant deduction :)</comment></comment></comment></comment>


Ultimate N00b SLIME/Emacs Cheat Sheet - <AUTHOR> http://www.pchristensen.com/blog/articles/public-beta-open-for-ultimate-n00b-slimeemacs-cheat-sheet/ <comment><AUTHOR> Summary of my response to tons of comments (also in the comments section on the page):

OK, here's a summary of the things I'll include in the next version. I'll test them on my own for a couple weeks before I repost it. Why wait a couple weeks if people already recommended things? Because I still believe that an editor is valuable, and I want to make I can 1) use these new things to make sure they're valuable, and 2) understand them enough to distill the essence into a simple 1-pager.

Font - something that distinguishes between I and l (possibly Monaco, Consolas and Bitstream Vera) and double check it.

Other formats - didn't know the *nix format of choice so I was waiting for someone to tell me. Not sure how plaintext would work (either one column w/regular font or multiple w/fixed width font) but I'll put that and an HTML version up next time.

Paredit - recommended twice. Will investigate.

A few more commands regarding indenting, etc.

Refcard templates - never heard of them. I'll take a look, thanks for the reference, PL Hayes.

Responses: RET: didn't include it because the docs said it "mostly does what you think it does" and I agreed. M-. and M-, are on there under "Exploring"

</comment><comment><AUTHOR> I'm still updating it. If you have any insanely useful Emacs commands that a new user should know, let me know and I'll try to squeeze them in.

<comment><USER2> Best cheat sheet I've seen so far. I really like the clean design and the ability to squeeze a lot of shortcuts in there.

<comment><AUTHOR> Thanks! I spent about as much time in excel tweaking borders, margins, underlines, column width, spacers, etc and then getting it to fit on one page as I did compiling the list to begin with!

I just got tired of so many crappy cheat sheets with ~20-30 commands in one column that didn't even give you enough to operate. Plus they were all ugly. Now there's one that's not :)

</comment></comment></comment><comment><USER3> Great job... I was thinking of going back to PCL this weekend, and this is definitely useful... Thank you sir...

</comment><comment><USER4> You didn't include C-x ( to define a macro? I live off keyboard macros in emacs.

</comment><comment><USER5> Good guide, but vim is still much better. <http://www.tuxfiles.org/linuxhelp/vimcheat.html>

<comment><USER6> I like vi better than emacs in general (it probably has to do with my learning unix without X and basically vi was the only editor to use), but vi doesn't work as an IDE for Common Lisp.

Vial (<http://common-lisp.net/project/vial/>) was started with that goal, i.e., to provide SLIME-like functionality for vi but it's one of those still- in-progress (and may never actually release anything useful) projects.

<comment><USER7> Brad Beveridge abandoned development on both vial and slim-vim. He conceded and now uses emacs+vimpulse. [1]

Many people that come to Lisp from vi tend to be very hesistant to use emacs. I spent weeks trying to use vilisp.vim and viper-mode but eventually learned to live with emacs. It was worth it.

[http://www.lispniks.com/pipermail/slim- vim/2007-May/000556.h...](http://www.lispniks.com/pipermail/slim- vim/2007-May/000556.html)

<comment><USER8> That's where I find myself now. I'm trying to bite the bullet and just use emacs for daily tasks, but it's hard to switch!

</comment></comment></comment></comment><comment><USER9> Awesome. Thank you very much :)

</comment><comment><USER10> Thank. You. Sir.</comment>


Ask HN: Are there any REMOTE jobs for embedded software developers - <AUTHOR> I am an embedded software developer. I have over two years of experience developing drivers for a Real Time OS. I like my field and was wondering if there are any remote jobs out there. I know this job involves some kind of hardware available and shipping/moving hardware is a pain. But my question is, is there a scenario in which someone can work as a remote developer in this field or is it only possible for web/mobile development. I know my knowledge is limited but would love to hear someones experience in this field.......<p>cheers, <comment><USER2> There are many Linux kernel driver hackers who work remotely as contractors, for example for [http://www.linaro.org/](http://www.linaro.org/).

<comment><AUTHOR> cool thanks for the reply man....</comment></comment>


Nuclear waste could be recycled for diamond battery power - <AUTHOR> https://www.bristol.ac.uk/news/2020/january/recycling-nuclear-waste-for-diamond-battery.html <comment><USER2> The C in those graphite blocks is only going to have a small fraction of C14. Are they going to enrich it in a calutron or is there a better way to enrich C?

<comment><USER3> Interesting question. I'm not sure what they will do, but there are two interesting links:

[https://en.wikipedia.org/wiki/Isotope_separation#Gravity](https://en.wikipedia.org/wiki/Isotope_separation#Gravity)

[https://en.wikipedia.org/wiki/Radioactive_tracer#Carbon](https://en.wikipedia.org/wiki/Radioactive_tracer#Carbon)

</comment></comment><comment><USER4> recent discussion: [https://news.ycombinator.com/item?id=22140196](https://news.ycombinator.com/item?id=22140196)</comment>


ES6 Feature Complete - <AUTHOR> https://webkit.org/blog/6756/es6-feature-complete/ <comment><USER2> I'm curious what the error stack looks like in tail call optimizations, as this is one of the reasons Google (and iirc Mozilla) haven't implemented it.

<comment><USER3> They made a post about their implementation of PTC [https://webkit.org/blog/6240/ecmascript-6-proper-tail- calls-...](https://webkit.org/blog/6240/ecmascript-6-proper-tail-calls-in- webkit/)

<comment><USER2> Interesting... looks like they choose to dump the stack inside tail calls.</comment></comment></comment>


Lcamtuf's blog: Possibly the most fascinating HTML parser behavior ever - <AUTHOR> http://lcamtuf.blogspot.com/2011/02/possibly-most-fascinating-html-parser.html <comment><USER2> I was doing some site security tests a while back, and I noticed that certain inputs got cut off or disappeared. It was a lightbulb moment when I realized that the browser was eating all the input before the angle bracket. So be careful, since this can lead to an XSS injection if you're not escaping html entities.</comment>


A step-by-step story of Carbonmade's first hire - <AUTHOR> http://spencerfry.com/carbonmades-first-hire

<comment><USER2> Congratulations on the new hire.

And thanks for posting the step-by-step. That's always interesting to read. It reminds me of that movie, The Day of the Jackal (the 1971 version, I didn't see the new one) -- people want to know the process.

What is Carbonmade's new app that's alluded to here? Sounds interesting. Any hints?

<comment><AUTHOR> Thanks! Glad you liked the article. It was really fun to write.

We're simply wrapping up the new version of our current web app. We've got a lot of other stuff in the mix too, but that won't see the light of day until we can get everything else up to snuff.

</comment></comment><comment><USER3> Hmmm... My hostel, which uses OpenDNS (arrgh!) is blocking spencerfry.com because:

      This site was categorized in: Proxy/anonymizer

For all of it's fortes, OpenDNS still manages to be _really_ irritating.

<comment><USER4> Use the google one instead... 188.8.131.52

or the other ones from layer 3(I think it's layer 3): 4.2.2.(1-4)

<comment><USER3> Thanks

</comment></comment></comment><comment><USER5> congrats on the new hire to you and the team there at Carbonmade. its exciting to see what you guys have going on! can't wait to hear about employee number 5!</comment>


iPhone Home Button – Hidden Gestures? - <AUTHOR>

I upgraded my iPhone 6 to iOS 8.1 and noticed my home buttom has a new gesture. If you put your finger on the outer edge of the home button and run your finger in a circular motion, this makes the home screen icons or any app screen slide down to open a blank space on top. Is this for new gestures coming to the home button? <comment><USER2> It's the soft double tap gesture apple introduced because of the huge screen. This way you can use navigation panel elements without moving your hand that much and it's less likely that you drop your phone.

</comment><comment><USER3> You can double-tap the button to make everything 'scroll' down. This makes it easier for the user to get to those hard-to-reach top areas of the phone using one hand.</comment>


18.104.22.168 down globally? - <AUTHOR> <comment><AUTHOR> It was down for around 40 minutes (220.127.116.11 was working ok) from multiple locations. Portugal in my case, but i have confirmations from India, UK, Brazil and other countries.

<comment><USER2> That's cool to know. I used to use 18.104.22.168 and now I use 184.108.40.206.

</comment></comment><comment><USER3> Good from CenturyLink Orange County, CA, US

</comment><comment><USER4> It's Down In Bengaluru India

</comment><comment><USER5> It's up in France.

</comment><comment><USER6> up in netherlands</comment>


What EA could have done to help Sim City - <AUTHOR> http://blog.minefold.com/post/44819603128 <comment><USER2> I love armchairing as much as the next guy, but this is lazy spam, plain and simple:

nslookup api.simcity.com

nslookup socket.simcity.com

nslookup update.prod.simcity.com

Right now these are returning CNAMEs to amazon web services and akamai for me, and I'm told they were days ago as well.

If you're going to talk about how EA should have set up SimCity, maybe you should at least look and see how they ACTUALLY set up SimCity and make sure they didn't do the things that you claim would have fixed their problems?

EDIT: Also, getting a launch right for a tremendously mass-market product is hard work. Until you've actually done it, it's kind of shitty to stand back and shout simple advice like 'use the cloud' or 'use modern devops practices'. I think that's what really bugs me about this post: The minefold guys probably do have useful bits of scaling advice to share here, but they're burying it under lazy swipes at a big competitor that really aren't justified.

<comment><USER3> Ok so then they appear to be "misusing" AWS. It's built for exactly the kind of problem they are having. Kudos for getting on it but they appear to have mis-designed their architecture then or something else.

I'm not sure what's worse, as the author intimated, making a massive online game not using cloud tech, or using cloud tech and still suffering massive server resource shortage and being unable to scale anyways due to poor architecture?

<comment><USER2> Many problems are not magically solved by throwing more machines at them. The problem Minefold's blog post lazily describes as 'single point of failure' actually encapsulates certain classes of problems that are intrinsically singular; as it happens, friends lists are one of them.

No matter how much horizontal and vertical scaling you do, it will eventually be possible for a player to create a friends list that has so many friends on it that operations on it end up becoming prohibitively expensive. Friends list operations end up effectively being JOINs.

<comment><USER3> So your theory is that problems with friends list are keeping people in 30+ minute queues to play the game? Because otherwise you are straw manning me.

I agree, just throwing AWS at the problem doesn't solve it, as demonstrated by this catastrophe. On the other hand, many people, including OP have managed to build scalable gaming systems on top of AWS where EA/Maxis for the moment appear to have failed quite dramatically.

Yes it's a hard problem, but it doesn't seem off base distilling the OP's argument down to "they have done the cloud wrong".

<comment><USER2> It's not a straw man, 'Better friends lists' is one of the sections in the original article.

</comment></comment></comment></comment></comment><comment><USER4> How about: 1\. Not require always-on DRM for an almost completely single player game.

<comment><USER5> Minecraft seems to strike the right balance here. Authenticate players on public servers to avoid spoofing other accounts, but also allow people to run their own private servers and disable online mode. Granted this enables piracy but I'm sure it hasn't put a dent in their sales.

<comment><USER6> Even if it _has_ put a dent in their sales, Notch doesn't seem to mind.

</comment></comment></comment><comment><USER7> "If the original title begins with a number or number + gratuitous adjective, we'd appreciate it if you'd crop it. E.g. translate "10 Ways To Do X" to "How To Do X," and "14 Amazing Ys" to "Ys." Exception: when the number is meaningful, e.g. "The 5 Platonic Solids."

Otherwise please use the original title, unless it is misleading or linkbait."

Via <http://ycombinator.com/newsguidelines.html>

<comment><AUTHOR> Thanks, fixed.

</comment></comment><comment><USER8> Yeah! Why didn't they elastically scale with the cloud? #fail

</comment><comment><USER9> They don't need help, they already got your money.</comment>


IntelliJ IDEA 13.1 Released - <AUTHOR> http://blog.jetbrains.com/idea/2014/03/intellij-idea-13-1-released/

<comment><USER2> I can't wait to start using the Chronon plugin. Every breakpoint hit is like a puzzle to be solved, the clues being the current state, and knowledge of the current context. Traveling back in time to observe the conditions leading to the manifestation of a bug will be interesting.

</comment><comment><USER3> Yay! Sublime Text style multiple selection is here! [http://blog.jetbrains.com/idea/2014/03/intellij- idea-13-1-rc...](http://blog.jetbrains.com/idea/2014/03/intellij-idea-13-1-rc- introduces-sublime-text-style-multiple-selections/)</comment>


How a Harvard Case Study About Apple Was Turned Into Manga - <AUTHOR> http://blogs.wsj.com/atwork/2014/04/07/m-b-a-s-learn-the-story-of-apple-in-comics/?mod=e2tw

<comment><USER2> Nice, this could be a good way to teach to high school students the story of Apple too.

I hope there're in a near future versions of Microsoft, Google and Facebook!

</comment><comment><USER3> I love the comics. They show Apple like real life, two guys playing around with computers and thinking about creating a company to have some fun.</comment>


What is Multi-Cloud? Improve your cloud strategy for 2018 - <AUTHOR> https://www.cloudbalkan.com/blog/details/detail/what-is-multi-cloud-how-to-improve-your-cloud-strategy-for-2018 <comment><USER2> What you will suggest for starting with multi-cloud infra?</comment>


Facebook nixes virtualization, eyes Intel microservers - <AUTHOR> http://www.techworld.com.au/article/379890/facebook_nixes_virtualization_eyes_intel_microservers/

<comment><USER2> Why would their web servers be virtualized" With the exception of Netflix, The cases I see being made for virtualization is that you have many services that do not need a full server. Virtualization allows you to disassociate these services from hardware, decreasing total hardware outlay and allowing for failover in the event of hardware failure.

And in Netflix's case, they seem to be more interested in outsourcing hardware than virtualization.</comment>


Who Did What in Every Agatha Christie Murder Novel - <AUTHOR> https://www.bloomberg.com/news/features/2020-07-02/who-did-what-in-every-agatha-christie-murder-mystery-novel <comment><USER2> I would love to get the data for this. Would make a nice demo for a graph database.

</comment><comment><USER3> Hopefully just a meaningless correlation, but it's a bit sad to see "other family" taking more and more of a prominent antagonist role toward the end of the author's working life.</comment>


How to Hire More Women at Your Startup - <AUTHOR> http://cristinajcordova.com/post/45132333029/how-to-hire-more-women-at-your-startup <comment><USER2> Women are smart: they wouldn't accept beer pong, fooseball and grueling hours with no job security; that's a young man's game, because nobody else is that stupid.

If anything, we need to convince young men how to make wise decisions so they won't join bullshit startups either.</comment>


Advertising Standards Authority Ruling on LiveDrive Internet Ltd - <AUTHOR> https://www.asa.org.uk/Rulings/Adjudications/2015/12/Livedrive-Internet-Ltd/SHP_ADJ_311623.aspx#.VoKQaraLS00 <comment><USER2> FWIW, I disagree with the ruling. The fact that you have to use an admin account to backup the whole computer is a technical detail that is too complex to explain in an ad.

Edit: Also, if a user can't access certain files then it is unreasonable for that user to expect to be able to back-up all files. That is tantamount to accessing the files.

</comment><comment><AUTHOR> > A complainant, who understood that the standard back-up option could back-up > one user account only, challenged whether the claim "Backup your whole PC or > Mac" was misleading and could be substantiated.

This was ruled to be misleading because they don't back up all user accounts if the user doesn't have permissions to access to files.</comment>


Should airlines let passengers make calls via Wi-Fi?  - <AUTHOR> http://www.usatoday.com/travel/flights/2009-09-28-wi-fi-cellphones-airlines_N.htm

<comment><USER2> Silly question. Progress will happen.

</comment><comment><USER3> So there's WiFi on planes now?

<comment><USER4> Number of airlines, Virgin for example. I believe Alaska either has it or will have it soon

</comment></comment><comment><USER5> And lose the $5 a minute phone calls? I doubt it.

<comment><USER6> The issue isn't the cost; it's the fact that other passengers likely want a quiet flying experience.

<comment><USER7> I don't find flying experiences particularly quiet without calls.</comment></comment></comment>


Ask HN: How can I get started? - <AUTHOR>

Hello Hacker News,
I have been standing on the outskirts of this technology world for quite a while. Being a programmer has been my dream for as long as I remembered, but I never actually made any steps to achieve that until now.
Now I find myself in the Bay Area, in a new world to me - different country, different culture, different everything. I look at all these companies, all those developers, and it fascinates me so much. I want to be a part of that.
At the same time, I feel a bit self-conscious. I am just out of high school, and while I do have some skills, they are nothing compared to some of the people around here. Seems that every story I read always begins with the main hero either programming from the very moment they were born, or moving into this field with enough experience to know what they are doing. I have none of that.
I know that simply following tutorials and attending classes is not enough. But I simply don't know how I can move on to improve myself.
Am I simply overthinking all this, and it will all come naturally to me after I spend enough time in this environment? Or are there perhaps specific things that a developer should focus on to be a good developer? <comment><USER2> >>Am I simply overthinking all this

Yes, keep writing code.

<comment><USER3> I also encourage you to enjoy your youth and the serendipidity that comes with it. being a hacker is important, but so is growing up. -vivek

<comment><AUTHOR> I suppose I am trying to leap from one extreme to another here.

I need to do both, though. I'm sure there's a good balance that I simply have not reached yet.

</comment></comment></comment><comment><USER4> I think you should go to college first. Just my 2 cents

<comment><AUTHOR> I am in college here! But I obviously need to do more than college.</comment></comment>


Ask HN: Switching from webdev to something else, suggestions? - <AUTHOR> I'm currently studying CS and working since 2,5 years part time as a web dev. Started with frontend and now I'm doing fullstack JS (30 front /70 beckend).
I kinda feeling tired. Always the same things, create an endpoint and implement crud operations on it.
I'm thinking about switching from webdev to some other area, but I am clueless to where, which areas are you working and are your happy? <comment><USER2> Three suggestions:

1\. Embedded. The world is creating tons of new products with increasing levels of technological sophistication. Much of the libraries, tooling, and learning materials needed are yet to be created. Start with Arduino on the ESP32.

2\. IoT security. Devices like the ESP8266 and ESP32 are quickly finding their way into many different applications, but as far as I know, no one has vetted their RTOS. This is dangerous because they are networked and difficult for consumers to understand in a tangible way. Likewise how can physical security be protected with these chips and others like it?

3\. Machine learning. Be an early adopter and discover ways to use this new technology. There's a great-looking JS ML framework that you can use to get your feet wet without jumping to R, C++, or Python. [https://github.com/cazala/synaptic](https://github.com/cazala/synaptic)

<comment><AUTHOR> Thanks for your response.

I've though about embedded and I've already bought an ESP8266 and played a few days with it maybe I should invest more time.

I've already played a little bit around with machine learning, completed Andrew Ng's ML course. I'm actually really thinking about switching to ML and try to get a new job in a few months. But I don't want to just follow a trend because it's upvoted on HN. And I didn't really come across entry level ML jobs, all jobs require masters or phd.

</comment></comment><comment><USER3> I do webdev, but on a small team where we are building a product that is actively loved by our users.

It's a whole different animal from building crud app after crud app.

I also do some work in the cloud/devops. If I weren't involved in said startup, I would consult around moving companies to the cloud. This server less trend has a lot of hype, and it'd be interesting to get involved, dig in and see if it has legs.</comment>


Insiders are selling stock like it's 2007 - <AUTHOR> https://www.cnn.com/2019/08/26/investing/stock-market-insider-selling/index.html <comment><USER2> There are many indications that another recession is upon us. The US Stock Market volatility is just one example!

<comment><USER3> In the midst of a time of economic warfare, one might expect some additional volatility.</comment></comment>


Reconstructing the First Recorded Sounds - <AUTHOR> http://www.theatlantic.com/technology/archive/2010/10/the-man-who-decodes-the-first-sounds-ever-recorded/64101/ <comment><USER2> weird thing the last video links to some kind of meeting about kids and marketing and food and i dunno all kinds of weird things</comment>


Running a Software Company: What My Dog Taught Me - <AUTHOR> https://medium.com/it-loves-hr/what-my-dog-taught-me-about-leadership-c2c67268d30a <comment><AUTHOR> Let me know what you think of my blog, any feedback would be appreciated. Or if you have any lessons of your own.</comment>


Using optaplanner to plan water supplies for burning man - riri-au http://blog.richardweiss.org/2017/08/06/optaplanning-water.html <comment> riri-au Hi everyone, I wrote this post primarily because

\- Optaplanner's docs assume quite a bit of sophistication, and it was quite difficult to get up and running with the tool

\- It's a really nice example of where even simple, day to day problems can be solved with computers. This was a real, genuine problem that I personally had. Most of the time I deal with work problems that are a little more abstract, but this is really direct and personal.

Also I know some people have strong opinions about the burn :). But I'm pretty sure no one has strong opinions about water planning and desert safety, and hopefully they balance out. ¯\\_(ツ)_/¯</comment>


An Overview of the Dylan Type System - <AUTHOR> http://dylanfoundry.org/2014/08/28/type-system-overview/

<comment><USER2> I've previous written about techniques for implementing fast multiple dispatch using Dylan's type system: [http://www.cs.dartmouth.edu/reports/abstracts/TR2001-404/](http://www.cs.dartmouth.edu/reports/abstracts/TR2001-404/)

In my personal experience as a Dylan programmer and amateur compiler maintainer, here's what I liked and disliked about Dylan's types:

\- Multiple inheritance and multiple dispatch have surprisingly clean semantics in Dylan, except for limited types. Yes, you really can have complicated multiple inheritance _and_ runtime multiple dispatch in one language. It's not even that hard to implement, if you know the right tricks.

\- Limited integer types were a mess, particularly when it came to multiple dispatch. You don't want two overrides of a function, one which applies to values from -1 to 7, and another which applies to values from 6 to 11. Similarly, limited collection types were supposedly used to implement typed collections, but it always felt like it was bolted on.

\- Singletons had clean semantics but they made dispatch more expensive.

\- Both type unions and subclass types worked quite well in practice.

\- Dylan's design suffered from "sufficiently smart compiler syndrome" in several areas. This manifested as language features which were painfully slow in the general case, but which could run quite fast in a few special cases. This made it hard for users to build a good mental model of Dylan performance. It also meant that Dylan compilers needed to provide multiple implementations of certain features and choose between them at compile time.

Dylan was an exceptionally good language for its time, and I had a ton of fun using it. I keep meaning to try out Julia, which apparently inherits quite a few cool features from Dylan.

<comment><USER3> The Fun-O Dylan compiler highlighted text for performance didn't it?

<comment><AUTHOR> Yes. The compiler kept track of which source locations were impacted by which types of "method upgrades". Was something inlined? Dead code eliminated? Converted to a direct call to an internal entry point (avoiding dispatch)? Converted to a direct slot accessor? All of those could be colored differently.

I'm thinking of writing a blog post along the lines of "So, you thought that was a function call, eh?" as Dylan treats everything as a function call at the syntax level, but can go and optimize it into something better. That'll be a pretty complicated post though with a lot of Dylan + generated code examples and I know that I lost some people today by showing C in the type system overview post.

</comment></comment></comment><comment><USER4> I like Dylan for its generic function and restart system is probably what should have been in Common Lisp. Generic function is the same in Common Lisp, but Dylan actually utilizes it in the standard library.

<comment><AUTHOR> This does make the compiler work much harder though! Having to optimize dispatch everywhere makes it quite a different thing from how a good optimizing Scheme or CL compiler works.

</comment></comment><comment><USER5> Convenient singleton types are quite interesting—what limitations do they have? Clearly this can become a massive thorny issue quickly if you try to achieve singletons in a general fashion.

<comment><AUTHOR> The main issue with them is that they require that the object be ==, not just =. But given that almost every use that I know of for them in the core libraries is for integers or symbols, this isn't a big issue at all.

Other than that, they seem to work out fine.</comment></comment>


Newsmeister: Daily News Trivia - <AUTHOR> http://www.newsmeister.com

<comment><AUTHOR> New trivia app that gamifies the news. Are you a Newsmeister? Play daily against your friends and family to find out.</comment>


Rejection Therapy, iPhone Programming, and Irrationality - <AUTHOR> http://blog.bishopuniverse.com/2011/01/rejection-therapy-iphone-programming.html

<comment><USER2> It doesn't take much to get on the front page of HN these days.

<comment><USER3> Your comment may have given him the rejection he was looking for.

</comment></comment><comment><USER4> Considering the volume of email these authors must get (especially Dan Ariely), it's remarkable you got a reply so soon, or even at all. Very cool.</comment>


Ask HN: Why a Computer Need a "Memory"? - <AUTHOR> sry guys I am a totally newbie on computer science, lately I am learning the basic knowledge of computer science from a Youtube channel Crash Course, in their #6 episode, they talked about the hardware level of how a RAM built, I have a very hard time to get the idea why a computer needs a memory/RAM
For example, due to billions of transistors inside a CPU, say if we get a number 1110001010101 in somewhere of those transistors connected wires, why not just leave those wires as is (don't touch these wires), is this the same way as "store a value" as RAM does?
I am trying hard to visualize this hardware in my brain and why it is necessary to build so called "latch" or whatever, compare with just leave those wires (because we got enough wires inside)
Could anyone help on this topic? Any life example like play games, type words, watch videos or whatever, to prove a computer has to have a RAM to work?! <comment><USER2> If the memory was coded in the connections between the transistors, it would be a read-only memory, or a ROM.

<comment><AUTHOR> thanks for your reply, but this is not the answer I am looking, I want to know the reason why RAM is necessary for a computer, why not just leave those circuits untouched, because if a number is 10001011, those wires already got current, I don't need to store this number elsewhere, right?

<comment><USER3> You can't leave wires 'untouched' in an electrical system. Unless something continuously supplies energy to maintain the charge, the charges on those 'untouched' wires will simply fade away, and with it, your data. [1]

The data is stored in the electrical charges on the wires, not in the actual wires, which appears to be one source of your confusion.

Further, those wires will get reused on the next cycle for the next piece of data moving through, which means if you don't save the values represented by the current charge state of the wires, the data will be gone when the next cycle happens and new charges are forced onto the wires for the next piece of data.

RAM (memory) is the place for holding onto those particular charges (which is what is storing the data) that were on the wires, until a later time when you want to go pick those pieces of data up again.

[1] ignoring flash memory, which is a very specially designed "charge holder" that does not need the continuous energy supply to be able to maintain the charge states.

<comment><USER4> Amusing and somewhat related story: I was trying to (programmatically) tell the difference between two versions of a circuit board. At a certain address, version 1 had an 8-bit read-write register, and version 2 had a 16-bit read- write register. So I wrote a 16 bit value to that address, read it back... and read the correct value, even from the board that only had an 8-bit register there!

What happened was, when I wrote the value, the bus driver chips drove all 16 bits of the bus to the levels specified by the data. Even if the data wasn't latched by the register, that bit of the data bus still had the voltage level corresponding to the data bit. When I read the value, the bus driver chips reversed direction, and wrote out what the voltage level on the data lines said. For the 8 bits that were not driven by the register, the voltage level they had was the voltage level that I just wrote to them (because every chip on those bits of the data bus was in a high impedance state, both for the read and for the write). So I was literally using the wires of the data bus as memory! I found that it could remember data for roughly two seconds this way.

So, why do we need memory? Because we want the computer to remember for more than two seconds. And because we want it to remember more bits of data than we have transistors in the CPU chip. And because we want to use the transistors in the CPU chip for something else - for computing, not for memory.

<comment><AUTHOR> thank you for your story, I am too early to understand such a case lol, but I get the idea, which means, a wire can hold current a while, but not forever, yes this is clear, but why not just keep give the wires current flow? Then a "1" state stored!

If we want to store another number, just use other wires! We have billions of transistors and bus wires right? Why a RAM is a must when we have near unlimited wires already ?

<comment><USER3> > but why not just keep give the wires current flow?

And... On a very abstract level, you've just designed a memory.

A memory is a particular design of "wiring" [1] setup in such a way to keep the current flowing [2] to store the charge that represents the data.

[1] There is more than just wires, as just wires alone can not store a charge for very long (example, plug in an extension cord, the extension cord output will be powered, unplug it, no power on the other end).

[2] This is exactly the design of a SRAM chip. Wires and transistors connected together to "keep the current flowing" to hold the data represented by the charges.

</comment></comment></comment></comment></comment></comment><comment><USER5> So, you seem to be laboring under some drastic misunderstandings.

Let me try to lay out an example that may make things clearer.

I have a CPU.

A CPU consists of a collection of general registers (data is generally read from and into here), a special set of registers containing metainformation about the state of the CPU, an arithmetic processing unit, and a clock circuit. This is a dirt simple CPU.

Now. If you're using a Von Neumann based architecture, your CPU doesn't distinguish data from instructions. (Modern ones do, but ignore that for now.)

An "instruction" consists of an op-code (basically a number), plus addresses indicating where input data is being read from, and where it's being written to.

So a set of commands for this CPU might look like

load $1 1 load $2 1 Add $1 $2 $3

Assuming we're "wired" into some input pin the CPU knows to listen to, we're running a rudimentary set of computations. We're sending in some number that the CPU recognizes as the beginning of a "load" command, it looks at the 8 bits or so following, and loads 00000001 into register $1. Done for that cycle.

Next cycle, same deal, but in register $2.

Next cycle, we send the contents of $1 and $2 to the adder, which outputs the result into $3.

Easy right?

Now. Let's do some REAL computation. Let's say I have a ridiculous amount of data to crunch.

I have 30 8 bit registers for general use, and my 5 or 6 special registers, and my input pin.

But I have 300000000000000 8 bit numbers that I want to add!

I can make this work with just the CPU logic. I can do a bunch of serial computations, then record the results by hand, and re-input that result as an input to the next computation over and over again, But dear God, that's boring!

Wouldn't it be great if somehow, I could stage all of my information ahead of time, and somehow have the processor look up that information to do it's calculating, with out me having to remember everything for it?

The answer to that conundrum is Random Access Memory. It's a separation of concerns if you will.

CPU's do computation. That's what they are for. Doing the stuff that might cause a state change. We don't want values sticking around in the processor that aren't changing if we can help it. Once something is done we want it out of the processor so we can accommodate the next state changes.

In CS, we tend to have two main axes on which we measure the footprint of computation: CPU time, and space (memory footprint).

If I have high space constraints, I can set up the CPU to handle all the state, but for every new computation, I have to reset everything back to basics, and still keep track of all my information. This quickly turns a simple one cycle operation into many cycles worth of operation and bookkeeping about where everything is.

Or, If I have memory to write to, I can do my computation, write it out to somewhere that's memory managed, and let the magic Memory Management Unit feed me new data and instructions while also cleaning up results, and holding onto them elsewhere on the motherboard so I can use my full CPU die to do computations more quickly.

Look at it like having a helper to get books for you at a library while you're sitting at home reading books and doing math problems.

The library is RAM, you are the CPU, and your home is the CPU cache. Without your helper fetching books for you, you have to stop all the time, and take the books you're done with back, check out new ones, go home, and only then start doing math again. (You're not independently wealthy, or psychic, so absurdly big house, or magical access to all of the books by telekinesis is not allowed, sorry!)

With your helper, you're doing math (yay!), and he/she's swapping out books to/from the library to keep you running smoothly.

Try not to get caught up thinking about wires. Circuits have about as much to do with Computer Science as a scalpel does to Surgery. They're a tool. Nothing more. The important thing is to understand how all the pieces work together to create a functional whole.

If you're still confused about why RAM is a thing, let me introduce you to

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

A computer that, quite literally, was absolutely dependent on the people around it to play the role of "memory" since each computation required rewiring the damn thing.

Ain't nobody got the patience for that anymore!

<comment><AUTHOR> hey sir, first thank you so much for your typing, this must cost you some times, really appreciated actually trying to help a stupid guy!

I googled another several hours till now, yes still confusing as hell, but I indeed learned a lot new things regard "Memory", I think my problem lies in PC architecture, why engineers design a PC like this bla bla, and I indeed know its because practical usage to do this lol, just can't get the real CORE of WHY this.

I understand most part of what u said, yes its all about efficiency and best practices.

What I still confused about is am I right about the wires things? For example, I don't care about the efficiency or engineering reasons to have "individual Memory" for computers, now I want to build my own PC, I just want to use the wires inside a CPU to do everything!

Say, we have a ton of wires now in my CPU, fist input 2 8 bits number, 00000011 and 00100101, because the wires got voltage when it got "1", this wire will always keep at "1" if I don't rewrite any of these wires to another value.

So now let's send this 2 number to an adder, so maybe adder need locate the wire numbers (in this case, #1-16), or adder need physically wired onto those 16 lines or whatever,(I think this way is impossible, because if connected, the charges will flow through already, make it harder to add them together?! )

Anyway, if first method is doable, then in my CPU, I done the calculation without any Memory system lol.

If I need more numbers, just use more wires! (sry I don't know how many such circuits inside a CPU, I think its limited though)

\</comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>---- I think there must be errors of this such logic, just I don't where :( I can't find the exact thing online, I think I am just a fool, because maybe nobody think like this, I fall into some wrong circle.

Maybe at the very end of day, just try to convince myself like this: why PC need memory system? because we need store data. Why not just use wires inside a CPU? Because its not efficient lol.

Thank you for your help again, I think I will face more problems along the way, what a though journey to self taught CS :(

<comment><USER5> Hmmm.

Well. You're getting closer at least, and you're at least poking the right places of the field for answers, as computer architecture should get you a great deal more insight into what constitutes a CPU.

One thing that you might help is to look into Integrated Circuits as well.

One thing many don't actively realize is that what we call a CPU in a computer in not the only "processor" in a computer. There are other, more specialized processors which are responsible for providing interfaces between the CPU and hardware peripherals, but which are far more tightly constrained in what they can do.

Best I can tell you for now though is that for the most part, you'll rapidly run into non-computing related problems the more you Try to cram into a processor die. Physics still apply, and computation creates heat. Heat degrades the performance of the system, and the more transistors you pack into the same area, the harder it is to keep cool, fabricate accurately, and guarantee the life time of. Also, on die memory opens you up to problems in term of actual circuit layouts.

There have been designs where certain alignments of values in the physical chunk of Silicon can have undesired side effects on values stored near them. Rowhammer I believe the phenomena is called.

So, specialization ANF separation of concerns won the day.

Hope you find what you're looking for!</comment></comment>