Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 Internet speed test! ×

Comment Re: Perhaps a better method... (Score 1) 1001

My fave approach as a hiring manager is to do the reverse on a take-home test for candidates from e.g. a career fair:

I write code that does something (generally a few different examples in various languages) and don't comment the code at all and have FIXME-type identifiers (function names like FIXME_name_this_function() ). Their job is to figure out what the code does (compile/run it, take it apart, etc) and then comment it and change the identifiers to something useful. They can use any non-human resources they can find (compilers, debuggers, web searches, docs, etc).

I think this is a better approach because:

* When you're starting at a new job, you're probably fixing broken code at first anyway, so this is a better simulation of that.

* I can process many more candidates, since I already know what the code does and don't have to decipher their handwriting on a board, and

* It shows their ability to get code maintainable, which is much better in the long run.

So stop having your candidates write crappy code; have them comment your crappy code instead!

Comment Re: Go Virtual (Score 2) 158


Getting things in a state that they're repeatable is step one and it very much sounds like you dont have that. Using a combination of VM and deployment technologies (like puppet) will both give you a safe sandbox to work in and careful change management. Once you have that the rest should fall into place much easier (disaster recovery, upgrade management, etc are much simpler).

Comment Pretty Happy Anyway... (Score 2) 51

Been using it for a month now as both a Google Voice user and someone who has GV in not-a-gmail-dot-com email address (i.e. my own domain).

Fi won't allow you to use a non-gmail-dot-com email address, period, and this makes things even a bit weirder (and I couldn't really port my GV number to Fi anyway for that reason).

That said, the base service itself runs REALLY well--switching between networks works nearly flawlessly (and there are definite times AT&T drops and TMob kicks in). As the writer of the article states, if you don't use GV (and I'll add do use a @gmail.com address normally), you're golden.

Oh, and you can't forward your GV number to Fi either (I had to forward to a "real" phone, then back to Fi. Works, but kludgy).

They'll get it together and it'll be fine. In the meantime, this early adopter had to jump through some hurdles and that's OK. If you're an existing GV user and can't cope with weird, don't bother with Fi until they get it fixed up.

Comment Been at Both Extremes... (Score 1) 170

My take is that those that are truly successful in CompSci have both a love of the utility that computers have AND the escapism that they enable through games and play generally.

Back when I was 8 or so, I had my first exposure to video games at the hotel we happened to be staying at in Anaheim outside of Disneyland. Asteroids, mostly. I was hooked. Within the next 2 years, I'd found a way to buy my first computer (a used Tandy Model 1 with tape drive--yep, like I said, I'm old). I whiled away my afternoons loading games off of tape and editing their sources to figure out how to cheat at them.

Later I traded up to a Commodore 64, then a Mac SE, and HyperCard got me through high school (along with a very early Casio graphing calculator). I wrote little games, demos, and all kinds of other mostly-worthless junk in BASIC and HyperTalk. I wasn't a particularly great student (in particular, I was spectacularly lazy), but I got a fair start learning the first three of what I call the five basic CS topics:

By the end of HS:
1. Substitution - Using variables in place of concrete values
2. Iteration - things like for...next loops
3. Problem Decomposition - breaking things down into component parts like functions/subs/whatever

Not until later:
4. Object-Orientation - binding data with its associated configuration (aka code to everyone else)
5. Recursion - writing routines that call themselves and enable decent into hierarchies

(Feel free to argue whether things like algorithm analysis, data structures, state machines, and whatnot are separate or fall into these categories--the reader obviously knows how I feel about it)

So by the time I was done with high school, and almost entirely without any kind of formal training, I was decently grounded in 1-3 mostly on my love of video games as a motivator. Soon after, however, my ridiculous lazy streak kicked in, and you really can't get to advanced topics while being profoundly lazy. I got to university and had my proverbial ass handed to me--brick walled on differential equations, too lazy to write anything of any substance, and what killed me utterly was that it was clear I had no clue how to sell my ideas to others and make them a reality (thanks to the Intel internal bureaucracy for that). ...So I dropped out and sold computers for a year. I did pretty well at it, and figured out how to sell stuff (a skill which has since served me well in professional life). I fell out of love with computer games, however, as it made little sense to spend so much money buying hardware to pirate games and fight win95 when the PS1 made playing games SO EASY (and it made more money for the retailer anyway--margins on computers were razor-thin). But I loved this Linux thing I started messing around with back in 1993--you could examine the code if you want and run sessions for a dozen people off commodity PC hardware (which itself could just barely run Win95). It was awesome--efficient, productive, and open to all who had the skill. ...and I really didn't have the skill, but I again had the motivation to get it. I took networking classes, moved to Silicon Valley during the dot-com boom (you mean I can work with Linux FOR A LIVING? Sign me up!), and preached my gospel of computer gaming being a waste of time and resources for several years until one day a coworker said the following:

"I like computers, but if I don't play games, then computers become entirely work and then I won't like computers anymore."

It wasn't just about productivity and efficiency anymore, and it wasn't about being a timesuck and an escape, either; it was about maintaining moderate motivation--to love computers for both their own utility AND for the entertainment value of loving a good hack and getting sucked into a different world. Both, not either by themselves, and they're not mutually-exclusive.

I eventually restarted my college career and graduated with my CompSci bachelor's from San Jose State in 2008--16 years after starting at Arizona State in 1992. But I was motivated by BOTH a love of computers for their utility AND that escape into another world. At the end, I was named SJSU CompSci's 2008 Graduating Senior of the Year, was a Software Engineer for a while, and now run a team of incredible software engineers. And I still hack code almost daily (silly management responsibilities get in the way sometimes, though).

What's the story, then? Motivation in moderation. If you see computers too much as a tool, you can't maintain your motivation on will alone (though it will take you decently far). If you see computers entirely as entertainment, you can't maintain your motivation on that either. The trick is to balance the two and maintain your love of tech from both angles.

Comment Re: Welcome to the 90's, USA (Score 1) 100

Seconded. For $180 unlocked no-contract, the 2nd gen moto g is the best there is (for now). And Motorola's service, support, and radio design are without peer. Google ownership was definitely a positive influence (we'll see about Lenovo).

Not affiliated with Motorola; just in love with my G...

Comment Re:It would do them good. (Score 1) 223


Basic training means different things to different branches--field-stripping a rifle is replaced with using Wireshark or disassembling some code or basic drone flight (even for pure (h|cr)ackers) in the theoretical ChairForce (LOVE that term).

Probably still a bit of a physical fitness/discipline requirement (arranging into squads, e.g.),but no need to be so intense. Or more accurately, time-consuming with all the march-20-miles stuff. Maybe 30 mins/day of calesthenics and certain minimum proficiency for simple "you're likely to get sick enough while on-duty to be a net liability"-type mitigation. Doubly so if there is the occasional expectation to use stimulants to maintain vigilance during long duty shifts (we never give our footsoldiers or pilots stims, right? :-p ).

Comment As a Hiring Manager... (Score 2) 45

This. 1000% this.

Especially for new grads, folks entering a branch of coding they haven't done professionally before, or folks looking to change careers (or come back to tech after some time away).

I see resumes from students all the time with all the same projects (because they were assigned that in school) and two things make you stand out:

1. Doing stuff that clearly you have a passion for (or at least an interest in). That may mean running a soccer stats website that scrapes other sites and amalgamates it, or it may mean contributing something to an existing OSS project, or it may mean putting something up on github.

2. Being able to speak intelligiently about why what you did was any good (or that you at least recognize why it sucked). Many students in particular have trouble eludicating design details and/or the "why" of their choices--even a "we chose PHP because it's what the other team members knew" is OK, as long as there is a reason and a defense.

Contributing to OSS is terrific because:

1. I can look at your code to see if it's any good, and
2. The code is open so I don't have to worry about possible legal encumberances to talking about it, and
3. I can be reasonably confident you know how to use source code control and/or play nice with other developers.

If you're not VERY confident in the other stuff on your resume, OSS contribution is the best thing to put in a portfolio.

Comment Two-Stage Checkout (Score 1) 342

Have a token- or ticket-based approach:

1. If you don't have a token/ticket (or need to buy more), there's one line for that.
2. Folks with tokens hand 'em over in exchange for bags, preferably right at the truck so no fetching (you effectively crowdsource that bit).

Money is separate from the actual moving of product then (have to do the whole "no refunds/no cash value" thing on the tokens). For people that pre-buy tokens, the line will be lightning fast. For everyone else, it'll still be faster than before and you can flow people to the registers or to pickup as needed to deal with demand.

Comment Do a Proper Disaster Recovery Plan Together (Score 3, Informative) 125

OK, so if you're asking this, there's no way you've done a proper disaster recovery plan--folks that have done those have sufficient documentation in-hand that someone else should be able to pop in and do the job.

So this is a great opportunity to do that. Together. You gain confidence in your IT minion while s/he gains confidence that they're flying right. And any keys to the kingdom are nicely stored where they should be, so any authorized IT person can get at what they need.

The first step is to get the lay of the land and prioritize services. Gather the keys/passwords/whatever together (make sure your AAA story is good, etc). Come up with what your backup/restore stories are. What do you do if you need to restore one file (the "oopsie" moment)? What about a dead drive/server? What if a plane hits your data center? etc, etc.

Make no mistake--you're in the middle of a disaster RIGHT NOW. You're losing your lead IT staffer to promotion :-)

Comment Not All Math Created Equal... (Score 1) 656

I tend to agree with the OP regarding the (ir)relevance of calc/diffeq. I rarely (if ever) use any concepts from farting around with f(x) in that sense...

BUT stats and discrete math is HUGELY important. I've gotten way more use out of my one semester of discrete than the entirety of calc.

I for one would love to see CS students get 2-3 semesters of discrete (and preferably 2 of stats) and one semester of calc (rather than the other way 'round).

Slashdot Top Deals

For every complex problem, there is a solution that is simple, neat, and wrong. -- H. L. Mencken