And now that he hasn't earned any significant cash, he can claim that teachers/education have a warped sense of value... right.
1,059 karma · joined January 5, 2010
[ my public key: https://keybase.io/nsfmc; my proof: https://keybase.io/nsfmc/sigs/e9YAe_1k0aJVxOOadbxGJm6s_cFKeMeuWay_ocZyl50 ]
Verifying my Blockstack ID is secured with the address 12yroXUpFaXP4bL9wxw3LARRX8Be8HYZui https://explorer.blockstack.org/address/12yroXUpFaXP4bL9wxw3LARRX8Be8HYZui
And now that he hasn't earned any significant cash, he can claim that teachers/education have a warped sense of value... right.
if you want to learn to code an ebook, go to http://blog.threepress.org/ which is a pretty satisfying mix of technical and 'get it done.'
the reason startup websites look like the 'before' is because for whatever reason, everyone's told that there's this certain blue that projects confidence and whatever. the background is white and the text is #444 because of another mandate from heaven (h&fj) and so forth.
The reality is that while maybe black on 'weird textured background' may be technically harder to read than black on white, it's nonetheless legible. Somebody made the point that what really matters is whether this new site converts better. Whatever.
At some level, design is a matter of taste. They like their new site, you don't. Agree to disagree, but it's not like these things are 100% set in stone. I mean, everyone used to think fraktur was highly legible but something (tschichold?) eventually changed. Who knows.
It's all fashion (subjective).
Obviously, Trademarks and Patents are two different beasts, but the mechanism for enforcing and protecting trademarks i think is usually along the lines that most people consider fair, which is that the trademark is used to protect an interest for as long as that interest is active (and semi-vigilantly policing its mark) and is using that trademark to protect its own notoriety.
Obviously, trademarks and patents are two different beasts. But (and this is why i'm repeating myself) my point is that you don't have to get rid of these sorts of laws. Trademarks are equally nebulous, but their model seems to me a huge success in the world of intellectual property management whereas (software) patents seem to be a stickier situation altogether.
just my two cents, because again, i don't think we should necessarily get rid of software patents, but i think that thinking of them using this old framework has been problematic in a way that trademarks haven't been (despite similarly ridiculous, yet defensible, use cases, i.e. trademarking 'tiffany blue').
[1]: http://en.wikipedia.org/wiki/Trademark#Maintaining_rights
[1]: http://www.theawl.com/2011/04/some-awesome-things-to-say-to-... [2]: http://www.theawl.com/2011/06/actually-awesome-things-to-say...
Content providers already have feedburner for rss metrics (also, now by google) not to mention google analytics (nee urchintracker) and good ol' fashioned server access logs (which you can analyze with urchin proper (or mint, or what have you)).
I can see from a gut-reaction standpoint how you could write what you did, but aside from gawker (who notoriously uses analytics, c.f.[1]), how many legitimate content providers use analytics as anything other than a rough barometer for trends? The problems you describe are problematic for certain types of tabloid publishers (drudge report, ny post, etc.), but they are hardly addressed by a handful of querystring parameters.
[1] http://www.newyorker.com/reporting/2010/10/18/101018fa_fact_...
On HN we've been seeing a bunch of these hyper-targeted reverse resumes in the past year because I suspect people have gotten tired of submitting waves of resumes and hearing nothing back within a reasonable timeframe from companies that advertise open positions on their websites but never, for whatever reason, respond.
What i'm seeing here, is that traditional recruiting practices are failing in some way because priority is achieved by a) making it to the hn frontpage which b) gets pg to vouch for you. Which is basically no better (or efficient) than the traditional method of hiring folks that you've networked with via friends/school/etc or what have you.
I understand that historically those online resume systems are a real losing proposition for applicants, but this suggests that they're more like a black hole rather than a mail slot.
Again, this is a critique of these automated systems which seem to be visibly failing because people are going out of their way to subvert them in order to achieve any success.
Still, the problem with these as actual 'design patterns' is that they're often wedded to specific implementations rather than the tasks they're trying to solve. I.e. "Endless Scrolling" (to pick an example) is not a pattern, it's a solution to a larger problem (e.g. user retention, communicating large datasets, immersive experience, &c).
The point being that if you're talking about design patterns in terms of the implementation (web forms, 404 page) you're restricting your pattern language to specific solutions rather than understanding what problems you are actually trying to solve (i.e. I WANT TO GIVE YOU MONEY, WHERE DID THIS GO?, respectively).
Although these sites often address these problems, they do so as a second level consideration rather than the primary atom of their pattern language, which diminishes their power. This is generally part of the problem with how design patterns are discussed and understood, which is a bummer, because it promotes the perception that they are 'reference catalogs' rather than 'languages for addressing problems.'
edit: fixed ambiguous language in last sentence
I know, i know, it's verdana, the scourge of late 90s web design but it still has style (doesn't everything?), it's just that verdana has come to encompass 'corporate' and 'default' and 'websafe' in much the same way that the verizon logo encompasses 'design by committee.' Verdana's got some serious baggage, but i would hardly say it's soulless.
And in any case, it's pointless to argue this issue, but, i dunno, ten or twenty years from now, maybe we'll look back and feel differently about Verdana (in much the same way that people are warming up to Optima (the inspiration for letter gothic) again after what appears to have been a 20 year hiatus).
The first is that Verdana is really nicely hinted, which means that, unlike most other fonts out there, Verdana has the advantage of always technically looking sharp.
The second is that Verdana is mostly monolinear, like Courier or Andale or any of traditional monospaces, there's only the slightest bit of stroke variation (most of it optical), so you get style but you don't get the distraction (onscreen) of stroke modulation
The third is that most proportional fonts have a comparatively larger pitch, so you get more characters in each line, which is also what you start seeing in 'next gen monospaces' that seem to make better use of their allotted horizontal space (and seem less wonky in general).
The last, and arguably most important, is that almost all proportional fonts (verdana included) have got style. It's hard to emphasize enough that most of the arguments for Consolas or Inconsolata or Liberation or ____ are largely due to the fact that those fonts have an overt aesthetic agenda, which is sometimes not apparent in first-gen monospaces (although, to be fair, they and their brethren are stylized, it's just that we've grow numb to it)
I'm personally a monospace sorta person (i like fedra mono)--there are some really nice (alas, non-free) monos out there to choose between that are more fun to use than the more stoic traditional monospaces. Part of why proportional fonts are appealing is that we rarely need monospace fonts anymore: their use is largely vestigial (and aesthetic-driven) and also that many programming languages (python et al) often have highly literate code that benefits from typefaces designed with legibility in mind.
So i'm just sayin, i respect where you're coming from, but don't dismiss monos out of hand. There are nice ones which are coincidentally monospace, but aren't as frumpy or harsh as the monospace fonts that are typically advertised as 'best programming fonts.'
1. The commenters seem to imply that java is probably not the most appropriate language for cs1, where syntax considerations often overpower practical concerns.
2. Bright students that 'get it' are not the baseline, they're the exception. It's the other, intro level students that the class/recitation/curriculum should be catered towards.
3. Many (if not all) fields of study 'get hard' in college (i.e. physics, pure math, etc). The problem in this case is one of students being improperly tracked (i.e. curriculum failure).
4. Intro CS courses vary wildly in expectations and ideology. This set of courses seems to focus on 'practical' considerations that are probably better suited to a separate 'software design' course. It's possible that this 'survey' is actually too broad and not focused enough.
5. The music analogy is cute, but fails to consider that intro cs courses typically only succeed (and attempt) in getting students expressive (i.e. jibbering toddler) rather than elegantly fluent. This is why many post-cs1 students generally can solve problems using their new toolkit, but often solve them naively (it's like a toddler that says the wackiest things)
6. Confusing "programming ability" with "computer science" is problematic overall, i don't know that anyone would want to spend four semesters "programming" but i've know a bunch of people that enjoy the theory=>pracitce :: state machines => regular expression 1-2 punch. You can do quite a bit of fascinating cs in a logic/philosophy class as well as in a complexity theory class without ever touching a computer. I know, heresy, but it's true.
I think finally, the issue here is confusing "computer science" with "software engineering." I think java's a great language for software engineering, it's got all the stuff builtin to teach those concepts, but as a language for sketching, i'd probably use python.
People often make this mistake in teaching javascript because built in is the ability to manipulate the dom which, while eminently useful, is also basically a whole separate language/paradigm mess than 'javascript neat.'
And this is a hard question to be confronted with in any case: what are you teaching and why are you teaching it? Neither of those seem to be fully addressed in the author's description of cs1/2.
Evidently, there’s always the question whether this matters at
all. After all, the bulk of applications that are available for
both platforms don’t see much traction anyway, so how relevant
it is whether there are 100,000 apps or 200,000 apps that are
rarely, if ever, downloaded by anyone?- go to office hours and don't be afraid to ask for help from your TA and classmates.
work smarter, not harder.When i interned at pentagram's ny office, one of the nice things was lunch, which was served tue-thu. It was totally optional and you could eat with members from your team or others, whatever. It sounds similar to what you're describing and i thought it worked really well, i liked it, and it always bummed me out a little when it wasn't there on those bookend days. sometimes i'd be busy during lunch and there might be something waiting in the kitchen or i'd go out to eat with a friend.
I don't think it really works if you force this sorta thing, but if the food is compelling (i really liked the cheese, personally) and everyone's on good terms, i think the staff lunch works really well. the exception here is if there's a toxic team member or individual, which i think really sours the experience and which many people may be also reacting to.
When i worked as a line cook, staff lunches were also equally gratifying, but for entirely different reasons.
It's not actually a url for a specific free ebook and it feels sorta wrong to attempt to exploit it.
in most cases, js performance is a non issue, but when it is, it's interesting to see how and where you can optimize, which is really what his add-on (again, obliquely the real point of the post) seems to target.
I think i could forgive php more for behaving (and being named & structured) wildly inconsistently were it not that the documentation tries to make up for this by pretending this is actually not the case.
So not only do you have this issue where the behavior of a function may be erratic but the documentation attempts to gloss over the issue by describing a function's most optimistic outcome rather than its actual behavior. Any behavioral caveats are left in the Notes section which in any other language documentation is reserved for "not thread safe" or "uses an easily guessable seed" or "execution blocks network access". Instead the Notes are used to explain "optional arguments not included change the behavior of this method to behave like this other one, but give no warning or otherwise visible indication of error."
The whole "php is defensive programming" statement holds because you can't trust the documentation to be upfront about inconsistent behavior.
"Given the lax nature of JavaScript, it's easy for your application to spiral into a mess of unmaintainable spaghetti code."
Let's not forget: it's entirely possible to create a mess of unmaintainable code in any language. Or, "guns don't kill people, people kill people"
The other half of this complaint i think is somewhat elitist (unwittingly so?) and it seems to do with the notion that because there is a such a low barrier to entry, that much js code is cargo-culted, but i've seen this from developers in every language. What I find even worse than cargo-cult code is Pattern Zealots going about specifically coding up Pattern X in javascript. It's like they studied Design Patterns but the point of it just went over their heads.
Knowing the principles of software development doesn't prevent you from making ridiculous decisions[1]. It seems like everyone wants checklists of coding standards or something for measuring code quality / standards compliance these days in js. But these are hollow measures if the code behind the module/black box/library is just plain wrong.
Maybe i'm missing something here, but why is this article getting voted up?
[1]: http://stackoverflow.com/questions/1635800/javascript-best-s... (found when googling 'javascript singleton')
You see this all the time in even jquery packages: are they $.pkg.method(elts) or $(elts).pkgmethod() or is it $(elt).pkgmethod(spec) or .... and so forth. Part of it is a matter of taste even if sometimes it goes against 'the jquery way.' Again, this is so religious that it's often not even worth fussing over.
Blaming browser vendors or our ecma overlords for package standards seems like a bit of a straw dog because javascript isn't a package distribution mechanism, it's a programming language. If you want to build apt/npm for browser js via require.js+jquery or your combination du choix, then by all means, but this isn't a failing of the language just as brew failing to install mutt is not a failing of ruby.
Certainly, there's bound to be some overlap in packages, but this happens everywhere and who cares? underscore+jquery seems like a strange example especially when the two are complementary. If the goal is to have a "lightweight core" with "components that deliver specific, isolated functionality" i mean, aren't we there right now? And for where we're not, as mentioned by other commenters, coffeescript and friends certainly seem to be fighting the good fight.
I'm all for innovation, but i could do without "enterprise javascript" (isn't that was es4 was and, i mean, i'm not exactly losing sleep over that decision). For proof positive that we're already getting the 'roll your own' strategy, check out the modernizr 2 beta (or, the less modest jq-ui).
If the point of modern js is that people are working together and optimizing, then yay!! but if the point of modern js is that we need to abide by some static discipline where each function only accepts a single spec object and conforms to some require.js loading protocol then, umm.. thanks but no thanks.
The fact that you can assign a lecture as homework is amazing, it totally changes the dynamic of what you can do in a classroom. That being said, these tools they're developing seem useful only because they track student engagement with lectures and problem set success rates.
i always thought (and dreamed) that the future would be a better textbook, something really humane and well designed, but this (for lack of a better word) paradigm shift makes a textbook more like a learning journal rather than an immobile one-size fits all beast.
Actually, the one thing i think most people are paying for when it comes to indesign is adobe's type engine, which behaves predictably and also supports the kitchen sink of opentype features. It's easy to dismiss ot support as a convenience function (it is at some level), but it's the killer feature for any typographic application where you want to use the full range of type available to you in the font (family?) you paid oh so much money for.
I once designed using a version of futura that had the small caps & osfs in the glyphs menu (untagged!) and was livid when i had to set nearly a paragraph of text by inserting each one at a time. Since the last time i checked when i was in grad school [1], this was still an outstanding issue in scribus (shaky opentype smcp/dlig/salt support) and it's really the one that kept me from ditching indesign. As it was, i would probably have jumped ship and used latex/xetex had i not been trying to individually rag each line.
It's not like you can't make nice work in scribus, but it may also be more convenient to do it in a program that has solid support (and mostly tuned ui) for the features that many typographers use.
I think you should design the way that you ______. Do you code? Apply that mindset to your design. Do you just hammer something out or do you try to improve it? Do you look for inspiration from other projects on github? Do you look for inspiration in orthogonal things like architecture or nature or industrial design or _____. Apply that to your design. Apply the same standards from something you're passionate about to your budding design work, it'll show. The more you make this your process the more your design will be your design.
as with all other things, there's a whole lot of cargo cult design where you toss in a grid and you dutifully build up some crazy type hierarchy or you use appropriate fonts or just plop down a müller-brockman layout or a tschichold page proportion or three sizes, two weights of helvetica neue, etc. You can convince yourself this is "correct," but sometimes you're just going through the motions. I've made a ton of absolute crap but sometimes i make something and i'm like "oh wow, that's an actually appropriate use for a grid, man what a total cock up that other project was."
It's very easy to make and parrot the current zeitgeist (just look at forrst), but it's hard to go out on a limb and try to make something that comes from you. It's even harder to make it something that other people will see and say "oh neat, i like that even though it's a little weird," and that's what practice does to you, but it doesn't come overnight, it takes effort, like anything worth doing, like programming or cooking or sports or _____.
The things that make you great in design are the things that make you great in any other field: passion, curiosity, exploration, failure, practice, communication and critique. all in great quantity. this is the moral you see on hn a lot, so it's like preaching to the choir, but go outside your comfort zone and try to make what's in your brain; it's a humbling and rewarding path.
i don't want to knock the post, it's fine, but also keep in mind that not everything needs to look like a startup website. I'm tired of friendly blue all the time, i want to see new designs, i want to see people going on a limb. I guess what i'm saying is: this is design for conversion sake, not for design's sake, and those are two totally different pots of gold.