I wonder if I had the same teacher. I remember getting told you couldn't subtract a big number from a small number. And then getting detention because I used the calculator I got as a prize for being the most improved in Math by that same teacher to show you could. Apparently the calculator was malfunctioning. That completely messed me up when my family moved and I got laughed at when I insisted you couldn't subtract a large number from a small one.
Or maybe its just the elementary school way of teaching math at the time.
I'm fighting the fight right now of moving from SVN to Git/Bitbucket Server. So I'll give it a shot in explaining why Git is harder on newcomers than Svn, Cvs. I also work for a hardware company that isn't very good on software discipline. But we have a much larger project than what was explained above.
To start with, its Git's complexity. One of our customers (who pulls more weight with management than the engineers do), recommends that we don't move away from SVN to Git because 'Git is too complex for embedded engineers'. There is definitely something to this. The client/server architecture of SVN is easier to understand to people dealing with the basics of networking. It works very much like a filing cabinet that hardware centric engineers can wrap their heads around. You basically have a copy of what's on the server.
With beginners they look at the power that any VCS can provide and then go crazy with it. They store things that shouldn't be in there, because its convenient. Binary artifacts for instance (.a files, installers, pdfs, etc). With a new team just discovering the joys of VCS your repository is going to explode with these things, because they won't understand how it affects things. With a distributed repository like Git this will explode the repo that needs to be cloned. And people will not understand why its slower than SVN at least on the initial clone/checkout. I'm not saying there aren't any solutions to this (I'm deploying git-lfs backed by JFrog Artifactory to handle my binaries), but you have to make sure you have everything sorted out before you go to Git.
Branches are another problem, some engineers can't get their heads around it. In SVN it looks like just another copy in the repository. Almost like another directory. With Git its completely different, branches in Git are wonderful and probably its killer feature over SVN. But it adds in complexity and newbies won't appreciate them, and really know how to deal with them.
Git also gives you enough rope to hang yourself, and then gives you plenty more. You can treat it like a normal VCS system, but that removes a lot of its power.
Newbies also haven't had the pain of a malfunctioning VCS, or the pain of when it starts to go wrong. With the centralized repository the pain can be concealed better with SVN. Git rips off all the band-aids.
Git can be merciless when it comes the power it provides. A lot of the complexity can be trained away. The Pro Git book is a good place to start, but how are you going to make your developers read it and understand it? For my own migration I'll be training the entire team on how to use Git when working in our project along with JIRA, Bitbucket server and Bamboo. I think the training will last for 2 days or so. Do you have enough time to put together the training for your own team, and then conduct the training? If you don't need Git's features, SVN's simplicity is definitely easier to train for.
I hate to say it, but engineers and developers are stupider than they think when it comes to things outside their direct experience. Giving them SVN is like giving them a bike with training wheels. Its good for them to learn, and maybe you can take off the training wheels (using the CLI instead of GUI), but you wouldn't trust them out in the street. Giving them Git is like giving your 3 year old the keys to your SUV even with limiting them to a GUI. You want them to learn a bit before they get that power.
I'm moving my team from SVN to Git to get a better workflow together. With 2/3 of the team in India I have a very hard time keeping the builds clean. Running with SVN right now the developers have been instructed to commit all their changes at the end of the day. I want to find the guy who said this and shoot him, because we have people breaking the build, then running off home for the weekend, leaving the people 12 timezones away stuck. With Git, Bitbucket, and JIRA workflows set up (and permissions on who can actually commit to th
I don't know for sure, but I don't think that Weis & Hickman own the copyright on Dragonlance. I know that both were employed by TSR when the books were written for TSR. Since they were published by TSR while Weis and Hickman were employed by TSR they'd be considered 'Works for Hire'. Which means that TSR -> WotC -> Hasbro owns the copyright on the Dragonlance novels and world.
There may have been a supplemental agreement that gave them ownership of Dragonlance, but if that doesn't exist that Hasbro owns it and they can do whatever they want with it.
This actually happened to my father when he was into HAM radio. It was back in the day when you assembled your own equipment. He put up the monopole antenna/tower first, and ran the coax back to the house. Industry Canada (or whatever it was called) came by about 2 weeks later with complaints about him causing people's TVs to go out and they had to inspect his equipment.
They did so, found it only half assembled, and the coax from the Antenna sitting bare without even the connector put on it yet. The inspectors rolled their eyes and filed the complaint as groundless by NIMBY people and left.
Its definitely the sight of the antennas that cause the bulk of the issue.
You're assuming that that the games are all strictly a high level language like C, C++ or C#. A lot of game programmers will drop down to assembly to do some things as fast as possible. When I was in the industry I had to do that a few times, never for the xbox360 though so it may not be as big of an issue.
Game programmers also use a lot of intrinsics that are basically C macros around assembly calls. And these are very tied to the CPU architecture. They also do a lot of things based on cache line sizes. Making sure that structures or multiples of structures fit inside cache lines. Or play around with using a structure of arrays instead of an array of structures, or visa-versa it all depends on what turns out to be faster on the architecture, or CPU multi-threaded loading, or the cosmic rays hitting the box at the time. If a game team has a good set of optimizers on it they'll beat anything a compiler will do, and it will tie the performance of the game to the CPU and ensure you can't just recompile. Recompile will just throw error after error.
The CPU architecture is completely different. Pipeline depths, branch prediction, it uses SSE for its vector unit instead of the one in the xbox360. And that's all fairly custom code almost in the assembly level to force the use of the vector units. The GPU is different though I think they were both AMD GPUs so it shouldn't be too bad for the code to run on it, and it should be using Direct Draw 9.0c as the API so it shouldn't matter what the GPU is.
Microsoft also loves to change their APIs between SDKs, something compiling for June 2010 may not compile in June 2012. The only thing they guarantee is that something compiled on June 2010 of the XDK will run on June 2012 version of the flash. And only on the production boxes. I remember a few times where older games compiled for launch did not run on the latest flash on the dev kits. The dev kit flash was filled with lots of things to make development easy, so they stripped out deprecated functionality. They also stripped out the deprecated functionality to ensure that people didn't use it, because game developers would find a way to get at it if they really needed to, if it was in the flash they'd find it.
Also MS may only have source code for Microsoft Studios' games. They don't have the source code for any of the third party games. When submitting for certification and publishing all they cared about for the xbox360 was the ISO image. They may not even have the source code from their own studios available. Especially from the early games, the Xbox360 has been around longer than most companies store data. The company I worked for only kept the source code around for 5 years. That would put the earliest game to have published in 2010. They may not go back this far for their compatibility but it does cut out the earliest games.
I think they've finally got a Xbox360 PPC emulator that is fast enough to emulate what the xbox360 could do without dropping too much in the way of performance. And that wasn't ready at the launch of the Xbone.
Yes, there's Bernie Sanders who is contesting Clinton for the democratic nomination.
He's also big on free tuition for college, which will probably fix the 'shortage' of American workers better than a lot of the other proposals made.
It really depends on who you ask. When I sent out a novel of editing, it used the rules you stated, but the editor came back and said its no longer proper English, and that I should change all of those pronouns where the gender was not specified to they, them, and their.
The one the editor complained the most about was that the crew on the space ship I was writing for referred to the ship as 'she' and 'her'. I personally thought the object was stupid and rejected that change. Especially since there are reasons for calling a ship by the female pronouns. Historical reasons may be nullified by political correctness, but spiritual reasons not so much. Especially since the female pronouns refer to the soul of a ship as any sailor will tell you, and if you treat 'her' right 'she'll' see you home safe.
I sometimes feel like a stick in the mud and I realize that language evolves all the time. To me it will always he, him or his unless you know its female. They, them and their is plural.
This works nicely for self driving cars which need GPS anyway. I have no idea why self driving cars were listed. And for the times that it can't get a GPS signal the internal clock shouldn't drift that much. Unless the self driving car is 100% underground it should be able to find a GPS signal to time sync to often enough.
Things inside a building might be harder. But there are things that take a GPS signal and put a NTP server on the network. All you need is on of these and you're fine for the local network. I used these 10 years ago when working on base stations, and they provided a very stable 10 MHz reference clock too. And they're not that expensive, I was looking for one for home because I'm a little anal about time some days.
While working in Canada I had a boss who was a US citizen, but he had been born in Canada to US married parents. He had the tax id for his parents to claim him as a dependent till 18. But he did not have a SSN number. He refused to work in the states because he didn't want to get a SSN number and thus have to pay taxes for the rest of his life, but he was still a US citizen.
I have no clue if that was legal or not. And I have no idea if this matches your circumstances, but it may be something you want to look into. See if they will be forced to pay taxes even if they don't have an SSN number just the tax id (which is different for children, or so I've been told).
I was talking to my wife about this a while ago. The problem is that the western countries won't commit to the timeline. It will take at least 3-4 generations of occupation for it to come to fruition. You need Great-Grandpa who was the die hard extremist to be dead not to influence the kids. You might even need Grandpa to be gone too.
Once there are jobs, once there is education, once there are 'good times' then you need to hold it long enough for the people doing the preaching about the 'evils of the west' to no-longer be relevant and no-one to have direct remembrance of them. Each succeeding generation will come to realize that they have more to live for then their virgins in heaven.
The US had to deal with the same problem with Japan after WWII. Before and during WWII Japan was very megalomaniac and that had to change. How long did it take for them to come back into the world community as a productive partner? It was at least the seventies, and in my mind it was the eighties when they really came back as a full economic partner. And they had a big advantage, they had a cultural leader (the Emperor) who wanted to push Japan in that direction, and it still took 30-40 years to do it.
I don't know of a cultural leader that is in the Middle-East who wants to push them into a productive member of the world. Instead they have people at the top who like being at the top and screw the people who aren't. There is a huge gap between rich and poor, leaving the poor without much hope, and nothing left to live for which is why they're willing to become suicide bombers.
It'll take 60-100 years of near lock down there, and building up the education and economy to fix it. We don't have the political leaders in the west who would be willing to make such a time consuming and costly commitment that in the long run will build an economic competitor.
Instead they want peace in the middle east, but no economic competitor. They can't have both for long before we start the cycle again.
if you're doing an init function you should match it with a deinit function.
So:
int initFunc() { if (!AquireResource1()) return deinitFunc(TERM_1); if (!AquireResource2()) return deinitFunc(TERM_2); if (!AquireResource3()) return deinitFunc(TERM_3); return 0; }
int deinitFunc(state = TERM_ALL)// Cheating with C++ {
switch (state)
{
case TERM_ALL:
case TERM_3:
Cleanup3();// lint intentional pass-through
case TERM_2:
Cleanup2();// lint intentional pass-through
case TERM_1:
Cleanup1();// lint intentional pass-through
}
return -1; }
I personally prefer the gotos but some people don't. I had to do the above pattern for something with a 24 step initialization process. Not all steps allocated resources of course but all of them could fail. The lead programmer hated gotos, so I had to do it that way. Which was also beneficial because I no longer needed to create a separate deinit function. To me it looks the same as gotos, *shrug* but to each their own.
I have used gotos in other cases. Mainly in driver development. I had something like 10 us between transmissions on a SPI bus and was trying to shrink that down. I replaced a continue with a goto and it saved me 90 ns. Made the code look horrible and ripped the goto out again to look for other ways to solve the problems. But sometimes when your optimizing and fighting for ns gotos are what's needed.
United is actually taking the monitors out, in favor of an app you have to download onto your tablet and wifi for their entertainment systems (if you had a PC then you could just hook right up to wifi and use the entertainment system). I think it was United but the disasters of Chicago and weather had me switching from American to United to US Airways during that trip. They were giving a trial run on the flight I was on, but I bet they'll go for out on it because it means they don't have to pay for the screens and don't have to worry about the bulky screens getting in the way of packing more cattle....passengers in the plane.
Very interesting, thanks for sharing. There were a few problems I had with the video.
It did make the guys who professed that biology had nothing to do with it look a bit like closed minded idiots, but that was mostly their own fault. With the two that were shown the studies contrasting their views starting to call the studies weak, and almost name calling.
The video alluded to many studies that proved that biology had something to do with it, but only really went into details with two of them, and those looked to be one off studies. If they had been repeated by other scientists then I would give them more weight.
The video was a bit bias in its selection on who to present. The 'biology has nothing to do with it' looked to be young and barely out of post grad and wanting to make a name for themselves. They also seemed defensive and emotionally invested in their views. The ones on the other side of the debate were older, and looking to be more established. This gave the 'there's a biological link' a more credible appearance.
Personally I'm with the guy who said that you can't ignore biology and you can't ignore culture. That's also known as the grey fallacy, but when you're trying to find the root cause of something like this you can't cut out one side of the argument, even if its bee proven wrong. You have to continue to prove it wrong with hard facts and understanding, and each time you do you promote more understanding of what the issue is.
The video was also nice in that it pointed out, it was only the scientists form the culture is everything camp that discounted the biological portion of it. The scientists from the biology is important camp didn't say that culture wasn't important.
oh I'd love 10 mbs. I'm stuck with only one provider where I live. No cable, just CenturyLink DSL. I have the fastest service they offer in this area, a whole 7 mbs. And I get to pay $70 a month for it too. When I called up customer service about it, they seemed shocked that we only got 7 mbs for that amount, and then he looked at what was offered in the area, and apologized because that's all they have. I have a 70 ms ping to the speed test servers. Shows you how bad it is when they don't even care about faking speed test because there's no competition in this area.
What's frustrating is that a half mile west there's Cox. A half mile north there's cox. A have mile south there's cox, and a half mile east cox has partial coverage to northern half of the area. Just this one little area of new construction doesn't have Cox, and when I asked them when they'd get to it, they didn't know. I know cable sucks, and is a shared service, but its better than my 7-70-70 service (mbs, ping, price).
It takes about 30 seconds for my wife to load her facebook page, and her other pages. I don't really know why it could be so shitty. We have to unplug the modem at least once a week because it seems to die on us, and we seem to change IP addresses every 2-3 days. When both of our computers started downloading the latest round of windows patches it literally killed my wife's google talk page.
</p><p>I'm always amazed at what non-programmers are impressed by. Code up some major application, and... Why doesn't it have this feature? Why does it have that workflow? What kind of colorblind dyslexic idiot designed this UI? But whip up a simple script to automate some repetitive, routine task and you're a genius!</p></quote>
I'm always surprised at this as well. I had two things I was known for at my previous company. One that I was proud of, a software library that was used across the entire company, across multiple teams (20 project teams), built up a community around, supported and upgraded for 6 years. This was mainly on my own time, but I kept getting requests from other teams to help with integration (which I needed my time authorized for). I kept getting complaints about the library, people wanting to change the flows, wanting to add features in, wanting it to be more light weight, wanting it to be more heavy weight and do more, etc. The library was actually designed with maintenance and long term support in mind.
The other project, was something that automated a process I thought was stupid. Basically something that took multiple true type fonts, merged them together, and then based on all the localization strings it stripped out all the unused fonts to save on RAM. I threw that together when I was home sick from work with a 103 degree fever during flu season. It was only suppose to live till the end of the current project I was on (2 months). You can imagine how crappy the code was, it barely worked, it barely did what it had to do.
Guess which one I got more praise and recognition for? Not the properly designed project that affected our customers and revenue flow, but the code vomit (almost literally) project that made people's life in the company easier. Because of the second project I became known as one of the company's expert on true type fonts, and even had the company lawyers call me to talk about licensing of the fonts we used (as if I knew that). And I still had to support that tool 5 years after I wrote it, because it somehow leaked out of the original project which had been shipped and closed down. Just for the record I consider my knowledge on fonts to be slightly above average, but when you consider the average is 'a font is what you select in Word' its not much, no way is that considered an expert in any other area.
There is a PIC32 I/O expansion board (DM320002) that you can hook the PIC32MX starter kit to that will bring out the JTAG port to a standard header. Unfortunately that's a pricy board too that might be a bit too expensive for some people.
But it does bring out all the pins you'd want. SPI, UART, I2C, Digital I/O etc. And if you're going to be doing some pretty intensive stuff beyond what the starter kit gives you (3 buttons, and 3 LEDs) you'd probably want to pick one of those up as well. What I like about it is it has a 9 volt input jack so I don't have to power the starter kit off my PC.
The JTAG is left off the starter kit, since it is a starter kit, and they don't want to make it expensive. There isn't really any space on the board to put a JTAG port without expanding the area, and if you want one thing, others will want others, and yet others, and then its no longer a starter kit, but a full development kit. Which is why there's that I/O expansion board to handle the 132 pin connector that's on the bottom of the starter kit.
The PIC32 MCUs are a bit more expensive. Around $4.20 for single orders. But they're also clocked higher. The PIC32MX is an 80Mhz part. The one in the ARM in the article is 48 Mhz. There is also a big difference in RAM and FLASH. The arm has 4k and 32k. The PIC32MX has 64k and 512k.
Of course if you're really wanting to play with the MCHP parts its best to go with the starter kits, which makes them much more expensive than the $3 in the article. But then you get a USB debug port, a USB port to play with, and on some of the kits you get Ethernet as well. Which is much more than what the breadboard in the article is talking about, and you don't need a flash programmer. If you're really serious to get into embedded controllers this is probably the way to go, since you save the price of your flash programmer/debugger.
You could always wait for the PIC32MZ as well, which is a 200 Mhz part, more RAM and more FLASH.
The CEO of Microchip Technologies (Steve Sanghi) has ethics, I don't know the majority of his ethical make up, but one of the big things is integrity. If you look at his and MCHP's history
- he's been CEO of MCHP for 23 years, which I never heard of in the high tech industry. In fact a good portion of the higher level executives have been around for a long time, some of them from the early 90s. This shows that he's willing to make a commitment and stick too it, and surrounds himself with people who do the same thing. - MCHP has never had to restate financial results because of shady accounting practices. - Have told their sales force that the values of doing business are the values of the head office (in the US), so no bribes to get business in 3rd world countries, etc. This has cost them business in the past but they don't seem to mind. - Made it a corporate culture thing never to have more than 3% of the profits of the company reliant on one customer, which allows them to walk away from shady deals.
Of course this means that MCHP doesn't have a huge market cap, and may be overly conservative when it comes to new technologies, but you can't really argue with 94 quarters of profit that haven't needed to be restated.
Steve might not have a butt load of money, but probably more money than most of us will see in our life times. According to Reuters he makes 4.5 million a year and has 50 million in unexercised options.
The only thing I'm not sure of is where the company is registered, I'm pretty sure its in the US. But it may be outside since it is an international company and most companies are registered outside the US to reduce taxes. I'm not sure if Microchip does.
Shorewall is very nice. For the user I would suggest using it and installing webmin to configure it. Webmin does an OK job configuring shorewall which is already pretty easy to set up, just it can be fairly confusing for the first timer with all the config files. After the first few times with webmin you learn how to do it with the command line and vim.
Bastille-linux is also something that was fairly easy to use in the past. I used that before shorewall, but I haven't used bastille for years, must be a least a decade so I don't know what the current state of it is.
I was thinking the same thing. Why not Chandler (SE side), where Intel has two fabs, Freescale has an office, Microchip is located and a bunch of other big high tech companies? You're going to have a hell of a lot of high tech workers just begging for gigabit Internet. But that may be the reason, they may not want tech savvy people at it, because then they'll have a heavy stress test.
I just moved from Seattle to Phoenix, strangely enough it was because my job in Seattle ended and I couldn't get another job. The tech market for interviewees sucks in Seattle, I knew about the job closing for 6 months and still couldn't find a job there. So in a lark I applied to a job in Phoenix/Chandler. Had a phone call from them in 2 hours, an on-site scheduled 2 hours later. Call the day after the interview saying they're getting an offer together.
The job turned out to be about 2 levels above what I was applying for in Seattle. Love the weather here and don't regret leaving Seattle at all. They actually appreciate 15+ years of software engineering experience here. In Seattle all they seemed to care about was big O notation, not what you can actually do.
You might have the same problem I have. But I don't think I'll notice the change personally. I'm 6'4" tall (190cm) and I'm in pain if I don't get up from those seats at least every two hours and walk to the bathroom. I have a hard time getting into them now as it is, and usually I fly on short notice and I'm stuck in the middle. I'm quite sure that the airlines are having some sort of joke on the big guys, and see how many they can sit next to each other.
The last time I flew internationally (10 hour flight from Seattle to Amsterdam) I got lucky and upgraded to 'comfort' class and the booking agent apologized that I was tuck in the bulkhead row. Stuck? Man that was comfortable I could stretch out. But she was able to do better on the way back, and got me a proper seat. That was painful, and cramped. I had to get the guy on the aisle to let me out 5 times, and each time I was moving like an old man (and I'm not that old).
So I don't think I'll notice the loose of 1 little inch. My knees already run into the back of the seat in front of me. My shoulders already overflow onto the seats besides me. I might notice that my butt will be snug in the seats though.
But if they're jamming more people onto the plane, are they increasing the overhead bin capacity? When I fly I always take a small roller bag for my clothes and a laptop bag. I usually get these stowed (roller bag up top and laptop bag under the seat in front of course) but its usually cramped, and people who come in late always seem to try to jam in on top of everything. Somehow I doubt it as that is passenger convenience, and some airlines (I'm looking at you American) are charging for every checked bag you have. They're currently offering the checked carry on for free, but that might change in the future.
I'm not being conspiracy nut in this. This is just one more tool that HR departments can use to keep pay low for people applying for work at a company. They always ask for what your current salary is. Before an applicant could lie and tell the HR department a higher number and get offered that higher number. Now they can just check this database and see what the number actually is.
When I job switched in the past I've never been offered a number higher than what I currently made when I was truthful about my salary, and I screwed myself over. There was a time when I worked for a start-up and my salary was frozen for four years. When that job died I told my new employer what I was making and got offered a bit less since it was a rough job market. The raises I got at that job were less than inflation. The last time I switched I took my salary at the start of the previous job, ran it through the inflation calculator, added 10% and told that number to the new company. That was the number that I was offered, and they gave me some song and dance about it was a privilege about working in the industry when I tried to see if I could get it higher. So I got a 17% raise over my previous company.
Now with this database that tactic is no longer viable. And if you don't tell them the current number you're making and then check it out, they can mark you as dishonest. Kind of hypocritical if you ask me.
Speaking as a developer of console games. The CPUs are the same between the dev kits and the retail console, so running unoptimized code will run the same on both CPUs. Where the kits differ is usually in the supporting hardware.
Both the Xbox360 and the PS3 had additional hardware in the box to aid in debugging. The PS3 had another 128 megs of ram. And a second Ethernet port. Being an online engineer I almost worshipped that second Ethernet port. Being able to put the 'game' port onto a packet filter (for latency, and other testing) while having the debug port still available unhindered was very valuable.
The PS3 also had a hard drive for running BluRay emulation on.
The Xbox360 (the ones I played with), had the same RAM on both the dev kit and the retail kit, they did add another 512 megs in later versions, but I never got to play with it. The side car had equipment for hooking up USB for DVD emulation and debugging support. It also had an internal hard drive, which the retail kits didn't have.
Mainly the 'better' specs were for debugging, not for actually running the software on.
Don't forget the five songs, sung by the characters and the tap dance numbers with the characters twirling around the light sabres and spinning around them. Of course the songs will recap the entire plot because the audience had probably missed it completely by that point.
Suddenly all those dancing Storm Trooper Kinect mini games make sense. http://www.youtube.com/watch?v=XGVvTfr0xn4
Perhaps the makers of the video game weren't so far off the mark after all.
Or maybe its just the elementary school way of teaching math at the time.
To start with, its Git's complexity. One of our customers (who pulls more weight with management than the engineers do), recommends that we don't move away from SVN to Git because 'Git is too complex for embedded engineers'. There is definitely something to this. The client/server architecture of SVN is easier to understand to people dealing with the basics of networking. It works very much like a filing cabinet that hardware centric engineers can wrap their heads around. You basically have a copy of what's on the server.
With beginners they look at the power that any VCS can provide and then go crazy with it. They store things that shouldn't be in there, because its convenient. Binary artifacts for instance (.a files, installers, pdfs, etc). With a new team just discovering the joys of VCS your repository is going to explode with these things, because they won't understand how it affects things. With a distributed repository like Git this will explode the repo that needs to be cloned. And people will not understand why its slower than SVN at least on the initial clone/checkout. I'm not saying there aren't any solutions to this (I'm deploying git-lfs backed by JFrog Artifactory to handle my binaries), but you have to make sure you have everything sorted out before you go to Git.
Branches are another problem, some engineers can't get their heads around it. In SVN it looks like just another copy in the repository. Almost like another directory. With Git its completely different, branches in Git are wonderful and probably its killer feature over SVN. But it adds in complexity and newbies won't appreciate them, and really know how to deal with them.
Git also gives you enough rope to hang yourself, and then gives you plenty more. You can treat it like a normal VCS system, but that removes a lot of its power.
Newbies also haven't had the pain of a malfunctioning VCS, or the pain of when it starts to go wrong. With the centralized repository the pain can be concealed better with SVN. Git rips off all the band-aids.
Git can be merciless when it comes the power it provides. A lot of the complexity can be trained away. The Pro Git book is a good place to start, but how are you going to make your developers read it and understand it? For my own migration I'll be training the entire team on how to use Git when working in our project along with JIRA, Bitbucket server and Bamboo. I think the training will last for 2 days or so. Do you have enough time to put together the training for your own team, and then conduct the training? If you don't need Git's features, SVN's simplicity is definitely easier to train for.
I hate to say it, but engineers and developers are stupider than they think when it comes to things outside their direct experience. Giving them SVN is like giving them a bike with training wheels. Its good for them to learn, and maybe you can take off the training wheels (using the CLI instead of GUI), but you wouldn't trust them out in the street. Giving them Git is like giving your 3 year old the keys to your SUV even with limiting them to a GUI. You want them to learn a bit before they get that power.
I'm moving my team from SVN to Git to get a better workflow together. With 2/3 of the team in India I have a very hard time keeping the builds clean. Running with SVN right now the developers have been instructed to commit all their changes at the end of the day. I want to find the guy who said this and shoot him, because we have people breaking the build, then running off home for the weekend, leaving the people 12 timezones away stuck. With Git, Bitbucket, and JIRA workflows set up (and permissions on who can actually commit to th
There may have been a supplemental agreement that gave them ownership of Dragonlance, but if that doesn't exist that Hasbro owns it and they can do whatever they want with it.
They did so, found it only half assembled, and the coax from the Antenna sitting bare without even the connector put on it yet. The inspectors rolled their eyes and filed the complaint as groundless by NIMBY people and left.
Its definitely the sight of the antennas that cause the bulk of the issue.
Game programmers also use a lot of intrinsics that are basically C macros around assembly calls. And these are very tied to the CPU architecture. They also do a lot of things based on cache line sizes. Making sure that structures or multiples of structures fit inside cache lines. Or play around with using a structure of arrays instead of an array of structures, or visa-versa it all depends on what turns out to be faster on the architecture, or CPU multi-threaded loading, or the cosmic rays hitting the box at the time. If a game team has a good set of optimizers on it they'll beat anything a compiler will do, and it will tie the performance of the game to the CPU and ensure you can't just recompile. Recompile will just throw error after error.
The CPU architecture is completely different. Pipeline depths, branch prediction, it uses SSE for its vector unit instead of the one in the xbox360. And that's all fairly custom code almost in the assembly level to force the use of the vector units. The GPU is different though I think they were both AMD GPUs so it shouldn't be too bad for the code to run on it, and it should be using Direct Draw 9.0c as the API so it shouldn't matter what the GPU is.
Microsoft also loves to change their APIs between SDKs, something compiling for June 2010 may not compile in June 2012. The only thing they guarantee is that something compiled on June 2010 of the XDK will run on June 2012 version of the flash. And only on the production boxes. I remember a few times where older games compiled for launch did not run on the latest flash on the dev kits. The dev kit flash was filled with lots of things to make development easy, so they stripped out deprecated functionality. They also stripped out the deprecated functionality to ensure that people didn't use it, because game developers would find a way to get at it if they really needed to, if it was in the flash they'd find it.
Also MS may only have source code for Microsoft Studios' games. They don't have the source code for any of the third party games. When submitting for certification and publishing all they cared about for the xbox360 was the ISO image. They may not even have the source code from their own studios available. Especially from the early games, the Xbox360 has been around longer than most companies store data. The company I worked for only kept the source code around for 5 years. That would put the earliest game to have published in 2010. They may not go back this far for their compatibility but it does cut out the earliest games.
I think they've finally got a Xbox360 PPC emulator that is fast enough to emulate what the xbox360 could do without dropping too much in the way of performance. And that wasn't ready at the launch of the Xbone.
Yes, there's Bernie Sanders who is contesting Clinton for the democratic nomination. He's also big on free tuition for college, which will probably fix the 'shortage' of American workers better than a lot of the other proposals made.
It really depends on who you ask. When I sent out a novel of editing, it used the rules you stated, but the editor came back and said its no longer proper English, and that I should change all of those pronouns where the gender was not specified to they, them, and their.
The one the editor complained the most about was that the crew on the space ship I was writing for referred to the ship as 'she' and 'her'. I personally thought the object was stupid and rejected that change. Especially since there are reasons for calling a ship by the female pronouns. Historical reasons may be nullified by political correctness, but spiritual reasons not so much. Especially since the female pronouns refer to the soul of a ship as any sailor will tell you, and if you treat 'her' right 'she'll' see you home safe.
I sometimes feel like a stick in the mud and I realize that language evolves all the time. To me it will always he, him or his unless you know its female. They, them and their is plural.
This works nicely for self driving cars which need GPS anyway. I have no idea why self driving cars were listed. And for the times that it can't get a GPS signal the internal clock shouldn't drift that much. Unless the self driving car is 100% underground it should be able to find a GPS signal to time sync to often enough.
Things inside a building might be harder. But there are things that take a GPS signal and put a NTP server on the network. All you need is on of these and you're fine for the local network. I used these 10 years ago when working on base stations, and they provided a very stable 10 MHz reference clock too. And they're not that expensive, I was looking for one for home because I'm a little anal about time some days.
While working in Canada I had a boss who was a US citizen, but he had been born in Canada to US married parents. He had the tax id for his parents to claim him as a dependent till 18. But he did not have a SSN number. He refused to work in the states because he didn't want to get a SSN number and thus have to pay taxes for the rest of his life, but he was still a US citizen.
I have no clue if that was legal or not. And I have no idea if this matches your circumstances, but it may be something you want to look into. See if they will be forced to pay taxes even if they don't have an SSN number just the tax id (which is different for children, or so I've been told).
I was talking to my wife about this a while ago. The problem is that the western countries won't commit to the timeline. It will take at least 3-4 generations of occupation for it to come to fruition. You need Great-Grandpa who was the die hard extremist to be dead not to influence the kids. You might even need Grandpa to be gone too.
Once there are jobs, once there is education, once there are 'good times' then you need to hold it long enough for the people doing the preaching about the 'evils of the west' to no-longer be relevant and no-one to have direct remembrance of them. Each succeeding generation will come to realize that they have more to live for then their virgins in heaven.
The US had to deal with the same problem with Japan after WWII. Before and during WWII Japan was very megalomaniac and that had to change. How long did it take for them to come back into the world community as a productive partner? It was at least the seventies, and in my mind it was the eighties when they really came back as a full economic partner. And they had a big advantage, they had a cultural leader (the Emperor) who wanted to push Japan in that direction, and it still took 30-40 years to do it.
I don't know of a cultural leader that is in the Middle-East who wants to push them into a productive member of the world. Instead they have people at the top who like being at the top and screw the people who aren't. There is a huge gap between rich and poor, leaving the poor without much hope, and nothing left to live for which is why they're willing to become suicide bombers.
It'll take 60-100 years of near lock down there, and building up the education and economy to fix it. We don't have the political leaders in the west who would be willing to make such a time consuming and costly commitment that in the long run will build an economic competitor.
Instead they want peace in the middle east, but no economic competitor. They can't have both for long before we start the cycle again.
if you're doing an init function you should match it with a deinit function.
// Cheating with C++ // lint intentional pass-through // lint intentional pass-through // lint intentional pass-through
So:
int initFunc() {
if (!AquireResource1()) return deinitFunc(TERM_1);
if (!AquireResource2()) return deinitFunc(TERM_2);
if (!AquireResource3()) return deinitFunc(TERM_3);
return 0;
}
int deinitFunc(state = TERM_ALL)
{
switch (state)
{
case TERM_ALL:
case TERM_3:
Cleanup3();
case TERM_2:
Cleanup2();
case TERM_1:
Cleanup1();
}
return -1;
}
I personally prefer the gotos but some people don't. I had to do the above pattern for something with a 24 step initialization process. Not all steps allocated resources of course but all of them could fail. The lead programmer hated gotos, so I had to do it that way. Which was also beneficial because I no longer needed to create a separate deinit function. To me it looks the same as gotos, *shrug* but to each their own.
I have used gotos in other cases. Mainly in driver development. I had something like 10 us between transmissions on a SPI bus and was trying to shrink that down. I replaced a continue with a goto and it saved me 90 ns. Made the code look horrible and ripped the goto out again to look for other ways to solve the problems. But sometimes when your optimizing and fighting for ns gotos are what's needed.
United is actually taking the monitors out, in favor of an app you have to download onto your tablet and wifi for their entertainment systems (if you had a PC then you could just hook right up to wifi and use the entertainment system). I think it was United but the disasters of Chicago and weather had me switching from American to United to US Airways during that trip. They were giving a trial run on the flight I was on, but I bet they'll go for out on it because it means they don't have to pay for the screens and don't have to worry about the bulky screens getting in the way of packing more cattle....passengers in the plane.
Very interesting, thanks for sharing. There were a few problems I had with the video.
It did make the guys who professed that biology had nothing to do with it look a bit like closed minded idiots, but that was mostly their own fault. With the two that were shown the studies contrasting their views starting to call the studies weak, and almost name calling.
The video alluded to many studies that proved that biology had something to do with it, but only really went into details with two of them, and those looked to be one off studies. If they had been repeated by other scientists then I would give them more weight.
The video was a bit bias in its selection on who to present. The 'biology has nothing to do with it' looked to be young and barely out of post grad and wanting to make a name for themselves. They also seemed defensive and emotionally invested in their views. The ones on the other side of the debate were older, and looking to be more established. This gave the 'there's a biological link' a more credible appearance.
Personally I'm with the guy who said that you can't ignore biology and you can't ignore culture. That's also known as the grey fallacy, but when you're trying to find the root cause of something like this you can't cut out one side of the argument, even if its bee proven wrong. You have to continue to prove it wrong with hard facts and understanding, and each time you do you promote more understanding of what the issue is.
The video was also nice in that it pointed out, it was only the scientists form the culture is everything camp that discounted the biological portion of it. The scientists from the biology is important camp didn't say that culture wasn't important.
oh I'd love 10 mbs. I'm stuck with only one provider where I live. No cable, just CenturyLink DSL. I have the fastest service they offer in this area, a whole 7 mbs. And I get to pay $70 a month for it too. When I called up customer service about it, they seemed shocked that we only got 7 mbs for that amount, and then he looked at what was offered in the area, and apologized because that's all they have. I have a 70 ms ping to the speed test servers. Shows you how bad it is when they don't even care about faking speed test because there's no competition in this area.
What's frustrating is that a half mile west there's Cox. A half mile north there's cox. A have mile south there's cox, and a half mile east cox has partial coverage to northern half of the area. Just this one little area of new construction doesn't have Cox, and when I asked them when they'd get to it, they didn't know. I know cable sucks, and is a shared service, but its better than my 7-70-70 service (mbs, ping, price).
It takes about 30 seconds for my wife to load her facebook page, and her other pages. I don't really know why it could be so shitty. We have to unplug the modem at least once a week because it seems to die on us, and we seem to change IP addresses every 2-3 days. When both of our computers started downloading the latest round of windows patches it literally killed my wife's google talk page.
</p><p>I'm always amazed at what non-programmers are impressed by. Code up some major application, and... Why doesn't it have this feature? Why does it have that workflow? What kind of colorblind dyslexic idiot designed this UI? But whip up a simple script to automate some repetitive, routine task and you're a genius!</p></quote>
I'm always surprised at this as well. I had two things I was known for at my previous company. One that I was proud of, a software library that was used across the entire company, across multiple teams (20 project teams), built up a community around, supported and upgraded for 6 years. This was mainly on my own time, but I kept getting requests from other teams to help with integration (which I needed my time authorized for). I kept getting complaints about the library, people wanting to change the flows, wanting to add features in, wanting it to be more light weight, wanting it to be more heavy weight and do more, etc. The library was actually designed with maintenance and long term support in mind.
The other project, was something that automated a process I thought was stupid. Basically something that took multiple true type fonts, merged them together, and then based on all the localization strings it stripped out all the unused fonts to save on RAM. I threw that together when I was home sick from work with a 103 degree fever during flu season. It was only suppose to live till the end of the current project I was on (2 months). You can imagine how crappy the code was, it barely worked, it barely did what it had to do.
Guess which one I got more praise and recognition for? Not the properly designed project that affected our customers and revenue flow, but the code vomit (almost literally) project that made people's life in the company easier. Because of the second project I became known as one of the company's expert on true type fonts, and even had the company lawyers call me to talk about licensing of the fonts we used (as if I knew that). And I still had to support that tool 5 years after I wrote it, because it somehow leaked out of the original project which had been shipped and closed down. Just for the record I consider my knowledge on fonts to be slightly above average, but when you consider the average is 'a font is what you select in Word' its not much, no way is that considered an expert in any other area.
There is a PIC32 I/O expansion board (DM320002) that you can hook the PIC32MX starter kit to that will bring out the JTAG port to a standard header. Unfortunately that's a pricy board too that might be a bit too expensive for some people.
But it does bring out all the pins you'd want. SPI, UART, I2C, Digital I/O etc. And if you're going to be doing some pretty intensive stuff beyond what the starter kit gives you (3 buttons, and 3 LEDs) you'd probably want to pick one of those up as well. What I like about it is it has a 9 volt input jack so I don't have to power the starter kit off my PC.
The JTAG is left off the starter kit, since it is a starter kit, and they don't want to make it expensive. There isn't really any space on the board to put a JTAG port without expanding the area, and if you want one thing, others will want others, and yet others, and then its no longer a starter kit, but a full development kit. Which is why there's that I/O expansion board to handle the 132 pin connector that's on the bottom of the starter kit.
The PIC32 MCUs are a bit more expensive. Around $4.20 for single orders. But they're also clocked higher. The PIC32MX is an 80Mhz part. The one in the ARM in the article is 48 Mhz. There is also a big difference in RAM and FLASH. The arm has 4k and 32k. The PIC32MX has 64k and 512k.
Of course if you're really wanting to play with the MCHP parts its best to go with the starter kits, which makes them much more expensive than the $3 in the article. But then you get a USB debug port, a USB port to play with, and on some of the kits you get Ethernet as well. Which is much more than what the breadboard in the article is talking about, and you don't need a flash programmer. If you're really serious to get into embedded controllers this is probably the way to go, since you save the price of your flash programmer/debugger.
You could always wait for the PIC32MZ as well, which is a 200 Mhz part, more RAM and more FLASH.
It's possible.
The CEO of Microchip Technologies (Steve Sanghi) has ethics, I don't know the majority of his ethical make up, but one of the big things is integrity. If you look at his and MCHP's history
- he's been CEO of MCHP for 23 years, which I never heard of in the high tech industry. In fact a good portion of the higher level executives have been around for a long time, some of them from the early 90s. This shows that he's willing to make a commitment and stick too it, and surrounds himself with people who do the same thing.
- MCHP has never had to restate financial results because of shady accounting practices.
- Have told their sales force that the values of doing business are the values of the head office (in the US), so no bribes to get business in 3rd world countries, etc. This has cost them business in the past but they don't seem to mind.
- Made it a corporate culture thing never to have more than 3% of the profits of the company reliant on one customer, which allows them to walk away from shady deals.
Of course this means that MCHP doesn't have a huge market cap, and may be overly conservative when it comes to new technologies, but you can't really argue with 94 quarters of profit that haven't needed to be restated.
Steve might not have a butt load of money, but probably more money than most of us will see in our life times. According to Reuters he makes 4.5 million a year and has 50 million in unexercised options.
The only thing I'm not sure of is where the company is registered, I'm pretty sure its in the US. But it may be outside since it is an international company and most companies are registered outside the US to reduce taxes. I'm not sure if Microchip does.
Shorewall is very nice. For the user I would suggest using it and installing webmin to configure it. Webmin does an OK job configuring shorewall which is already pretty easy to set up, just it can be fairly confusing for the first timer with all the config files. After the first few times with webmin you learn how to do it with the command line and vim.
Bastille-linux is also something that was fairly easy to use in the past. I used that before shorewall, but I haven't used bastille for years, must be a least a decade so I don't know what the current state of it is.
I was thinking the same thing. Why not Chandler (SE side), where Intel has two fabs, Freescale has an office, Microchip is located and a bunch of other big high tech companies? You're going to have a hell of a lot of high tech workers just begging for gigabit Internet. But that may be the reason, they may not want tech savvy people at it, because then they'll have a heavy stress test.
I just moved from Seattle to Phoenix, strangely enough it was because my job in Seattle ended and I couldn't get another job. The tech market for interviewees sucks in Seattle, I knew about the job closing for 6 months and still couldn't find a job there. So in a lark I applied to a job in Phoenix/Chandler. Had a phone call from them in 2 hours, an on-site scheduled 2 hours later. Call the day after the interview saying they're getting an offer together.
The job turned out to be about 2 levels above what I was applying for in Seattle. Love the weather here and don't regret leaving Seattle at all. They actually appreciate 15+ years of software engineering experience here. In Seattle all they seemed to care about was big O notation, not what you can actually do.
You might have the same problem I have. But I don't think I'll notice the change personally. I'm 6'4" tall (190cm) and I'm in pain if I don't get up from those seats at least every two hours and walk to the bathroom. I have a hard time getting into them now as it is, and usually I fly on short notice and I'm stuck in the middle. I'm quite sure that the airlines are having some sort of joke on the big guys, and see how many they can sit next to each other.
The last time I flew internationally (10 hour flight from Seattle to Amsterdam) I got lucky and upgraded to 'comfort' class and the booking agent apologized that I was tuck in the bulkhead row. Stuck? Man that was comfortable I could stretch out. But she was able to do better on the way back, and got me a proper seat. That was painful, and cramped. I had to get the guy on the aisle to let me out 5 times, and each time I was moving like an old man (and I'm not that old).
So I don't think I'll notice the loose of 1 little inch. My knees already run into the back of the seat in front of me. My shoulders already overflow onto the seats besides me. I might notice that my butt will be snug in the seats though.
But if they're jamming more people onto the plane, are they increasing the overhead bin capacity? When I fly I always take a small roller bag for my clothes and a laptop bag. I usually get these stowed (roller bag up top and laptop bag under the seat in front of course) but its usually cramped, and people who come in late always seem to try to jam in on top of everything. Somehow I doubt it as that is passenger convenience, and some airlines (I'm looking at you American) are charging for every checked bag you have. They're currently offering the checked carry on for free, but that might change in the future.
I'm not being conspiracy nut in this. This is just one more tool that HR departments can use to keep pay low for people applying for work at a company. They always ask for what your current salary is. Before an applicant could lie and tell the HR department a higher number and get offered that higher number. Now they can just check this database and see what the number actually is.
When I job switched in the past I've never been offered a number higher than what I currently made when I was truthful about my salary, and I screwed myself over. There was a time when I worked for a start-up and my salary was frozen for four years. When that job died I told my new employer what I was making and got offered a bit less since it was a rough job market. The raises I got at that job were less than inflation. The last time I switched I took my salary at the start of the previous job, ran it through the inflation calculator, added 10% and told that number to the new company. That was the number that I was offered, and they gave me some song and dance about it was a privilege about working in the industry when I tried to see if I could get it higher. So I got a 17% raise over my previous company.
Now with this database that tactic is no longer viable. And if you don't tell them the current number you're making and then check it out, they can mark you as dishonest. Kind of hypocritical if you ask me.
Speaking as a developer of console games. The CPUs are the same between the dev kits and the retail console, so running unoptimized code will run the same on both CPUs. Where the kits differ is usually in the supporting hardware.
Both the Xbox360 and the PS3 had additional hardware in the box to aid in debugging. The PS3 had another 128 megs of ram. And a second Ethernet port. Being an online engineer I almost worshipped that second Ethernet port. Being able to put the 'game' port onto a packet filter (for latency, and other testing) while having the debug port still available unhindered was very valuable.
The PS3 also had a hard drive for running BluRay emulation on.
The Xbox360 (the ones I played with), had the same RAM on both the dev kit and the retail kit, they did add another 512 megs in later versions, but I never got to play with it. The side car had equipment for hooking up USB for DVD emulation and debugging support. It also had an internal hard drive, which the retail kits didn't have.
Mainly the 'better' specs were for debugging, not for actually running the software on.
Don't forget the five songs, sung by the characters and the tap dance numbers with the characters twirling around the light sabres and spinning around them. Of course the songs will recap the entire plot because the audience had probably missed it completely by that point.
Suddenly all those dancing Storm Trooper Kinect mini games make sense. http://www.youtube.com/watch?v=XGVvTfr0xn4
Perhaps the makers of the video game weren't so far off the mark after all.