Domain: codinghorror.com
Stories and comments across the archive that link to codinghorror.com.
Comments · 546
-
Re:Bangs: Hair, Sex, and now?
https://blog.codinghorror.com/ascii-pronunciation-rules-for-programmers/
There you go.
Us old timer geeks got sick and tired of pronouncing symbols by their proper names containing far too many syllables. So we made one-syllable and on occasion two-syllable nicknames for nearly all of them.
It prevents much stabbing and bloodshed on the rare occasions we had to speak with each other.
-
Re4lated article - Weaponized Empathy
It's interesting that a bunch of ideas seem to be floating around the same time now about improving communities - that article yesterday on the monastic code of conduct for SQLLite, this ideal from GNU, and also an article I read recently on Weaponized Empathy - the kinds of behaviors you want to lock out of communities as soon as you see them to keep them healthy.
It seems like between the three ideas you could build up pretty solid community and moderation guidelines that would really make for a lasting peace and a great place to hang out on the internet.
-
Re:But is it a bad code?
Time and time again, we see that when you "get woke" you go broke. Social justice warriors are a huge net negative on the balance sheets. No one uses SQLite because it supports causes, they use it because it serves a purpose and serves it extremely well. Money talks, and at the end of the day SJWs are a money-sucking void. No one likes them but themselves and the only success that they can possibly chalk up is that of weaponizing empathy.
-
Yes exactly
"Not to return evil for evil": no flame wars
This also meshes really well with a recent article Jeff Atwood wrote on healthy communities, with the rule "No Grudges"
-
Re:Lotus Notes is amazing.
It got a glorious review by a respected developer.
-
Re:I'm calling b.s. on this entire piece.
I think you can and this is by far not the first piece describing that. Here is a classic: https://blog.codinghorror.com/...
Yet these people somehow manage to actually have "experience" because they worked in a role they are completely unqualified to fill. -
Re: ... A job fair can easily test this competenc
This in my opinion is really a waste of time. Challenges like this have to be so simple they can be done walking up to a booth are not likely to filter the "all talks" any better than a few interview questions could (imperson so the candidate can't just google it).
Tougher more involved stuff isn't good either it gives a huge advantage to the full time job hunter, the guy or gal that already has a 9-5 and a family that wants to seem them has not got time for games. We have been struggling with hiring where I work ( I do a lot of the interviews ) and these are the conclusions we have reached
You would be surprised at the number of people with impecable-looking resumes failing at something as simple as the FizzBuzz test
-
Re:Frist Post!
Hmmm... Well, I'll just suggest that you brush up on your technical skills. Here is a list of suggested materials that cover the topic:
https://css.csail.mit.edu/6.85...Pay particular attention to pages 106-128 which discusses the protection mechanisms, 145-149 which discusses I/O privileges, and 152-172 which describes interrupts and exceptions.
If you don't have the time, or the topics are too technical for you, then you can just read this, which granted, has a few faults, but from a high level, it's describes things pretty well without getting overly technical:
https://blog.codinghorror.com/...As for the second part of my quote, you can read this: https://www.microsoftpressstor... please pay attention to the section labeled "Quantum" (about 1/3rd of the way through the document). That describes in further detail the differences between desktop and server optimizations. Again, old information, but it still applies today.
Enjoy!
-
Re:Not really
There are good developers and there are bad developers. Once you know and understand the programming paradigm, you should be able to work on anything from Linux kernels to JavaScript apps in browsers.
While I agree to that, maybe 1% of the coders on the market can actually do that. And I do not mean "do it well", I mean do it at all with some useful results. The following is still the sad state of affairs: https://blog.codinghorror.com/...
-
Re:And 300-400 workers less
Indeed. There are far too many bad coders. There may actually be enough good coders to keep things running already, but they are swamped with cleaning up behind the bad ones. This is also not a new thing: https://blog.codinghorror.com/...
The last thing we need is more bad coders that create more problems.Now, I am only somewhat complaining, because this keeps me occupied and well paid, but if I have to explain to one more senior web developer ( >5 years experience) how an URL is structured, I am going to scream.
-
Re: doesn't require Internet access
Yes, yes. There's a reason Ted Nelson's Xanadu idea never panned out.
Whenever someone points out that the web suffers link-rot, they demonstrate that they're not thinking clearly about robustness in large distributed systems.
You don't have the choice between link-rot and utopia. Your choice is between a single centralised point of failure, or many points of 'partial failure'. Thankfully, the web gives us the second option. We even have archive.org to take the edge off. Unfortunately, of course, we now have silos, which take us back to the first option.
That's one of the problems IPFS addresses by making links based on a content hash, not the current storage location.
Eh? So if I make a correction, the address of the resource changes? On the web, you have the choice. e.g. on Wikipedia, https://en.wikipedia.org/wiki/InterPlanetary_File_System gives you the latest page, and https://en.wikipedia.org/w/index.php?title=InterPlanetary_File_System&oldid=818883368 will always give you the snapshot from the 6th of January 2018. Similar schemes exist on GitHub and BitBucket.
(Disclaimer: I'm just being snarky and don't really know much about Xanadu, or distributed databases, or IPFS. I'd be glad to be corrected.)
-
Internet in sub-Saharan Africa, for example
Many connections are so fast now, there's no need to do MITM caching.
And many aren't, particularly in places like sub-Saharan Africa where you might have 25 people sharing a 128 kbps link. What's worse: someone seeing what Wikipedia articles you're reading, or not being able to read them at all because your ISP hit its daily cap downloading separate copies of the article for other users?
-
Here is a certification program for your new plan
This is the quality of QA you get when you have your dev team do all the testing.
https://blog.codinghorror.com/... -
Compatibility Mode
Sounds like it was is SourceSafe compatibility mode.
-
Re:Short sight
Inertia is surely a factor even so. There is no technical reason you couldn't have a language that retained the low-level control and flexibility of C while still being significantly safer, having much cleaner syntax, and including useful features that made the language more powerful but that could be implemented with no runtime overhead.
I used to think that as well. I do not anymore, and I think there _are_ technical reasons for this. For one thing, C is exceptionally well defined and has a very clean syntax (C++ does not qualify for either though). You can sees this by how little the core language has changed. Of course, compilers have gotten better at finding some classes of mistakes, and I would really not want to use an original K&R compiler. But these changes, useful as they are, have not changed much in the core language. That is one indicator that there may not be much that can be done.
The other is just my intuition for having worked with a lot of languages (functional and logic only a few, admittedly) and whenever somebody adds "safety" or "cleaner syntax", they actually make it more complex and by KISS actually make it worse overall. An extreme case of that is Java, where you often have much more non-functional code (declarations) than functional code and much practically produced code is basically unreadable without use of tools. That is not a good state of affairs at all and basically violates all cleanliness, safety, simplicity and turns the language into a design failure. (The "advantage" of Java is libraries for everything, allowing even the most incompetent coder to produce something...)
Bottom line is that I have seen these attempts to improve on C fail time and again, and it may just be time to admit that C is pretty optimal as a language, provided the coder has what it takes to understand the execution model. The execution model is also pretty simple, but requires understanding how a CPU and RAM actually works and many coders are failing at that these days. The execution models of most languages are much more complex than the one of C, but you can produce some code not understanding them. That is also a reason why some people consider C coders to be superior, because incompetent coders cannot produce anything at all in C, while they often can produce somewhat working pretty bad code in other languages.
As to average coder competence, I think the best take on it is still this one:
https://blog.codinghorror.com/...
You cannot by any means turn these people into good coders and language can only help to make their incompetence obvious. C does that well, because of the requirement that you understand the execution model.But even if you did invent such a language, you'd still have to convince developers working on these kinds of applications to use that new language in preference to the global lingua franca of programming they all know already, and you'd still have to provide a way to link code written in your new language with the vast ecosystem of existing C-based libraries and APIs. That's a tall order, no matter how brilliant your new language itself might be.
Assuming such a language could be created, you are certainly right about this.
-
Re:King Graham has fallen so far! =(
To clarify, at one point Sierra tried to create their own online gaming network. This was *NOT* an internet-based network, but something you could connect to directly via dialup with a POTS modem. This later on became the ImagiNation network, which was purchased by AT&T.
https://blog.codinghorror.com/...
As I understand it, the facilities originally created for this (since upgraded to support DSL service) were repurposed by the people involved into an ISP. All of this is based in the old Sierra headquarters in Oakhurst. It's funny, because what was originally "On-Line Systems", with no networking component, later became "Sierra On-Line". This became "Sierra Entertainment", which then attempted to create an on-line network, which later became an ISP. Therefore SierraTel is now more "on-line" than "On-Line Systems" ever was.
-
Re:Cutting edge new features vs reliability, use c
However, considering the different sub-versions of Mint as somehow a bridge too far to decide upon is the sort of concept that makes a two mouse click an unsufferable crime upon humanity.
Maybe so, but there are plenty of people -- like my baby-boomer parents -- who can barely even handle one button! Should we doom them to Windows spyware and exploitation just because they don't meet your condescending, elitist expectation of tech-savviness?
More to the point, even technical users shouldn't have to deal with every tiny detail, all the time. I'm a goddamn professional software engineer and even I don't want to deal with it! I got most of that shit out of my system running Gentoo in college.
Fundamentally, it's an issue of human interface design and cognitive load. A good user interface helps the user focus on things that he cares about and not waste effort on the things he doesn't. In the vast majority of cases, forcing the user to make a decision without suggesting a default choice means the designer was failing to do his damn job. Take the Linux Mint download page, for instance: would it have killed them to just pick one of the editions -- it doesn't even matter which, despite the desktop environment Holy Wars -- and put it in a larger font or add an arrow or something to denote "if you don't know what the difference is between these, pick this one?" Just one little note on the page would make all the difference.
This article explains the issue better.
I wonder, do you only use all defaults on your Windows machine?
Mostly yes, actually. You know why? Because -- aside from laziness -- having a consistent experience, where I can walk up to any other random Windows machine (at least of the same version) and know that it will work the same as my usual one instead of getting pissed off that my custom keyboard shortcuts don't work, is more important than wringing out that last 0.5% of optimization. Here's a quote from Joel Spolsky (also referenced in the link above) about it:
Most advanced users use several computers regularly; they upgrade their computer every couple of years, they reinstall their operating system every three weeks. It's true that the first time they realized you could completely remap the keyboard in Word, they changed everything around to be more to their liking, but as soon as they upgraded to Windows 95 those settings got lost, and they weren't the same at work, and eventually they just stopped reconfiguring things. I've asked a lot of my "power user" friends about this; hardly any of them do any customization other than the bare minimum necessary to make their system behave reasonably.
(I do change the important settings, of course, such as disabling Microsoft's attempts to shanghai the system with forced "upgrades" and telemetry.)
-
Caching by you vs. by your ISP
An unencypted connection is fast, cacheable, and secure enough when you're just transfering photos and cat videos.
As far as I know, my browser does cache content served over https exactly the same as served over http.
But your ISP cannot cache said content. Say you have a classroom full of children all reading the same article on Wikipedia, and it's in a remote area with the only available Internet connection being a 0.13 Mbps ISDN or satellite link. With cleartext HTTP, a Squid or Polipo proxy can pull every . But with HTTPS, the proxy has to fall back to a separate CONNECT tunnel and transfer the same article 20 times unless the proxy is configured to intercept TLS, with its own root certificate in all browsers configured to use the proxy. Failure to cache in such a situation is inefficient, slow, and possibly costly if it causes the school to exceed a monthly Internet data transfer quota. (Source)
-
Make them read these books...
Make them read at least some of these books.
-
Laziness
Laziness is a virtue in a programmer.
The whole point of this profession is to save labor. That includes programmer labor, especially because it's an expensive commodity.
I don't know who has mod points today but this comment is frankly ridiculous.
-
Re:Laguage
most multi-national teams standardize on Englis
See also the blog post advocating exactly this, "The Ugly American Programmer".
-
Re:Tipping Point
In a discussion on Coding Horror Discourse, bigjosh brought up the example of a whole school in sub-Saharan Africa sharing a slow, capped connection to the Internet. If everybody in the class reads the same article, and this article is served over cleartext HTTP, the proxy could download the article once and serve it to all students. With HTTPS, the proxy would instead have to create a separate tunnel for each user through which to send a separately encrypted copy of the article, causing views of the same document after the first to be far slower and causing the school to hit its daily or monthly data transfer quota sooner.
For publicly cacheable documents, why isn't there a middle ground between cleartext HTTP and HTTPS that uses a signing-only cipher suite? Then at least an intermediate caching proxy near the client could still work.
-
Re:Self-taught is great. The language is the gloss
Whenever someone doubts you can improve performance, remind them that there ain't no such thing as the fastest code.
-
Re:Why is this news...
So then provide links to where this exact information was published previously.
https://blog.codinghorror.com/building-a-computer-the-google-way/
-
Re:Sturgeon's Law ?
Enough people think they are "coders" these days that it has been applicable for a while: https://blog.codinghorror.com/...
-
Re: Better to spend on education than salaries
Indeed. The good developers are out there, but they are few. Most "coders" are incompetent with no potential.
Read this:
- https://blog.codinghorror.com/...
- https://blog.codinghorror.com/...
If anything, things have gotten worse in the meantime. -
Re: Better to spend on education than salaries
Indeed. The good developers are out there, but they are few. Most "coders" are incompetent with no potential.
Read this:
- https://blog.codinghorror.com/...
- https://blog.codinghorror.com/...
If anything, things have gotten worse in the meantime. -
Re:Run, Android, Run!!!
Hell its been the same with Windows for years, if you have a decent AV and let the OS and programs auto-update? You really don't have anything to worry about. Now all the infections I see at the shop are all social engineering, stuff like "You want teh hot sluts for free? Just run "Iz_Not_Viruz_Iz_Chatroom.exe" and talk to hot skanks now!" or the ever classic Facebook chat bug, where someone they know pops up a "Hey you have got to see this, just open "Iz_Not_Page_Of_Malware_Iz_Pupies.html" this is soooo adorable!"....sigh.
The sad part is unless you do like Chromebooks and just take away the rights of the user? There is really nothing an OS can do against the dancing bunny problem because you have the user actively working against the security because they want to see the bunny. I have got to see this firsthand, the only person I have ever thrown out of my shop was a customer that wanted to buy a desktop and install Limewire on it. I told him "Look Limewire doesn't exist, it was shut down by the FBI years ago, if you want a P2P program I can install one but there is no more Limewire" and told him that any copies he found of Limewire online would be malware....so what does he do? Takes his brand new PC home, uninstalls the AV when it tries to stop him and promptly installs malware that has a Limewire icon and then expects me to clean it for free! When I threw him out of the shop he was screaming "It says right there its Limewire, you make it work!"....nothing any OS can do if the user is working for the bad guys.
-
Re:Why are they so slow?
Context for moderators: A claim that the rise of HTTPS is making the browser slow by making it hard for an HTTP proxy near the client to serve cached versions of public pages to multiple users, especially one in a poor or remote area. Counterclaim that one can run a caching HTTPS proxy and have its subscribers trust the proxy to verify origin servers' certs on your behalf.
That doesn't tell you what's wrong.
Another approach is for the proxy server to display the failed certificate's information on a page with HTTP status 502 (Bad Gateway).
And it always hides the real security details, showing the proxy server's security details instead.
I concede that you have found a legitimate drawback of an HTTPS MITM proxy that operates in this manner. I'll have to bring it up if someone else makes this claim.
And doesn't help if you need to access a site for which you have the CA but the proxy doesn't.
If you have a particular root certificate but the proxy doesn't, then it's probably a private CA, such as a CA for servers on your intranet, and no other subscribers to the same proxy are likely to have the certificate either. So unless it's an intercepting proxy that your network won't let you override, you can tell your browser not to use the proxy to cache that particular origin. In Firefox, for example, try Preferences > Advanced > Network > Connection > Settings > No Proxy for.
-
Re:That sounds good to me
Using S3 as an image hosting service. S3 is also a nice cheap way to do static websites without messing with a shady hosting company. Not the easiest way in the world, but still easy enough for anyone who can code.
-
Which Wikipedia pages you view may be sensitive
If you want to selectively block media types, you can do that using a browser extension installed on each PC. Or you can set up a proxy on localhost on each PC and have the browser installed on that PC trust that proxy's root certificate. Then you're back down to two parties being able to see the communication: the client and the localhost proxy, and the server. This regains blocking by media type but loses a shared cache.
It's also possible to configure your Squid proxy to behave differently on sites that are unusually privacy-sensitive using a stare rule. Log the SNI field of each ClientHello message from your proxy's clients. Build a list of which hostnames ought to be cached (high-traffic sites) or not (financial or medical sites), and be transparent with your users about the process of building this list. Bump (MITM) the high-traffic sites so that you can cache them, and splice (tunnel) the sensitive ones so that you can reassure users that your proxy isn't snooping this particular connection. The user will be able to tell whether a connection is through your proxy by looking at who issued the certificate. For example, in Firefox, one can click the lock in the URL bar, click the right arrow, and read "Verified by:".
On the other hand, see replies to bigjosh on Coding Horror Discourse, who expressed the same need for caching. One of the replies expresses a possibility that the fact of having read articles about a particular subject on Wikipedia might itself be sensitive even if Wikipedia is public and cacheable.
-
UI chases fads
Part of the problem is that modern UI designers chase fads. (The previous fad was antiskeuomorphism.)
You can see this in the UI "devolution" of Photoshop and others tools:
* The background used to be black on white, aka "light" themes.
* Now "dark" themes are in vogue -- with white on black.Also, True Type / Postscript / Web fonts still don't support color gradients. The classic is the old vertical "Orange-Yellow-White" gradient font used in Raiders of the Lost Ark
Yet back in 1992 this was trivial with bitmap fonts:
* Ultima 7 Main Menu
* Ultima 7 NPC DialogMost UI designers are clueless about the difference print fonts (serif) and screen fonts (sans serif). I don't expect many of them to understand the pixel grid
--
DVD / Blu-Ray Region Locking == Price Fixing. -
Re:UmIs the problem of cheap blue LEDs News worthy? The conversation certainly is. News can inform but need not always be just current events, particularly on the Internet where nothing is paper.
Slashdot is a news aggregation site. Ostensibly for 'News for nerds, stuff that matters' at founding. In practice is was a blog for Rob Malda, CmdrTaco. It was also a website with an accidentally really good commenting technology.
Been around long enough to see the jokes about not reading the article? Then you have probably been around long enough to see the argument that a lot of the people still visiting the site do so for the conversation in the articles. They provide everything from group-think arguments, good counter-arguments and funny jokes about the topic to warnings about click-bait, pay-wall free options and corrected sources.
If Slashdot had ever depended upon the quality of the articles it would have failed when it was still Chips-n-Dips hosted on a university student account. The commenting system is more than a chance to keep up your HTML skillz. People in the know are really providing the value. (Queue complaints about Facebook's model, etc.) However, getting quality articles is important to attracting the readership that does not know about the site.
For instance, this article currently doesn't shows up in Google search for annoying LEDs, being a day old. But the top link is for lifehacks.stackexchange.com for whatever reason. Stackechange and Amazon dominate the front page. I almost feel sorry for companies with products on that page. Even with no such thing as bad marketing, being known for having annoying lights on your non-party-joke product is not a good thing.
The Blue LED backlash article on McConnell's blog is page three. And he discusses a vendor that sells low intensity LEDs for computer products. But I expect - or at least hope - this slashdot article to make it to at least page three with McConnell's blog if not higher.
-
Re:Laungauges
Taking the same function, implementing it in interpreted BASIC and running it in a modern implementation will give you faster code than implementing the same function in the most optimized assembly code from 10, especially 20 years ago.
What you're claiming is inherently not possible, since "the most optimized assembly code" is pretty much by definition the best performance you will be able to achieve.
No compiler can create faster code than a clever assembly programmer. Reason: humans have insight. Read Michael Abrash's article on why there ain't no such thing as the fastest code to see why.
-
Graphics only? WRONG... apk
IIS 6.x moved subsystems into kernelmode http://blog.codinghorror.com/u... due to speed increases there too (so much for "graphics only" on your part, big mistake).
PERTINENT QUOTE/EXCERPT:
"Microsoft's IIS 6 moved a sizable chunk of its core functionality into Kernel mode, most notably after a particular open-source webserver leveraged Kernel mode to create a huge industry benchmark victory"
APK
P.S.=> I just LOVE tearing up you wannabes with facts vs. your bullshit... apk
-
Maintenance vs New Creation
How often is it that you have a brand new system, in which you get to choose your language? Unless you are independently wealthy, or part of a funded started (indirectly independently wealthy, partially) the answer is probably not very often. Whenever someone has a brand new, completely open, technological problem, they have a green field.
This is not very common, at least for me. I have a BS + MS in computer science, worked for three years as an employee in two companies, and now own my own small software company (with two guys I pay to write code for me) and have been in business for myself for four years. I charge enough money to pay my people, and my bills, through revenue. That means, by definition, that my customers have to be able to pay. I live in a poor state, without a tidal wave of venture capital. Almost everyone here has a legacy system, which is generating them money, which they can use to pay us. Those systems come with constraints.
There have been three times in my 10+ years of experience creating software during which I was able to 100% choose everything technology related for a project. Once was part of a barely funded start up. The other was part of a successful business that contracted with my company to greatly expand their eCommerce, completely scrapping their existing system and letting me choose everything. The third is ongoing - a customer described their problem in a high level, and nothing existed to solve it. For the third example, I am bound by (light) constraints regarding the other system we are interfacing with, and it has to be web-based. Otherwise, my more than full time experience, has been as a maintenance programmer, or as a manager over a team of maintenance programmers. This guy is way more eloquent than I am about the subject, and way smarter + more successful. Think about what the very successful people have to say about these kind of things.
I think different people, in different states, have different approaches. The most poorly organized organizations, and ventures, had very few constraints. They didn't have to answer to anyone about their technological choices, and typically had money to "build something." Sometimes that results in beautiful leaps forward, for humanity as a whole. I think most of the time it doesn't. Maintenance programming means you are maintaining something useful, for someone that is interested in paying you. You'll also learn new skills, and new languages / technologies / tools, just out of necessity, rather than being freely chosen, with no constraints.
-
Re:This is it! The year of the Linux desktop!
Sigh....how to write a Linux virus in 5 easy steps along with the follow up rebuttal that shows its actually easier than the author first thought, using NOTHING but the exact.same.tricks. used on Windows users. And please note we have already seen these kinds of tricks DO work on Linux users, the KDELook bug anyone? Or the infected Quake 3 that sat in a repo for nearly a year?
The moral of the story is this...there is no such thing as a secure OS if the user has control of the system because the user is frankly the easiest part of any system to exploit. think the PCs I see infected at the shop got that way from Windows exploits? Nope they ALL end up that way from a variation of the classic "dancing bunnies problem". You make your malware look like something the user really wants, user bypasses the security to get it, user gets pwned....what part of that required a specific OS? Oh yeah NONE because it has jack and squat to do with the OS, its exploiting the USER.
So hold on to that dream pal, the insane number of Android infections, which just FYI hit the million infected mark 3 times faster than Windows hit that milestone, has driven a stake through the lie that the Linux kernel somehow has magical anti-malware powers. You move say 10 million windows users to Linux so its a target worth hitting? it'll be pwned before the holiday weekend is over.
-
Re: Can we say expensive?
Take a look at https://blog.codinghorror.com/...
-
Re:Horse hockey!
An "attack" means "faster than brute force".
For MD5, a video card from 2012 can brute force every possible 7 character password in a bit over an hour and every possible 8 character password in a bit over a year. If you limit it to likely passwords (letters and numbers) you can do 8 characters in 4 hours.
So yeah, any "truly strong" passwords are safe, for values of "truly strong" that were probably not well thought-out in 2005.
-
Re:Please don't learn to code...
https://blog.codinghorror.com/please-dont-learn-to-code/
http://techcrunch.com/2016/05/10/please-dont-learn-to-code/
What ridiculous arguments.
"Please don't learn maths. Teaching maths assumes that the world needs more math theorems in the world. It assumes that adding more poorly-trained professional mathematicians to the world is a desirable thing when it's not; we already have enough professional mathematicians. It implies there's a thin easily permeable membrane between those learning Algebra-1 and those who work in Field Theory -- but there's a huge gap."
(I've copied out the arguments from those blogs but replaced "code" with "maths" to show it's ridiculous. Like learn-maths, the benefit of learn-code isn't to produce professionals, but instead to produce citizens who are empowered by it to live their lives better. How does a small amount of coding know-how help you live better lives? because you no longer have to consume the rubbish that gets thrown at you, and you can instead whip up a small spreadsheet to test how your mortgage payments will work, or a small web-scraper to extract out price information, or you can explain a non-coding task algorithmically to someone.)
What a ridiculous counter-argument.
Computer Science and Classical Mathematics are competing philosophies of mathematics. Computer Science is rooted in constructivism while Classical Mathematics is not. Coding is to Computer Science like arithmetic is to Classical Mathematics---an abomination. The most beautiful parts of mathematics are the parts that no one can find a use for. Once a use has been found, the beauty is tarnished.
Now if you want to teach algorithms to children, it should be done as part of maths class, and that would require asking students maths questions that require writing algorithms to solve (such as how many prime numbers are there between 6 and 2**24, or create a multiplication table for base 13). I think that would fulfill the basic need to enrich people's lives without creating the false impression that coding is a skill distinct from saying arithmetic. It is basically learning how to make your calculator work for you instead of working with your calculator. However, it is cruel to teach people at an early age the means by which they are going to lose their job.
-
Re:Python/PHP: learn it in a weekend...
I think I would have gotten bored instantly. I learned programming not as a subject, but on my own as a tool to solve problems that I wanted to solve.
That's fine -- self-starters like you don't really need the teacher's help anyway! (Hopefully the teacher would be decent enough to exempt you from paying attention and let you do your own thing, but I'll concede that not all teachers are decent.) The problem is all the other dumbass kids who don't have the faintest clue about how to think algorithmically, how to break down a complex problem into multiple simple problems, how to reason with propositional logic, etc.
Your suggestion to "give them a problem from that area and help them figure it out themselves" wouldn't work because (a) they have no programming-related "area of interest" and (b) they have no hope of figuring it out for themselves because they get stumped on basic concepts like assigning to a variable. That's not even an exaggeration: it's literally why "between 30% and 60% of every university computer science department's intake fail the first programming course". (And that's people who have self-selected to become college CS majors! I expect trying to do this with high-school kids to be much, much worse.)
If you want to have any chance whatsoever of turning those "non-programming goats" into "programming sheep" (to use the paper's terminology) you can't start out teaching the to program; you have to teach them to think first! Even then, I'm not convinced success is possible.
-
Re:Please don't learn to code...
https://blog.codinghorror.com/please-dont-learn-to-code/
http://techcrunch.com/2016/05/10/please-dont-learn-to-code/
What ridiculous arguments.
"Please don't learn maths. Teaching maths assumes that the world needs more math theorems in the world. It assumes that adding more poorly-trained professional mathematicians to the world is a desirable thing when it's not; we already have enough professional mathematicians. It implies there's a thin easily permeable membrane between those learning Algebra-1 and those who work in Field Theory -- but there's a huge gap."
(I've copied out the arguments from those blogs but replaced "code" with "maths" to show it's ridiculous. Like learn-maths, the benefit of learn-code isn't to produce professionals, but instead to produce citizens who are empowered by it to live their lives better. How does a small amount of coding know-how help you live better lives? because you no longer have to consume the rubbish that gets thrown at you, and you can instead whip up a small spreadsheet to test how your mortgage payments will work, or a small web-scraper to extract out price information, or you can explain a non-coding task algorithmically to someone.)
-
Please don't learn to code...
-
Tools vs VB6 (lock-in)
And your analogy shows even better the problems of VB6.
A tool is a tool. And can easily be used with your bare hands.
A hammer is still a hammer, no matter what.
If you have a nail that you need to hammer into a wall, you can go to any hardware store and buy one. And you know that you'll be able to use it.
You have the confidence that you'll be able to user it.
It might be an expensive solid tool that will last a quater of centurs. Or a cheap one that will break by the end of the third nail. But you know how to use it.
(unless it's a PHP Hammer :-P)Standard language (like C/C++ when standard compliant) are like this.
If Bjarne Stroustrup goes banana and decides that the next version of C++ standard will be a mix of (worsts parts of) Java / PHP / COBOL and BrainFuck.
You can still ignore him and use any sane compiler implementing a standard that you like (say C++11)VB6 is as much of a tool as a razor with a custom head that you can swap instead of more or less rasor blade.
Yes, you can also do things with it.
But you're at the mercy of the brand making these razors. Maybe tomorrow they'll decide to change everything or plain stop producing razors and you'll be left alone with a useless razor handle that you can't use with any other razor heads (Unless you go for some cheap chinese clone from some shaddy part of TaoBao), (or unless you've stashed a huge supply of replacement heads in case this happens).
It's not a tool, it's an embodiment of the lock-in marketing trick (and rasors with weird heads is a common metaphor for it).You're at mercy of whatever goes through the head of Microsoft's heads.
And Microsoft *has gone* bonkers and *DID* decide to throw away VB6 and bet everything on VB.Net (a distant cousin of Java, but instead with a much more verbose syntax than C# - the flahship language of Microsoft's "I can't believe it's not Java" .NET platform).
And now you're left with a huge bunch of legacy code that contains all your important business logic that you've painstakingly build over years, investing huge amounts of money to get more or less into a working state.
Your only solution is trying to improvise something with one of the approximately "more-or-less comptaible" open source re-implementation like Gambas. And hope that fixing your VB6 code to work under these conditions won't cost way much more than paying for a full re-write (and re-testing / re-certifying the rewritten shit).
Or alternatively, learn the necessary necromancy skills, to be still able to keep the old hardware alive, so you can run the older Windows XP on it that seems to be the only one on which you can run your VB6 monstruosity.Yup, VB6 doesn't have much the same portability and absence of lock-in that hammer has.
-
Re:Microsoft, do this:
>> It was more carefully planned
Thats just ridiculous. Consider how much effort, (even just in broad brush terms of numbers of engineers, different companies and universities are working on it) hav gone into developing Unix, and are continuously happening on the Linux kernel, compared to NT kernel.Dave Cutler had previously headed the coding teams for RSX-11 (PDP), and VMS (VAX), before departing DEC with his last team and the PRISM source to build what became NT. Cutler had FAR more experience than any of the architects of free (non-AT&T) UNIX. He easily rivals Ritchie and Thompson in his stature as a father of operating systems.
For a better understanding of DEC, the genesis of NT, and the roles these various people played, I recommend that you read ShowStopper. The planning behind the NT kernel certainly dwarfed the care behind the accretion of Linux.
And yes, the NT kernel appears safer and more secure than Linux, especially as Linus does not focus on security. (I do realize that 119/38 is not 24/26 - but the second figure likely involves userspace, which is not apples-to-apples.
-
Re:No.
-
Re:All settings moved to gconf-editor.
Windows let you change color and font since I think Windows 1.0, which was what 1990? How come Microsoft could figure out how to let users change color 25 years ago, but Gnome still can't figure it out.
-
Re:Response From OP.
I'm not sure if this will be useful in the specific context you describe, but I do think that this might capture some of the possible issues you did not directly consider. I wrote the submission to the 'other' site and got back maybe 3-4 interesting responses. Here is what I wrote with a link to the comments below:
We recently discussed reddit's woes and the hiring of a new CEO. However, we have seen communities come and go for many years.
Clay Shirky wrote about his experience in 1978:
"Communitree was founded on the principles of open access and free dialogue... And then, as time sets in, difficulties emerge. In this case, one of the difficulties was occasioned by the fact that one of the institutions that got hold of some modems was a high school. ... the boys weren't terribly interested in sophisticated adult conversation. They were interested in fart jokes. They were interested in salacious talk. ... the adults who had set up Communitree were horrified, and overrun by these students. The place that was founded on open access had too much open access, too much openness. They couldn't defend themselves against their own users. The place that was founded on free speech had too much freedom."There are two clear trends. One is that less input and customization tends to grow bigger. Note how Geocities was replaced with Myspace which was then replaced with Facebook and Twitter. These newer systems take away personal freedom of expression and makes people follow a 'prescribed' system, albeit an easier one to use. The other trend is that communities that try to be truly free and open end up either stifled by that openness or give up. The only obvious exception is a platform that allows us to simply filter out everything we don't want to see, which becomes a series of the feared echo chamber. With the excessive amount of data and the build up of complex rules on how information is shared, where does this leave us? It seems that like the famous iron triangle allowing free (and legal) speech with the possibility of diverse opinions, a cohesive group, and growth only allows you to pick two.
It seems to me this is a wicked problem, perhaps unsolvable. But I wonder if the community thinks there are other design options? Is this even possible with human nature as it is?
https://soylentnews.org/article.pl?sid=15/07/18/0821234
- JCD
-
Gallons
how to get exactly 4 gallons of water into a 5 gallon jug, using only a 3 gallon jug as a measuring device.
For those who share my compulsion to solve FizzBuzz, here is the solution to the above:
1) Fill the 5 gallon jug.
2) Use the 5 gallon jug to fill the 3 gallon jug.
3) Empty the 3 gallon jug.
4) Pour the remaining 2 gallons from the 5 gallon jug into the 3 gallon jug.
5) Fill the 5 gallon jug again.
6) Top off the 3 gallon jug with the 5 gallon jug - this will require 1 gallon, leaving 4 in the larger jug.(For those who do not share my compulsion, feel free to just laugh at us.)
-
Re:About Elementary
Probably because while ugly, Mac OS still looks a lot better than any version of Windows ever has (not counting custom visual styles) and better than any Linux-based OS aside from Mint and elementary.
Fuck you, hot-dog stand still reigns supreme.