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

 



Forgot your password?
typodupeerror
×

Comment Re: Probably more to it (Score 1) 439

The JAS at the beginning of the designation stands for the Swedish words for Fighter, Attack and Reconnaissance. It's a true multi-role fighter. The F/A designation means the SH is supposed be a Fighter and Attack aircraft but, considering its larger size, it's more Attack than Fighter. Don't waste your time with the Reconnaisance on the SH.

It has been pointed out that it is designed to operate from short fields, mostly just short stretches of roadway. Most US fighters would have a problem with that. The SH would definitely have a problem with that. Yes, it has longer range, but it's also considerably heavier.

Since Sweden requires a year of military service from all citizens, much of their enlisted military is made up of people who won't be around long enough to do six-month- or year-long training programs. The Gripen is designed so that a squadron of them can be maintained by a handful of experienced sergeants and a large bunch of barely-trained grunts. That means the maintenance tasks have to be kept relatively simple. Parts replacement has to be relatively easy, assuming the people wielding the wrenches are at least competent mechanics, not necessarily aerospace mechanics.

Also, the engine supplied with it is a modified version of a licensed GE engine design. Good luck vetoing the shipment of those engines to other countries. The plane can take armaments from a variety of countries. So, they are not dependent on good trade relations with the US.

Finally, yes, local industries stand to benefit from an influx of "fresh blood" from SAAB. I suspect they've already absorbed most of what they can get from Boeing. So, in terms of helping the local industrial base, the Gripen is a better choice.

Comment Some good points (Score 1) 277

My wife and I have both worked from home, using a 3G Verizon link which might, occasionally, approach 1 mb/s. And yes, that's megabit, not megabyte, per second. Typical behavior was more like 1/2 megabit / second. Implement the following, in order, to get by comfortably.
  1. #1 yes, get a cloud server. Do the big upload/download thing from there. I use rsync to move the "deltas" between my home systems and the cloud system, which allows me to avoid big uploads/downloads from/to my home system. If I need to actually modify a big file, sometimes I do a VNC-over-SSH to the cloud server and run GIMP or whatever in the cloud, so I don't actually have to download it. So long as the latency is decent, you can do this pretty effectively.
  2. #2 yes, get a good router. One which will allow you to prioritize connections. I have a CradlePoint MBR-1000. It does this. That way, connectivity to the office VPN or the cloud server takes priority over whatever else is going on.
  3. #3 yes, get a local, personal server which can do caching DNS. This will reduce the latency on most everything else. It is hard to overstate just how big a difference this makes.
  4. #4 have that personal server do a caching web proxy. Much surfing has the same stuff (CSS, images, javascript, etc.) from one page to the next. Also, wireless tends to have a higher error rate, so downloading stuff tends to result in lots of packet retries. Browsers don't like that; they can do it, but it tends to disrupt everything. The caching web proxy handles that transparently so the browser just sees a pause, when a packet has an error, then a burst of data when the following, non-errored packets and the retried, error-free packet come out of the proxy in order. Meanwhile, the browser kept downloading everything else it needed and running smoothly. This also works very nicely if you have multiple machines running some Linux distro which need to be updated. The first machine to do the update may have to wait for slow downloads, but additional machines will get files from the cache, making them screaming fast to update.

I had an old Cobalt RAQ2 which did the 3rd and 4th items. It died, recently, so I'm looking at a QNAP box, which runs a version of Debian. It can do the caching DNS, but it might not be up to the caching web proxy. We've definitely noticed a difference with the 3rd and 4th items out of commission.

User Journal

Journal Journal: Ideal wristwatch

Lately, I've come to the conclusion that I'd like a wristwatch with a slide rule bezel. I've spent plenty of time playing with slide rules so I'm pretty proficient with their use. Having one on my wrist would be nice.

Comment Re:Struggling with a near monopoly. (Score 1) 357

Give me a tablet with a Tiling Window Manager, so I can have multiple apps on-screen at the same time, with voice recognition that works and I'm gone. I would, no longer, have any need for a desktop or laptop computer.

I would like some more screen real-estate, though. A 7-inch tablet just doesn't cut it for me, and my eyes are too old to handle uber-high-resolution on a small screen.

Ubuntu already has the tiling window manager, but Android and iPad do not. And the voice recognition stuff is using desktop equipment. Yes, tablets are getting very interesting but they aren't ready to replace the desktop just yet. Another 12-18 months, though, you may be right.
User Journal

Journal Journal: Programming != Type: Redux

Coding by voice

Do you really need to use a keyboard to do programming?

If you're using a smartphone or a tablet, which has an accelerometer, you could tilt the device to navigate around in your program.

User Journal

Journal Journal: Time to update the Metropolis keyboard

Many years ago, some researchers at IBM came up with a design for an on-screen keyboard. They analyzed the QWERTY keyboard, the FITALY keyboard and a couple others, determining how fast someone could type on them. QWERTY scored lower than any other, around 30 wpm. Their keyboard scored > 40 wpm.

Details can be found here

Comment Virtual Workstations (Score 2) 196

I have a VM running on a cloud server which has a full Linux install, Java, Eclipse and Android dev libraries. That way, I don't have to stick with one, particular laptop or desktop machine when I want to play with it. So long as the machine I'm physically using can handle SSH and X-windows and has a reasonably fast connection to the Internet, I'm good.

Also, most computers can be booted from a Linux Live CD, hit the VM and let me do what I want to do without actually installing anything on said computer. So, if I'm visiting my dad, who's running Windoze, I can still play with my VM.

Finally, using VirtualBox to run WinXP to VPN into the office, on a host machine running Linux, works quite well. If you want to check something on the Internet WITHOUT the VPN trying to route it through the company's proxy server, fire up the browser directly on the host machine, outside of the VM. If you want to hit stuff on the company network, fire up the browser inside the VM.

I foresee a day when more and more people are doing the latter one. Any virus infections on the host machine will have to be very intelligent to infect the VM, and vice versa. And, heaven help you if you ever end up in a situation where you need to log onto multiple VPNs at the same time. Different VMs, different VPNs, one host to rule them all.
User Journal

Journal Journal: Programming != typing

A while back, I was looking at a forum where someone asked if you'd use a tablet to do computer programming. Most of the responses were centered around "typing is slow/awkward on a tablet."

I agree. Typing is awkward. But, who says programming has to equal lots of typing? Yes, it does, currently. But does it have to?

Comment Find out who does the buying (Score 1) 524

At a prior gig, there was free soda. It was mostly Coke/Pepsi, which I didn't care for. I wanted some Code Red. I found out who did the buying. I found out that she was part Norwegian. I brought in a plate full of Kransekake (ring-shaped, Norwegian marzipan cookies; I have the recipe and I've made them before). I waved 'em under her nose. Her eyes lit up. "Repeat after me: we're going to get some Code Red in the soda cooler." She repeated it. I left the cookies. Later that week, Code Red appeared in the cooler.

A little social engineering goes a long way.

Comment Re:CS - not CIS (Score 1) 347

Amen.

Much of my CompSci degree involved writing assignments in C++. Until I took a class where it was all Scheme. And another where I had to write my assignments in Java. We didn't have classes in these languages. We were simply expected to "pick them up" if we were going to complete our assignments.

The CIS majors were spending multiple semesters learning the finer points of Visual Basic. Yes, this is a few years ago :-)

I suggested, at my current gig, that we have a certain task produce output in XML, then use XSL stylesheets to convert that to the outputs for various target platforms. One of the non-CompSci guys, who had never had a class involving push-down automata and regular grammars, whined about "XSL is hard!" It may be if you've never had the aforementioned class, but if you already understand conceptual things like regular grammars, XSL isn't that hard.

A CompSci degree will not teach you everything you need to do any particular job. It will, however, give you the tools to keep up with the constantly-evolving world of programming, whether the target output is HTML, or a green-screen app or a native, mobile app. Or whatever is the going thing a decade from now.

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 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."

Slashdot Top Deals

Lots of folks confuse bad management with destiny. -- Frank Hubbard

Working...