Follow Slashdot blog updates by subscribing to our blog RSS feed


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:Invert it (Score 5, Insightful) 347

I agree on the examples and discussion around them.

I taught a class for some new programmers fairly recently out of school. They knew PHP and a few other languages, so they could do basic coding. However, we needed them to know Perl and our app.

I taught 5 classes of 1 hour each, 2 every week. There was about 20 minutes of lecture up front to explain ideas beyond the basics, and they were encouraged to ask questions during that. I also gave them a problem to solve at end of the lessons to complete for next time. The homework at the beginning was solvable in 10-20 lines; the ones at the end took nearly 50 lines. The last ~40 minutes of a session was spent going over the homework and discussing it. Each person presented their answer for everyone to look at and were asked what they found hard to do and why and we talked about solutions with emphasis on the why.

Part of the reason it worked well was because I stressed there was not 1 definitive answer, not even mine ... a working program (without bugs :) was the goal -- however they got there (rule 1). Negative criticism wasn't allowed -- only constructive criticism (rule 2) -- and thankfully there were no issues with this. My usual teaching phrase was to say "a better way to have done the same thing was ___ because ___", and to remind them that in the end we paid them to write working code.

The discussion of the homework allowed them to see how others did it, I also showed my answer though I always went last. We also talked about ways to do it better with a large emphasis on why something was better, trade-offs, etc. I also did my best to point them in the direction of good habits: comments, testing, modularization, maintainability, etc. I also mentioned useful books, most of which have been mentioned by others.

If I ever had to teach something like this again, I believe I'd do it the same way. All of the class members gave me good feedback and said they liked the format.

Comment Re:Better use Linux directly (Score 1) 77

Better use Linux directly and put Windows 10 into the trash can...

I've used Linux since before it hit 1.0 and I'd love to do that. However, at work, I'm forced to use a laptop that boots Win7 for now and I'm told Win10 is coming in the future. So no matter how much I want to use only Linux, I don't have that option at work (at home I use Linux). Therefore, something like this has appeal to me. Historically, I used Cygwin, but if I could have something that feels more native, that would be a good thing.

Perhaps one day we can convince the IT department that Linux is a viable option for the computer on my desk; but until then, I have to suffer with MS-Windows whether I like it or not.

Comment Re:Curly braces = good. Indents = bad. (Score 2) 173

The IDE gives the warning. Real programmers use IDEs with syntax checking...

You obviously only do web programming and/or don't program on big systems. I want to see you ssh into a server that doesn't have a GUI and use an IDE to fix a program. You'll fail dramatically and then what will you do?

This is why I use "vi" as my editor. It doesn't require a GUI (there is version with one if you're in a position to use it), and I'm guaranteed vi will be available on every Linux/Unix server I work on. IDE's are also bloated; try to use an IDE on a server with only 1G of RAM total.

Comment Re:So, employees they can abuse via overwork (Score 1) 226

There is that, but I'm also concerned about the abuse up front. They want them to come and "hang out and work for 2 weeks" without being hired? Is MS paying for food and lodging at least? Is MS just taking 2 weeks of work for free? Do these people do that all of that for the "hope" of being hired in the end, which might not happen?

I've heard of "speculative interviewing" before, but this really seems over the top to me.

Comment Re:What, no thanks? (Score 3, Informative) 85

You should never, ever write code that allows SQL injections. It's negligent.

Then why do nearly all SQL libraries enable injections? Why aren't parameterized queries required? Is there any reason not to use them?

Is there any reason not to use parameterized queries? No.

Is there any reason non-parameterized queries are enabled? Yes, probably plenty, but I'll give the easy one. :)

The libraries and code can't really tell the difference between "select * from table1 where id < 100" and "select * from table1 where id < $variable" because the calling code is going to fill in $variable from some user input. The first form may be reasonable business logic because all non-reference values are less than 100 and user input values start at 101. The second form looks a lot like the first, but has different intent. The libraries can't determine the intent and by the time they see the SQL, the variable has been expanded and really looks the same.

That being said, good libraries only allow 1 SQL statement per call so injection is a lot harder because "select * from table1 where id < 0 ; delete from users where 1" (injected part in bold) would be disallowed. But injection is a problem because many libraries allow that.

Comment Re:This almost makes me want to move to Canada... (Score 1) 141

"Well, if it wasn't so cold. :) "

Is your area under yet another "heat warning"?

It may be warm in Canada now, but it's all the frozen stuff in multiple months of winter that I don't like. Sure, it's in 90's (F) where I am now, but I can deal with that; I just don't like it to be below freezing.

Comment Re:SQL: Left join vs inner join (Score 1) 674

A guy I work with uses left join for everything when the majority of the time an inner join would be more suitable. Oh well, it still works.

I'd guess because he learned SQL while using the older versions of Mysql, where left joins were faster than inner joins for some strange reason.

Hmm, that reminds me that Mysql would qualify for this overall topic. Mysql isn't that great of a DB, but it generally works well enough for many people.

Comment Re:Requirements (Score 1) 286

Then you probably want Onenote. It can do 1-8 no problem. I'm not aware of encryption (#9) for it, but you can password lock pages/notes. It doesn't do Markdown, but there's really no need. If you want bold, just do ^Bsomething bold^B (like any other MS-Windows program) and you're good ... all the MS-office shortcuts work. For #3, you didn't say what devices, but I do use it on phone (android), tablet (win8.1), and desktop (win7 & winxp in a VM on Linux). It also has a browser interface if required. Onenote is the best thing MS sells, IMO, and perhaps the only thing from them that I like. It also works on Macs if you swing that way. :) ... HTH

Comment Re:Don't subscribe (Score 1) 286

I've researched OneNote and EverNote before and neither of them have any features that would be worth losing all of your personal notes when you don't pay your monthly ransom.

Onenote is a program on my local machine. That's not going to away so there's no ransom. When I decide to ditch Onenote, I'll export all of my stuff to HTML and then suck it into my new note program. But for now, Onenote is the best electronic notebook I've found, bar none, and I've look at a lot of them.

For me, Onenote is 1 of the few programs holding me to MS-Windows. Games? They're fun but I can give them up and most of the games I'd play anyway are older and can be found for SteamOS. I just want a good note taking program that will sync between devices and will run on both MS-Windows (for my tablet) and Linux (for my desktop).

I recently found Turtl and NoteCase Pro, 2 tools that didn't exist when I did my big survey a few years ago. I'm looking into them now and am hoping 1 of them will do the job, putting me that much closer to kicking MS-Windows out of my life (except for work).

Comment Re:On What Spectrum? (Score 1) 74

If it's like what I have now, it comes in basically on the 802.11 spectrum. The antennae sit on water towers (cheaper than the rent on cell towers I'm told). I live in a semi-rural area and the tower I point at is like 3 miles away. I'll also point that that you must have line of site to the tower or it's a no go. I can get 5Mb down on a good day. During the busy 6p-9p I'm lucky to get 1.5Mb which makes Netflix rough. Yes, our area is oversold but they won't upgrade. :( They say they have equipment that can do 15Mb, but until the towers support that higher speed, what I have on my roof doesn't matter. FWIW, that comes at $45/month.

So if Google can come up with a way to compete with this, I would welcome our new wireless overlords. ;)

Comment Re:Things Do Not Want (Score 1) 123

As others have pointed it, it depends on what's going on as to whether this is a good thing ... e.g. if you only need to the place to sleep because you'll hardly be in the room but must have a "base" while you're somewhere.

I first ran into something like this about 10 years ago. In the bottom of the Helsinki airport, there is a Scandic Hotel and each room is about 5m by 3m (probably about double what's in the summary). It's actually a great place to stay when you have a flight before 7am (which would require you to be in line by 0530 or earlier). You can check in the night before, all you really need it for is to sleep and the basic bathroom needs, and you have no travel time to the airport in early morning so you can actually sleep a little longer. I wouldn't want to stay a week there, but in the circumstance I used it for, it was a great thing.

Comment Re:New Feature for LibreOffice? (Score 2) 39

Perhaps this will spur the Libre/Open office (Apache foundation for openoffice) to add EPub export the way Firefox got tabs as a standard browser feature. ...

No need, there's a great tool for EPub generation called Calibre. It will take a variety of inputs and produce an EPub doc. If you want to edit, Calibre can help there too, but I prefer Sigil. The point is there are other and better tools to work with EPub than LibreOffice. No need added a lot of extra stuff to that behemoth, instead use a tool made for the job.

Comment Re: The future looks good. (Score 3, Interesting) 264

The future's good and the present is nothing to sneeze at. I've used Audacity as my primary audio editor for years. Admittedly, my requirements are pretty lightweight, but it does what I need.

I've done some audio editing in the past where I take raw inputs, clean them up, add effects & other work as needed, then produce a final track. While I can do that with Audacity, I find it harder to do than with SoundForge (an MS-Windows only program). I'm sure some of my preference is what I'm used to, but it's always felt to me that Audacity just makes things a little harder than they need to be, or is missing something I'm looking for (it might even have what I want but is called something else that I don't recognize so I think it can't do what I need). I appreciate what the team has done in giving us Audacity, and it's fine for when I need to take a recording and trim the ends or something else dead simple, but for real editing I'd *much* rather have SoundForge.

To use an analogy that is somewhat apropos, I actually prefer MS-Word over LibreOffice-Writer. Sure, I can use Writer to get the job done, but I always seem to have to hunt a little harder to find the task I need, or Writer randomly renders the document incorrectly occasionally (displaying into the margins is the most annoying one but it screws up in other ways too). I use Writer for simple tasks like viewing only, but for heavy editing I prefer Word.

In both cases, I'm discussing ease of use to get the job done and not about which is "freer" (which maybe be more important to some poeople ... me, I just want to get the job done so I can move on to the next job).

Comment Re:Don't know if you'll see this... (Score 2) 89

When I truly *need* to write, 1 thing that is important to me is environment. It may still be hard to get started, but once you take the first few minutes to make yourself start, a good environment can help you stay in "the writing zone". Of course, that will be an individual thing that you may have to hunt for.

For me, it means no interruptions (from people, phones, etc), good music that is slightly energetic but not overly so and no words/singing. I also do best in blocks of 2-4 hours so I have time to get into the zone and stay there long enough to really produce something but not so long as I become uncomfortable -- your brain needs breaks too occasionally. Also, don't overlook your sense of smell; generally that means avoiding distracting smells, but perhaps there are also smells that you find pleasant and puts you in a good (or relaxed or whatever) mood. There are times a good beverage is a positive, but not too much as that causes bathroom breaks at inopportune times. ;)

There's a lot of trial and error, but that's life sometimes. :) Rewards don't work for me, but I could see how they might for some.

HTH and that you find what works for you,

Slashdot Top Deals

At these prices, I lose money -- but I make it up in volume. -- Peter G. Alaquon