Slashdot is powered by your submissions, so send in your scoop


Forgot your password?

Comment My wishlist (Score 2) 453

Two apps onscreen at once. You know, like they demo on the Samsung tablets? I want Android to do that on any device. I don't care how fast your software can task switch. I frequently need to pull two apps up side-by-side and compare stuff. Having one completely disappear off the screen makes a smartphone or tablet useless for such things. I don't need a full windowing GUI; two at a time is sufficient.

Cases with built-in solar cells. I want to be able to lay it on my desk (upside down is fine) or on the dash of my car on a sunny day and have the battery recover.

The ability for an app to change the device's USB profile:
  • You can get apps which will let you use your smartphone as a touchpad, but you have to run some kind of software on the other machine. I want the ability to fire up an app on my smartphone or tablet, while plugged into another machine's USB port for battery charging, and have the other machine see a USB connected mouse/touchpad without needing to install any specialized software.
  • Ditto for keyboard. I want to be able to use my smartphone's/tablet's voice recognition while connected to a desktop/laptop machine and have the connected machine think that I'm just typing really fast.
  • Ditto for audio input/ouput. I have a headset which connects to my smartphone; why should I have to have another one for my PC/laptop? Again, no special software required on the connected desktop/laptop machine.

The ability to set proxy server settings on a connection-by-connection basis. If I'm on my home wifi network, I have a caching proxy in place to reduce bandwidth usage and accelerate access. If I'm elsewhere, I don't want to try hitting that proxy server. Just add that to the wifi profile and get on with it. Neither Android nor any version of Linux I've used manages to get this right.

Array microphones on the device. I want to be able to lay my smartphone/tablet face-down on an table during a meeting and, not only record the voices clearly, but be able to map out, after the fact, who was sitting where and have the recording annotated with who said what. Can't even get an add-on device which can do this.

Comment Re:got better things to do (Score 5, Interesting) 525

You have to be careful which one you sign up with.

I spent 4 years in Uncle Sam's Air Farce. I lived in a dormitory, not a tent. I slept on a bed, not on a cot. I handled an M-16 a whopping total of 4 days of those 4 years. I spent those 4 years working on fighter jets (F-16, to be more specific) and was able to pass the exams for an FAA Airframe Mechanic's License when I got out.

I used my VA benefits to pay for expenses while I finished off a B.S. CompSci, after I got out.

Finished college over a decade ago. Making plenty more than I would've if I'd stayed in, or had never finished college.

If I'd joined the Army, I would've spent more time in a tent, more time on a cot, more time eating really lousy food. Just because I served my country doesn't mean I felt the need to do it the hard way.

Comment Re:Yay, another amazing new advance for batteries! (Score 1) 123

Battery materials are reported in mAh/g because this way they are independent of the battery size. You could stuff say 50g of this material into a battery meant for a car or 1/2g of this material into a battery meant for testing in a lab and you can roughly estimate the energy storage abitlity of the material. Both of these cells will have a voltage of about 3.7V on average. The units of mAh/g tells you about the amount of lithium that can be stored by this particular material so that it can be compared against other materials on an equal basis.

Comment Only you can answer that question (Score 1) 418

I'm 44. I develop web-based intranet apps for a Fortune 500 corp.

My job involves lots of coding in Java, with occasional excursions into SQL and RPG. Lots of HTML and CSS, as well. We make heavy use of Hibernate, which reduces the amount of actual SQL we have to touch.

I despise Java. The core language is very weak, so you have to have significant numbers of external libraries added in to accomplish anything. This results in a very large, complex API which no one can hope to learn the ins-and-outs of. You actually need something like Eclipse or NetBeans, where the editor can look at what you've entered and suggest methods, based on context. It really doesn't help when you tell the system you need a "List" of something, and it needs help figuring out which of the "List" classes to use.

Prior to this gig, I've coded largely with vim (no, I'm not trying to start a vi - emacs flamewar). I used the word completion functions but, otherwise, the code flowed from my fingers into the editor with relatively little input from the editor. Once I got "in the zone," I could code for hours at a time and accomplish a great deal. These Java-based editors need you to stop while it thinks about what to propose, which breaks the flow. I never, ever, get "in the zone" with Eclipse. And, due to the breadth of the libraries and the different classes and methods, I've never been able to code Java, effectively, with vim.

Add in the fact that everyone wants to tie in all these frameworks which abstract stuff away, many of which are built on "convention over configuration." This results in a lot of programmers who are little more than technological "sorcerer's apprentices," copying-and-pasting stuff from one project to the next because, well, that worked in the last project and they really have no clue HOW it works; this project needs to do something similar so, hopefully, it will work in this one, too.

On a recent project, I requested assistance from the most experienced Hibernate guy in the place. Something I was trying to do wasn't working. After digging around in it for a half hour, he told me I'd just have to dig into the documentation and figure it out because he had no clue why it wasn't behaving. Oh, and when I figured it, let him know what finally worked. The most experienced Hibernate guy was, in the end, just another "sorcerer's apprentice," who didn't really comprehend the "magic" he was wielding.

I'm not happy with being a "sorcerer's apprentice," but I don't have time to dig through the piles and piles of code which constitute the multiple layers of stuff we're building on. Expecially when you consider the fact that each of the layers are evolving, and we may replace the library in this layer with a completely different one in six months.

I don't have any kind words for RPG, either. It's a legacy language which predates widespread use of SQL. Some of the code I'm dealing with has been in production for two decades, back when the company was all green-screen apps and no intranet. The beancounters who run corporations don't want you ripping out piles of old stuff and replacing it; that old stuff has been in use for years, has been thoroughly tested and debugged. Who cares if it's hard to read and maintain? Who cares if the original developer, the only person who ever knew how it worked, retired years ago? It works! Modify it if you absolutely must, but don't replace it. Oh, and expect a s**tstorm if your modifications end up breaking something.

A year ago, I was wondering if I was getting too old for programming work. I loathed my job. Why do I put up with that place? Because there are precious few options in this town, I'm not in a position to relocate, I still need an income and that pays better than most jobs in this area. So, I put my head down and kept plowing along. Wondering how hard it would be to get a prescription for anti-depressants.

About six months ago, I started retraining myself. I started reading books about design and User Experience. If you're wanting to learn more about those, I highly recommend "The Inmates Are Running the Asylum" and "The Design of Everyday Things." I've also been learning more about Javascript. I've used it for the better part of a decade, but never wrapped my head around the object-oriented aspects of it. I acquired and read "Javascript: the Good Parts" and "Eloquent Javascript."

My most recent project has allowed me "stretch my legs" a bit, in the user experience design area, and to tackle a lot of jQuery. While it took some doing to wrap my head around jQuery, I'm finding I enjoy it immensely. It's not as limited as Java and RPG. And being able to make the browser do all kinds of nifty stuff is very gratifying.

I don't love my job, but some of the more recent work, involving jQuery and a little bit of Perl, have made it more enjoyable. But I had to find the motivation, time and energy to start retraining myself. The good news is that was that the financal cost was a ebooks e-books for my reader. In another six months, I hope to have enough modern Javascript, jQuery and UXD on my resume to be able to jump to a better paying employer, maybe even going independent.

Comment Re:Profit Center vs Cost Center (Score 1) 397

If not cut or outsourced it will, at the very least, be disrespected.

Prior gig: lead developer for a small, struggling AaaS company.

Current gig: intranet web developer for a Fortune 500.

The current gig pays better. The prior gig didn't pay enough to pay the bills; I'd still be there if it did.

I really miss doing web dev for a web-based company. I was the creator of products, the generator of wealth. The bottom line was enhanced directly by coming up with something faster, better designed, more efficient. If it took a little longer to get that new feature out there, they could live with that because the resulting app was better for the extra time spent on it. They didn't pay well but at least there was some respect because I made visible contributions to the company's bottom line.

Here, I'm a cost center. No respect. Aren't you done yet? I don't care if that design would work better; I've got your next six projects lined up and you're pushing them all back because this one isn't done yet. No, you don't have time to do major surgery on that hideously-screwed-up app; slap another band-aid on it and get on with this other one. We don't have time for that. No raise this year because you didn't meet all of your (arbitrary, management-assigned) goals. We've got interns who are producing more than you (the intern doesn't have to support/fix the crap they cranked out; I do).

I've been here almost 4 years. Once a few family commitments are completed, I am blowing this area. And you can bet my next gig won't be a "cost center."

Comment Re:We're not there yet. (Score 1) 365

3G data is unacceptable for most interactive IT work on the net.


I live in a rural area in southern Missouri. I used to use WildBlue (satellite) and found that to be painful for SSH, RDP and VNC. The bandwidth wasn't the problem; the latency was. For stuff like that, I found that connecting my cellphone (1X-CDMA/2G connectivity at that time) worked well for that. It had lower latency (similar to a dial-up modem) and, while it had less bandwidth than WildBlue, it had enough.

When they upgraded the local tower to 3G, I dropped WildBlue; I have been using 3G for my home connectivity for a couple years.

There are only two situations where I've found 2G or 3G to be particularly limiting:

1) RDP/VNC is painful when I am running an uber-high resolution display. 1920x1200 (I love my 24" Samsung) doesn't work so well through that because that's a LOT of pixels to push. Scale the window down to 1024x768 and 3G works quite well with RDP. Just don't try to watch video through it. TightVNC is more bandwidth-efficient, so you can go with larger windows. X Windows, over SSH, is frequently even MORE bandwidth efficient, because you're just sending one window's contents through the connection instead of the entire desktop.

2) I have to do a BIG download/upload. For the uploads, I have a cloud server ($11-12/month) and I use rsync. By kicking rsync into action multiple times during the course of a long dev project, I push lots of small "deltas" up to the cloud server. Because these are small, they go pretty quickly, even with limited bandwidth. When I need to do a major deploy, it deploys from the cloud server which has BOATLOADS of bandwidth. I have, on occasion, pulled down tons of code from a client's machine to the cloud server, then fired up a TightVNC session to the cloud server (through SSH) and did my analysis and editing. If you know what you're doing, you can bypass TightVNC and run the apps on the cloud server, but interact with them on your machine (X Windows is really good for this). In that case, I'm avoiding the download entirely.

Once upon a time, I used SSH and LBXProxy to remote into an ISP, where I worked, and drive my Windows-based workstation from a laptop and a 28.8 connection. Linux is actually better for making use of low-bandwidth connectivity than Windows.

Ideally, we'd have 4G, without bandwidth caps, everywhere in the country. With a little bit of technological knowledge, though, I do just fine with considerably less.

Comment Re:Field dependent requirement (Score 0) 1086

Huh? You don't consider numerical methods that approximate integrals to be true calculus?
This is true calculus. You don't need to know anything about the future voltage curve or current, just the past.

This is the equation to calculate capacity consumed in a battery (which is a numerical approximation to an integral):

capacity consumed = capacity at last check + (current + current at last check)/2*(present time - time at last check)

The equation above is the trapezoidal rule ( applied to the integral in my first post.

I hate to pull this one out, but trust me, I'm a battery scientist that makes mathematical models of batteries for a living.

Comment Depends on what you want to do (Score 2) 1086

If you do not have a decent grounding in set theory, please do NOT attempt to do any significant database work.

Basic select, insert, update and delete can be dealt with via modern ORMs. Anything beyond that, such as joins, intersections, unions etc. are almost entirely set theory. Where is that covered in the traditional mathematics curriculum?

Yes, some ORMs purport to do that stuff, too, but they rarely do it well.

True story: I was taking a database course as part of my college education. The professor introduced us to relational theory, including an algebraic notation which described subsets of fields in a record and subsets of records in a table. Then, over the course of three class periods later in the semester, he taught us SQL. It boiled down to "this is how you do xxx in SQL." From that, we got table creation/destruction, selects, views, subqueries, aliased fields and tables, inner and outer joins, the whole enchilada. I've been able to build on that and do some pretty heavy-duty SQL work but I had to know the underlying theory. Being subsequently trained in RPG, where much of the legacy code does NOT use SQL (and you invariably don't have time to replace it with code which does), that theory comes in very handy.

We understood the underlying theory, all expressed via math. Learning SQL was a simple matter of learning how to express our desires in a language the computer could understand.

You need at least algebra to understand O(n) notation. Without that, you're usually stuck either cluelessly gluing together someone else's libraries (a LOT of that in modern SoftwareDev) or continually recreating O(n^3) (or worse) algorithms.

If you aren't going to learn calculus, one can only hope you never need to do any kind of Numerical Analysis. Any course where you're allowed to use Mathematica, because the calculus (such as taking the third or fourth derivative of a function) is "overhead" relative to the material being covered, is the very definition of "heavy duty." And, since physics is largely the application of calculus, avoiding calculus means you also need to avoid anything which involves physics. Stuff like game design (Angry Birds uses plenty, Angry Birds In Space uses more), putting rovers on Mars, wireless network design (wave propagation between obstacles and through different media is very calculus intensive); you know, the COOL stuff.

For the typical web developer, creating shiny web pages which do extremely simplistic database work, you probably won't need calculus. Ever. Is that all you ever aspire to be? And how long can you continue to do that without being crowded out by graphics design wizards with increasingly intelligent design tools?

Comment Re:Unlimited? How about $INF (Score 1) 314

I'm with ya there.

Fixed price / unlimited data = data equivalent of an all-you-can-eat buffet, where people tend to consume as much as possible to "get their money's worth."

Give it a small price / GB and get on with life, not unlike electricity or water.

$10 / GB is where a lot of the tiered plans seem to fall, these days. I'm thinking that's too steep, though. $2 / GB might be reasonable, in the near term, for mobile data, but it needs to keep dropping.

The various mobile providers should be relegated to competing on delivered bandwidth, latency, coverage and price. Kill all the other fancy stuff which gets in the way of that, like minutes and texting. Voice and text are, after all, just specialized types of data. The sooner they become pipes of commodity data, and forced to compete in those areas, the better.

Comment Who says it has to continue to run MS software? (Score 1) 530

I think Microsoft was forced into this. I think that they realize that to get into the market with a Windows tablet, the tablet will have to be sold at a (large) loss for several years. The normal PC manufactures are not willing to, nor can afford such expense.

If they're selling at a loss, I say we all go buy a couple. Multiply their loss. Then hack 'em and put Linux (and possibly Android) on them. Considering the number of third-party Android ROMs out there, I don't expect it'll take long.

My prior laptop was an HP, which was "designed for Windows 95." Within 30 days of buying it, it was running Debian (preferred distro at the time). My current laptop came with Vista. That didn't last a week. It is currently running Ubuntu 11.10. I don't use it enough, these days, to bother upgrading it further. The vast majority of my personal access to the Internet is through my current phone (HTC DI2). 99% of the time, I don't need a full-blown desktop or laptop.

My prior phone was an HTC Touch. It came with WinMo. Instead, it ran Android Cupcake, Donut, Eclair and, finally, Froyo during the time I had it.

The pattern is well-established. Buy hardware with MS products on it. Wipe out the MS crap. Run whatever you like. This will be no different.

Comment Re:Make sense (Score 1) 530

IBM may have been larger than Microsoft, but Microsoft succeeded in bullying them into basically killing Lotus counterparts to Microsoft Office. As was revealed in the anti-trust trial, they told IBM that, if IBM attempted to bundle Lotus' competing products with IBM hardware (reducing demand for Office), IBM would still be shipping Windows 3.11 long after everyone else was shipping Windows 95. This would, of course, put IBM hardware at a distinct disadvantage in the hardware marketplace.

You don't have to be tiny to be bullied by Microsoft. All you have to do is depend on one of their products to sell your hardware. At that point, they have you by the short and curlies.

Comment Re:Too bad it wasn't SciPy (Score 1) 84

I jumped from Matlab to Scipy/Numpy, skipped Octave, but I'm so happy with Scipy/Numpy that I wouldn't consider using Octave.

From a purely numerics point of view, I'm sure Octave has all the features that Scipy/Numpy has. Most of the benefits of Scipy/Numpy come from the Python programming language itself, which I have to assume is much more developed than Octave's language. Being able to write GUIs for your scientific apps using tkinter (or some other library) or reading/writing to excel formats directly or wrapping your code up using pyexe for distribution or interfacing your python code with the web or a database is just the start of the Python advantages (after a quick search I see that Octave can do some of these things, but I'm sure Octave doesn't have all the libraries that Python has).

IMHO, if scipy/numpy ever get working with PyPy, then this would truly be amazing.

Slashdot Top Deals

I judge a religion as being good or bad based on whether its adherents become better people as a result of practicing it. - Joe Mullally, computer salesman