Become a fan of Slashdot on Facebook


Forgot your password?

Comment: Re: We 'must' compete (Score 2) 115

I need someone to sweep my streets.

No, you really don't. That job can and will be handled by inexpensive machines soon. In our current free market economy, those would be street sweepers have no real value at all. If they did not exist at all, society would be no worse off. The best that we can hope for under capitalism is that these people are quietly and humanely sterilized.

I say this entirely tongue in cheek, as my oldest son will likely never amount to more than a drain on our family and society (He is autism spectrum). In yesterdays world, he could have gotten a decent job in any of a number of blue collar industries. In todays world, he might make ends meet working at McDonalds, In the world of 2030 and beyond, there is no job that he will be capable of doing that it wouldn't be cheaper to have a robot do. So the question now becomes, if he has negative value to society, what should society do with him? (Notice I am not asking what I should do with him, I don't really have a choice in the matter.)

No amount of teaching him the difference between winners and losers is going to change the fact that in the world of tomorrow, he will be a loser, so why not let him have a little happiness now.

Comment: Re:Quite the Opposite (Score 2) 268

by geoskd (#49747399) Attached to: Ask Slashdot: Career Advice For an Aging Perl Developer?

1. You have your job because the company you work for felt you were the best person to do it.

You have your job because the person who hired you liked you the best out of the pool of people available to him or her at that time. This decision may or may not have been based on technical merit. Depends on the person.

2. Your manager has their job because the company you work for felt they were the best person to do it.

Your manager has their job because of the same process as above, but likely included more politics and less technical merit. I wouldn't rule out some golf at this level of management.

3. Your manager is not there to do or understand your job.

It has been demonstrated that managers that cannot do the job functions of their subordinates have a lower rate of success as measured by average task time to completion, turnover, morale, quality of team work-product, etc... In short, understanding the work that your team does is critical to effective management. That is why promote from within is a thing.

4. Your manager is there to ensure you do your job, to support you, to coordinate with the rest of the business that your job interacts with, leadership, users, finance etc.

Finally, one we can agree on.

5. Your manager should be looking to you as the expert in your position. If they are not then you are not doing your job.

Depends how long you have been in that position. If it is less than a year, then it is absolutely unreasonable (but not uncommon) for a manager to have that attitude towards an employee. From 1-5 years, it would be reasonable to expect competency. After that, expert level knowledge would be a reasonable assumption.

Comment: Re:CPU (Score 1) 107

by geoskd (#49724655) Attached to: Turning an Arduino Project Into a Prototype

So now you expect them to layout a USB circuit on a PCB? It is a simple as connecting three pins to a connector, plus ground. It doesn't get any simpler than that, and it doesn't require any extra circuitry or much care as it is a low speed connection.

It is definitely not that simple. As with most things, it depends what version youre working with. USB 1.0,1.1, sure you can do whatever, but you wont get much throughput. USB 2.0, you have about a 50-50 chance of handling full speed operation unless you use impedance controlled traces and make damn sure they are the right length, etc. USB 3.0 is an extremely high speed connection, and without extreme care, it simply wont work. A newbie is as likely as not to try to use whatever the chip can sustain (2.0 bare minimum these days) without knowing the headache they're in for.

It is a suggestion appropriate to prototyping something. If you are going to the point of producing numbers of things, then you need to learn a bit more or risk spending more time and/or money, which is true for just about everything...

I have worked for two startups, one that uses the Raspberry Pi (various models) in all of their products, and one that uses the BBB. Both are doing quite well. The first has 50M in gross annual revenue, and the other just got its first wholesale order for 1000 units at $2000 per unit. I get paid good money to come in and get customers products the rest of the way to market, and when I give them the options matrix, they almost invariably choose to save the development time and get the product into mass-pro right away. The idea is simple, once they have revenue, they can chase the pennies. Put another way, if their unit will cost an extra $20 by using a Pi vs embedded, and they expect to sell 1000 units per year, saving that expense better cost less than $20,000. Any given product in todays market is as likely as not to last about a year before a new version / competitor shows up. Any startup that thinks they are going to sell something with a microcontroller in it in large quantities in years 1-5 is dreaming, and are going to be very disillusioned when reality hits... High volume low margin products are not conducive to startup companies. They can try to fudge the numbers as much as they like, but when push comes to shove they get steamrollered.

Comment: Re:CPU (Score 1) 107

by geoskd (#49716693) Attached to: Turning an Arduino Project Into a Prototype

Crystals are in no way shape or form even remotely out of range for a beginner to use.

Crystals are almost entirely unnecessary. Lower frequency crystals can be completely ignored with the right choice of processor. The only other place you might need them would be specialty applications like DTMF decoding, but even there, the right processor can handle it sans crystal.

Comment: Re:CPU (Score 1) 107

by geoskd (#49716667) Attached to: Turning an Arduino Project Into a Prototype

I tutored Team Project I at university. We literally had every student designing PCBs and programming AVRs in their first year and not a single person had issues with it, even the really dumb rejects of the class managed to get something running, they just couldn't code to save themselves.

You were teaching a class who's entire point was to learn how to do such a thing. Theres a world of difference between that and someone with literally no background in circuits at all, or complete self taught.

The solutions you listed above would be zero help to someone with no background in embedded processors.

Connect a $15 ISP programmer to 6 pins.

What programmer? what 6 pins? where is it documented? google search for ISP programmer get me lots of link to website developer jobs, but not much in the embedded world. Remember, these people dont know jack about embedded systems. Its simple for you, not them.

Buy AVRs with the Arduino bootloader pre-installed.

Where would you buy them? mouser? digikey? what are they called. Again there isn't even enough there to google search for. An amateur might even know what a bootloader is, but how does one get them "preinstalled"?

Buy any USB AVRs which all come with bootloaders pre-installed.

So now you expect them to layout a USB circuit on a PCB? I thought you said this was a simple task?

Pop the AVR out of your Arduino and into your application board.

So once again, they are buying an arduino for every product they sell, my way was easier from a manufacturability standpoint.

Comment: Re:circuitboards (Score 1) 107

by geoskd (#49713433) Attached to: Turning an Arduino Project Into a Prototype

While prototyping is possible in surface mount ,permanent circuit boards remain very difficult to create. I appreciate the many circuit board services but they will never be a better alternative than do it yourself circuit boards created from raw material. In my opinion we need to recover the lost ability. If only I knew of a place were a lot of engineers hang out I would go there and ask them to try to invent the tools we need. If only radio shack could help us!

Even through hole PCBs were a pain to DIY. If you have a little money to spend, and are insisteant on DIY, get a PCB mill. I think Adafruit has one. I know of a few online stencil houses that will make one for you for about $40. Better yet, just suck it up and solder the protoboards by hand. I use a headmount magnifier and lamp for the 0402s. Most people can handle 0603s and bigger without a magnifying glass. If you're talking production boards, you can get a square meter PCB and assembly for about $5,000. For a typical design that'll be 100-200 boards for $5,000. If your product cant handle a $50 PCB cost, it either shouldn't need a PCB in the first place, or the business model is doomed to failure (or both).

Comment: Re:CPU (Score 1) 107

by geoskd (#49713375) Attached to: Turning an Arduino Project Into a Prototype

If you download and follow the manufacturer's guidelines for crystal layout you will be good.

If you're even using a crystal at all, you're doing something wrong. You would be far better served using a uC that has an internal clock. The external crystal just adds complexity and cost that are unneeded. The only applications that would require an external crystal are projects that a newbie has no business anywhere near, especially without any actual PCB experience.

Comment: Re:CPU (Score 1) 107

by geoskd (#49713321) Attached to: Turning an Arduino Project Into a Prototype

It's pretty easy, actually, if you follow a few simple guidelines.

It depends entirely on the complexity of the design and the microcontroller chosen. If you pick something like an AVR, then it will be simpler, but will not handle very many IO, and will be severely firmware limited. If it is a very simple project, it might work the first time or it might not. If it is a very simple project, it is also very unlikely to be commercially viable, as someone bigger will already be in that space and not want you there. If it is complex enough to warrant high margins (enough to support an up-start player in the market, or a new market), then you're better off putting the arduino / pi to it because you already have the working design. Just PCB up your parts of the circuit and you have a viable product. Once you have some money coming in, hire an engineer to cheap it up for you.

I'll offer you a challenge: If you think it is easy to make circuits based around micro controllers, I challenge you to guarantee debugging assistance to anyone who takes your advice and builds a uC based PCB design. I on the other hand, want nothing to do with anyone who rolls their own without knowing what they are doing, because they are going to find messed up ways to make it not work. They will assume everything works the way it does on the Arduino / Pi, and if they even read the processor documentation (all 100+ pages of it), they are unlikely to understand everything they need to know anyway. Further, they now have to learn an embedded programming environment and figure out how to get their program onto the device itself, which is non-trivial if the only experience you have is with the arduino / pi which both have a bootloader. In summary, for you and me its simple. For the average person playing with an arduino / pi, it is likely to be anything but.

Comment: Re:CPU (Score 1) 107

by geoskd (#49713259) Attached to: Turning an Arduino Project Into a Prototype

With parts like AVR, it's become nearly stupid simple. All the fiddly bits you are talking about are on the chip now. In some cases where you can use the internal clock, you really only need power and a reset connection (just a pull-up and a momentary switch will do, add a cap to be really clean about it).

That is exactly what I’m talking about. For someone with design experience, figuring out why it didn't work will be immediately obvious, or even more likely, it will work the first time because we know what the gotchas are. For an amateur, it is overwhelmingly likely they will get bit by a gotcha, or something even simpler like crossing two traces. If you are trying to debug a system with two crossed traces, its going to be a real pain when it involves a CPU, because you have to figure out what’s wrong: is it your software? is it a bad chip? is it the PCB? If you had a schematic, there are thousands of places to post questions where people will help, and if you had the schematic in the first place, you wouldn't have a crossed trace in the first place. If all you have is a PCB layout, nobody is going to help you dig through it to figure out why it doesn't work. Its the little things that make a real mess out of these types of projects. Simple things like needing a debounce on your switches, or needing a bypass cap on a chip, or trying to pull half an amp out of a 20mA pin. These things will all be very obvious from a schematic, but will be anything but, if all you have is a layout. Even more importantly, if you have a working prototype involving a pre-existing micro-controller (Arduino / Pi, etc.), then why mess with it. Work your design around it instead. Once you include the cost of making PCB in low volumes, you will be talking about an expensive product. If the cost of a Pi A/B or an arduino is going to break your price point, then you are very likely making the wrong product altogether.

Comment: CPU (Score 4, Insightful) 107

by geoskd (#49710447) Attached to: Turning an Arduino Project Into a Prototype

The original article talked about laying out your design with a microprocessor. Several things should be noted:

First, don't roll your own PCB with a microcontroller on it unless you know what you're doing. This is an involved process and not for newbies. You will need expensive lab equipment to debug even the simplest problems, and it is best to sidestep the problem if at all possible. Consider instead simply incorporating an arduino / Pi / Beaglebone into the actual product and do it that way instead. If the margins are low enough to make this impractical, and you don't have any experience designing microcontroller systems, then I would humbly suggest you are out of your depth, and the profit margins are probably too low for you to make money selling your product.

Second, take a serious look at your design tools. there are plenty of free tools out there that do an excellent job. Eagle and gEda come to mind. Both are free, and both will handle just about any job that an amateur is trying to accomplish. Eagle is primarily windows, and gEda is Linux only. The key part is that you want to design your system as a schematic, then export to the PCB layout. That way the tools will automatically check your PCB layout for errors such as short circuits, disconnected circuit, and a whole host of other problems that the free prototype tools don't handle. Put another way, if you get lucky on your first shot and the layout is perfect, then any tool will do. If you make a tiny mistake somewhere in your layout, then the expressPCB, etc tools will not catch it and your boards will not work. The schematic capture tools will catch the fault, and will save you massive amounts of trouble.

Be prepared for new debugging tools. Debugging a problem with the arduino or Pi is something you probably already know how to do. Debugging an embedded microcontroller is a whole other world. Even if the hardware is 100%, debugging software is trickier. Do your homework and be prepared for a radical departure from what you’re used to.

Comment: Re:My comments (Score 4, Informative) 107

by geoskd (#49710393) Attached to: Turning an Arduino Project Into a Prototype

If your time is expensive and you will only be running a very small number of PCBs, consider using ExpressPCB's design tool, because it's easy to learn and it seamlessly connects to their board printing service. (Their service is expensive though, so this is only good if you're doing a few boards, and thus the labor you save will not be eaten up by the extra you pay per board.)

Do not use any of the express layout tools if you are handling a CPU. The layout will not work on the first try, and you will have to modify it. Doing this with a schematic is relatively straightforward, and spotting faults is easy. Doing the same from a layout is obscenely difficult and prone to failure. You want to use a schematic capture / PCB layout combination tool such as kicad, eagle or gEda to name a few. The ability to check your layout against a schematic is invaluable, and will save you huge amounts of time.

Comment: Re: Markets, not people (Score 1) 615

by geoskd (#49710365) Attached to: The Economic Consequences of Self-Driving Trucks

The computer industry has seen a continual influx of new players. IBM was not the company driving pricers down, it was the new players.

It should aalso bne noted that the new computers are not drop in replacements for the old. Each new generation of computer could do things the old generation couldn't, making them effectively new products. Early in the industry, the upstarts established the pattern that each new generation would be more powerfull than the old, and a stead influx of new players kept coming along to add fuel to the fire. Even as recently as 2005, there have been new brand name entries entries into the PC market such as alienware. There is a continual introduction of new asian no-name brands.

When the computer industry reaches maturity (The end of moores law), and each successive computer is not significantly different from the last, then there will be a culling of computer companies, and after that the prices will remain stable, even in the face of occasional reductions in manufacturing cost.

A better place to look would be consumer electronics like DVD players and the like. A typical DVD player costs about $20 to make. They still sell for $100ish, a healthy margin. These could come down a lot, but none of the incumbent companies have any interest in dropping the prices for greater market share because it would be a race to the bottom. Every so often you see walmart causing some price reductions by introducing off brand asian devices at significantly reduced prices, but Walmart is in a unique monopoly position that almost no other company in history has enjoyed. Walmart has produced the price reductions that we would otherwise expect from a free market economy, but they have to abuse their monopoly position to do it (brow beating suppliers by refusing to carry their products otherwise). If Walmart had instead chose to maintain slightly higher prices, they could have pocketed a large portion of that profit for themselves (oh wait, they did...).

Comment: Re:Won't save most of the 4000 lives (Score 1) 615

by geoskd (#49708443) Attached to: The Economic Consequences of Self-Driving Trucks

Your brother is correct. Professional drivers can drive hundreds of thousands of miles per year, while Joe Blow in his Honda may do 15,000. Statistics show that most accidents involving a larger truck are, in fact, the fault of the car. So automating trucking won't help.

More importantly, the autonomous vehicles will keep a multisensory log of everything that happens, so an accident inolving one of these trucks will not be a he-said, she-said situation. The perfect log of data will spell out very clearly what happened, allowing the owner of the autonomous vehicles significant liability protection from idiot drivers that they do not enjoy today.

Autonomous vehicles will also advance the way all technology advances. Each failure will allow engineers to find ways to improve the outcomes of similar events in the future, meaning that as the technology gets more mature, it will get safer.

The world will end in 5 minutes. Please log out.