182 karma · joined May 3, 2013
I'm sure there would be ways to game it, but it could go a long way in ensuring the average user gives what they get. It would be awesome to integrate a 'currency' into a similar client, where you slowly earn more by seeding.
Just to name a few: the job description didn't match the actual job, overbearing managers, overbearing coworkers, uninteresting work, a better offer elsewhere, changing interests, or - just like OP - the employee feels like he would grow his talents better elsewhere. I have been in the same situation and employers have understood and respected my decision.
Unfortunately this is simply a byproduct of the web's (and browsers') botched security model; there is no way to allow extensions to modify pages without them being able to read the pages, and if they can read the pages they naturally can catch events, including keystrokes.
This is why you should think - hard - whenever allowing any extension with that permission. It could autoupdate at any time to include malware.
There are a lot of bad extensions out there. I've encountered quite a few. It's a wide-open vector for exploitation and it happens all the time. Just last month I came across a game extension (super mario clone) that contained jQuery. Upon further inspection, it turned out it had been re-minified (making diffs difficult) and had a few lines deep inside that hijacked ads and replaced them with the author's ad network. Silent, effective, and this extension was on the 'top lists' for months. It might even still be there.
Be very aware of the permissions an extension asks for.
There are often times in my CSS workflow where I want to do something similar to this:
.widget
$padding: 3px
$activeColor: $color1
$inactiveColor: $color2
padding: $padding
/* ... etc. */
.subWidget
$padding: 6px
.subWidget2
$inactiveColor: $color3
/* ... and so on */
With preprocessors, this doesn't work - you're better off defining a mixin that you feed variables into, which isn't the most intuitive approach. I hope this is adopted quickly by the major browser vendors. Unfortunately, writing your styles in this way will completely break in browsers that don't support it, in the absence of some sort of polyfilling JS or build tool.The typeahead plugins, both the bootstrap and the larger standalone versions, are hellish to work with or modify in any way. The same goes for dropdown and many others. Unfortunately they never thought that anyone would use these plugins except in their prescribed way - so few to no events are ever thrown, and incoming events are often canceled (stopPropagation, preventDefault), making it hard/impossible to reuse those events for other interactions.
I have had to monkey patch bootstrap JS more times than I can count and I generally stay away from it now. I don't think there's anybody paying much attention to the repos anymore; the number of issues and PRs outstanding for typeahead.js (a small library!) is pretty astounding.
FYI, the older versions of bootstrap.typeahead were more performant, but of course did far less than the now standalone typeahead.js does.
Don't get me wrong, typeahead.js is a nice project and the devs have clearly worked very hard on it. It does some really nice things. But there is clearly some leakage from the twitter style where comments are barebones, assignments take place in conditionals, semicolons are missing, and ~ is a common sight. It is effectively write-only code.
I think this is a good idea and would make a nice simple Backbone plugin. I've run into similar issues before; sometimes you want to display a temporary menu or other interstitial without a refresh taking you back to it.
Some purists get annoyed by this sort of thinking; they think that the URL bar should always reflect the current state of the app. I disagree with that line of thinking; different apps have different requirements and one size definitely does not fit all.
I've been writing Backbone applications for a while and I constantly run into router limitations that require creative solutions to get around. Backbone.routefilter is a great way to get some more flexibility - in every project I usually use a home-rolled combination of routefilter and a few more injected events. One of my favorites is to add permissions checking at the router definition level, to provide routes that only specific users should be able to use.
I've also been floating the idea around in my head of the url being essentially just a text representation of a state object - could easily just be a query string or something similar. Instead of a router globbing the url, you could attach event listeners to events on specific properties (similar to model/collection events), giving you all the power that most server-side routers have. For example:
var MyRouter = Backbone.ExtendedRouter.extend({
routeEvents: {
'var1' : {'change' : onChange},
'var2' : {'change add remove' : onVar2Event},
'' : {'all': onRoute}
},
// ...
});
And so on.It would then be great to use the above microstates idea to create a navigation api like the following:
App.Router.setState(publicState, privateState, triggerOptions)
App.Router.replaceState(publicState, privateState, triggerOptions)
App.Router.addState(publicState, privateState, triggerOptions)
That way, we can trigger routes exactly when we want them (with or without an actual url change), store private state using the History API, and support microstates. The best part (IMO) is that different routers can listen to separate parts of the url, allowing a URL change to trigger multiple routes on completely separate routers. This would go a long way toward true separation of concerns in larger apps.Of course a lot more needs to be fleshed out. If any BB devs are interested in helping with idea, please let me know (email in profile)!
It seems like the GP might be suggesting that a quad-core CPU will swap in another core when one dies. That doesn't happen. But the binning process allows them to still sell slightly defective silicon with disabled parts (cores, cache), which saves money.
On a related note, a lot of GPUs actually do have a few dozen execution units that are disabled by default and can be swapped in after stress testing at the factory. I believe some can even do that in the wild, but I could be wrong.
Have you ever kissed a girl?
- Bryan
is incredibly tasteless.But of course that was long ago.
I don't think it at all appropriate to criticize what was clearly an honest mistake with a call for his employer to fire him. I would expect that of the masses on Twitter and commenting on the PR, but not of Joyent or Cantrill.
It's quiet, and it runs relatively cool. But if you’re looking for subtlety, this is not the console for you.
Is it just me, or does the writer/editor not understand the word "subtle" here?
Otherwise, that was a really beautifully done review, at least visually.
In terms of grades, I found that only my first two jobs cared about GPA - I took it off my resume shortly after because work experience became much more important. That's not to say you should give up on your GPA entirely, but in my experience companies care far less about GPA than they care about whether or not you can actually code.
I was a software consultant for about a year and it was all networking - after all, that's how business gets done in the real world. I never had a time where I had too little work to do. My 'hack' for the whole thing was working in a coworking space, which is IMO the best ~$300/mo you can ever spend in a city that has one. I was lucky enough to have been working in one for more than a year and half before I started working for contract work, but I think you could easily do it in less time than that. When I started looking for work, everyone knew somebody; I never went outside of my space to find any work. It was incredibly convenient and really just worked out easily.
I always advise coders who are looking for freedom, a work environment change, or are newly unemployed to try a coworking space while they figure things out. You'll make a bunch of friends in a low-stress environment, meet entrepreneurs, and make great connections in the community that will get you work. It has worked well for those I know who have tried it - the secret is finding the right space. A socially-oriented space with as few walls as possible is best. You get used to the noise. Take long coffee breaks, go to lunch with people, go to happy hours and meetups. If you let it be known that you're looking for work and others know your skills, the jobs will come to you.
There are serious quality issues along the entire codebase and a number of snippets that strongly suggest the team's primary skill is not JS. Given the cost and gravity of the project, I believe it is fair to say that the American public expects (and deserves) better. It speaks to the vast inefficiencies of the RFP process and gov IT contracting in general that code quality is so far down on the priority list.
It's not just aesthetic, either. There are serious functionality issues, as anybody who has used the site will attest to. And those bugs are not just limited to the backend. Backend bugs have seriously compromised the security of user accounts [1] and frontend bugs prevent major sections of the site from running at all [2].
It is one thing when ugly code is "successfully deployed to solve problems". It is quite another when ugly code on such a high-profile, expensive project is deployed to such disastrous effect.
The constructive part of the post is the repository I linked to (issues are being reported and fixed, for better or worse), and in bringing attention to the fact that government IT does not follow serious engineering practices. Serious attention needs to be brought to the problem so that it can be fixed. I am not happy about it, I am not pointing fingers with glee. I just hope that it has embarrassed HHS & the administration enough to make substantive change.
1. http://blog.isthereaproblemhere.com/2013/10/does-healthcareg...
2. http://blog.isthereaproblemhere.com/2013/11/stuck-in-middle-...
I started looking him up after seeing this mention (and the awful code below). [2]
1. http://www.linkedin.com/in/mkayan
2. https://github.com/STRML/Healthcare.gov-Marketplace/blob/mas...
Thanks for releasing your internal libs.
It's unfair to say that they don't get cheaper considering that a Mac Mini is an entirely different class of machine from an Apple II, in so many ways that it's ridiculous to even try to list them here.
As for your statement about $570 vs $200... what do you base that on?
(And to those taking the thread seriously: this is all
in jest. We won't change the indexing base. The idea
is so preposterous that the only kind of response
possible is to laugh with it.)
--Guido
https://mail.python.org/pipermail/python-ideas/2011-Septembe...The 500M figure is quite obviously nonsense. Even if one adds the source of every tool involved, including the browsers used to display the site, it would be difficult to get to 500M. For example, Chrome is ~5M LOC, depending on comments/version.
[1] http://reviewsignal.com (reviews scraped from social media / public support requests) [2] http://serverbear.com/ (VPS/Cloud host benchmarks & stats)