Mersenne primes have a structure that makes it possible to test primality for very large numbers; there's no way to test whether unrestricted numbers of that size are prime (it's theoretically possible, but there aren't enough computing resources on the planet.)
I used to run the GIMPS search application back in the 90s; you really really don't want to run it on a laptop on batteries, especially with the battery technology of the time, and eventually I decided that my laptop didn't have enough horsepower to bother, compared to desktops that could run GPU-based calculations.
The Onion, America's Finest News Source, reports that it's cooperating with the Chinese government by giving them its employees' passwords. So it's not just the NYT and WSJ.
There's a large ecosystem that provides most of the pieces - call centers that accept calls, equipment and service providers for making calls, workers willing to listen to abuse for low pay, credit card companies that will pay merchants. Long distance telephone calls cost next to nothing even before VOIP made them cheaper, and the Caller ID system wasn't designed to prevent spoofing (in fact, spoofing is a feature, because it lets your office PBX output your phone number instead of the main number for the office, etc.) You can pretty much outsource the whole scam, and do the potentially-getting-arrested parts from outside the US.
And since "Cardholder Services" isn't already a fake scam business, there's no reason that another scammer can't take advantage of Rachel's reputation and run their own scam.
On their last few calls, I've been offering "Rachel"'s minions opportunity to make $50,000 for ratting out their boss to the FTC. I've gotten some really amusing profanity in return.
The Arduino Esplora is an interesting starting point. It's a slightly bigger board, shaped like a game controller, with buttons, joystick, potentiometer, accelerometer, temperature sensor, light sensor, buzzer, microphone, RGB LED, a few other LEDs, LCD connector, and some 3-pin I/O connectors. So if has a lot of the sensors and toys you might want to play with already built in. You can program it with the Arduino software (though a few pins already have stuff attached to them, so if you want to run an existing Arduino application you may need to change what pins to use for what devices.) It doesn't accepts Arduino shields, so there are times you'd be better off with other models, but you've got lots of cool stuff to start with. I think the list price is about $50-55 from Arduino, and I saw one for about $65 in Radio Shack.
The Esplora and the new Leonardo have some other differences from the standard Uno - they use small surface-mount ATmega32u4 chips instead of the bigger socketed through-hole ATmega328 that the Uno has, so you can't just pop the chip in and out. The 32u4 has a few more pins, and has built-in USB support, so it has more flexibility for doing USB applications and doesn't need a dedicated chip for the USB interface the way the earlier Arduinos have.
Arduino has a really short friendly learning curve - the system is designed so a random not-very-technical artist can pick it up, start doing blinky lights and sensors, find lots of interesting community support and demonstrations and applications. All the pieces you need to get started are right there - hardware, software, IDE, sensors, output devices, documentation. The Arduino hardware is fancier than a bare-bones AVR chip on a breadboard (and building one of them is a good second project), but it's still pretty cheap. The software may hold your hand a bit too aggressively, but once you've learned what you're doing you can get deeper (think of it as a mostly-C scripting language.) If you'd rather use gcc to write your programs at the bare-metal level and avrdude to download them, you can, but Arduino lets you do your work at higher levels until you need that. You could buy an ISP programming tool for $20-50 to program raw AVR chips with, but you can also use a ~$30 Arduino to do that job, so just go buy one.
Once you've used the Arduino a bit, you might want to branch out to a TI or STM development board, or something like Propeller with a lot more CPU horsepower if you need that, or PIC (if you want to know what people used to learn on before Arduino.)
Stuff you're going to have to buy - whatever prototyping board you want (I'd recommend Arduino), a solderless breadboard or two, solid-core wire in a couple of colors, some LEDs, assorted resistors and capacitors, probably several different types of sensors and output devices, maybe a power supply (USB gives you 5v, which is just fine if you're doing everything tethered to your laptop or have a USB phone charger around.) If you don't have electronics stuff around home already, you'll probably end up spending $100 or so, typically for a kit from Sparkfun or Adafruit or MakerShed, plus some random shiny-looking parts from their catalogs, plus you'll start to find Radio Shack very useful when you need to stop in and get some more LEDs or various connectors (and get yourself a bag of assorted resistors and a bag of assorted capacitors if you didn't have enough from a kit.) If you're going to solder boards, you'll also need a soldering iron, solder, and some breadboard to work with.
RC4 stream cyphers get broken all the time. The problem isn't the RC4 - it's using the stream cypher carelessly, for instance restarting a stream from a known point with different data. (That's one of the half-dozen things that killed PPTP, for instance.)
Santa Ana's first offer in the peace negotiations after he lost the US-Mexican war would have also given the US Chihuahua and Sonora, and the US turned him down. It was debatable whether Mexico really could say they controlled those two states; they were mostly unconquered Indians at the time, and I'm not sure if they'd yet found silver there.
In this posting, below, Animats points to an article that says it's really a peering fight between Orange and Cogent, an ISP that Google uses for transit. More detail in techdirt. At least 90% of the time, if you see an article about "ISP Peering Fight", Cogent is one of the players. They're really big, they're really cheap, and they sell lots of bandwidth to content providers. They're pretty much the bottom of Tier 1 - they'd like to get free peering from all the other Tier 1 providers, but that doesn't always happen, and occasionally somebody decides not to peer with them.
Content providers and Eyeball providers each think that the other side should pay them money. After all, content's worthless if nobody can see it. But consumer eyeballs only buy your broadband service if there's something to see. And the transport-oriented networks get squeezed by both sides, which is one reason they usually end up buying or being bought by consumer broadband networks.
No, no, Obama's not going to kick Texas out of the Union just because all those Confederates signed that petition. They don't want to be in the US any more, so he's going to give it back to Mexico.
Turkey's government was radically secular for close to a century, since Kemal Ataturk's nationalists kicked out the Allies, Sultanate, and Caliphate after the WW I fall of the Ottoman Empire. They were fairly aggressive about it - requiring western-style clothing, banning fezzes, and suppressing non-Turkish cultures (such as the Kurds), enforcing use of a Latin-based alphabet instead of Arabic alphabet (and too bad for you if your name used not-officially-Turkish letters.) They did strongly push education of women, banned headscarves even for women who wanted to wear them, and let women vote (at least in the years they were paying attention to votes.) They've even had women as Prime Minister. Islam was still permitted as a religion, and was still the most common religion, but the government was not Islamic.
They stayed secular until a few years ago when more Islamists got elected to Parliament, but have loosened up since then.
The article is really ambiguous about the cause here. Is it
- Non-academic-track kids in non-US countries don't take the test , or
- the US has a lot of poor kids who don't get adequate schools because they're poor, and we'd have better test results if we didn't have so many poor kids?
Both factors are true, but I can't tell from the article whether it's saying "US ranking would be this much higher if the non-academic kids on the other countries took the tests (yay, US!)", or "US ranking would be higher if we didn't include the poor kids (sorry, doesn't count.)"
Ok, they've added Bluetooth, and use Wifi instead of wired Ethernet, and use some really uncommon powered video plug instead of HDMI and a USB socket, but it's still pretty much the same. RPi in a box is about as practical, and it wouldn't be hard to build commercially.
"Kansas City" mostly means Kansas City Missouri, as well as the adjacent Kansas City Kansas and sprawl of suburbs. Sprint is in Overland Park, KS, a suburb about 10 miles west of downtown. Downtown KCMO is a pretty decent city - go visit the Plaza area or the university.
If he isn't understanding your code, maybe you need better comments in it. Have him write some!
Or maybe your code is complex because it's trying to implement a bunch of complex semi-contradictory requirements that evolved over time, rather than implementing one clear design specification that was available upfront. That also needs really good comments.
Firefox crashes way too often for my taste, but since about version 13 it's gotten a lot better on memory use. I haven't used Chrome in a while, just tried it and found that yeah, it's really really fast. It used to be a real memory hog, and I won't be able to tell if that's still true unless I load it up with a lot of tabs. (And unfortunately, since I'm stuck running 32-bit Win7, I can't just throw enough virtual or real memory onto the laptop to handle memory bloat, and modern browsers don't seem to like waiting for Win7 paging anyway.)
Tai Chi and QiGong have a lot of great stretching and stability exercises you can do in not much space, and they're slow moving enough that you're not going to work up a sweat.
Also, getting up from your desk periodically and doing things, like going and getting coffee.
I picked a gym near the train station, so during the years I was commuting by train it was convenient to go there when I got back from work, before doing other things for the evening. I've been going a lot less frequently since I changed offices.
Bad crypto can cause you no end of trouble. There are people out there who know what they're doing who've written PRNG systems in the general direction that you're talking about, but understand what to do and not do in the designs. Some of it's pretty subtle, like only bringing in new entropy in big chunks rather than trickling it in, and knowing what crypto algorithms work well for applications like this and what don't. And some of it's tuning.
The general speculation is that something in Android is using/dev/random when it would probably be ok with/dev/urandom, but nobody's sure quite what. Google Maps was mentioned; maybe it's using https to fetch map segments or something?
Real programming jobs usually spend a lot more time in the requirements gathering and clarification and solution analysis phases than they do in actual coding. On the other hand, it does weed out the people who don't actually have a clue, at least if you provide enough time rather than trying to get speed. Shouldn't be necessary, but HR departments are usually run by people who understand contracts, not technology.
My department recently tried to hire a lab manager contractor to do router gruntwork and organize a lab move. We quickly found that after the candidate's contract shops and our HR department had both reformatted their resumes, we couldn't tell much except who they'd worked for (e.g. "working on CCIE" meant "didn't have CCIE", not "had CCNP, working on CCIE", and "worked on X" might mean "developed the X system from scratch" or "used the X system to enter data without understanding what it was"), and most of the people who really did know their stuff found better jobs so we didn't end up getting second interviews (good for them, we really needed somebody to do unexciting gruntwork.)
We ended up asking everybody the question "You've just typed "google.com" into your browser, tell me what happens on the wire in as much detail as you can." It should be elementary, but way too many applicants didn't understand the OSI stack enough to talk about Layer 1 vs. 2 vs. 3, much less about arp or broadcasts, or didn't get the concept that typing things into your browser makes stuff happen on a wire, and the technically competent people could talk their way through it pretty quickly.
My resume has lots of buzzwords on it so I can get past the HR department, but I also try to indicate what I'm actually good at. HR department people usually don't have complex engineering skills, and while it would be nice if they could actually identify people who do, it's tough.
And the fact that you wrote "CV" instead of "resume" implies you're not American - over here, calling the previous employer isn't going to get you anything more than a confirmation that they did work at the company, they usually won't say anything negative about work quality because they could get sued, and maybe they'll say something positive but you can't really trust it. Google might find you people with uncommon names who've done open-source work; it's much less likely to help for people with common names or people who've done their software work inside large companies.
Mersenne primes have a structure that makes it possible to test primality for very large numbers; there's no way to test whether unrestricted numbers of that size are prime (it's theoretically possible, but there aren't enough computing resources on the planet.)
I used to run the GIMPS search application back in the 90s; you really really don't want to run it on a laptop on batteries, especially with the battery technology of the time, and eventually I decided that my laptop didn't have enough horsepower to bother, compared to desktops that could run GPU-based calculations.
The Onion, America's Finest News Source, recently posted an article saying they'd also given all their passwords to the Chinese.
The Onion, America's Finest News Source, reports that it's cooperating with the Chinese government by giving them its employees' passwords. So it's not just the NYT and WSJ.
There's a large ecosystem that provides most of the pieces - call centers that accept calls, equipment and service providers for making calls, workers willing to listen to abuse for low pay, credit card companies that will pay merchants. Long distance telephone calls cost next to nothing even before VOIP made them cheaper, and the Caller ID system wasn't designed to prevent spoofing (in fact, spoofing is a feature, because it lets your office PBX output your phone number instead of the main number for the office, etc.) You can pretty much outsource the whole scam, and do the potentially-getting-arrested parts from outside the US.
And since "Cardholder Services" isn't already a fake scam business, there's no reason that another scammer can't take advantage of Rachel's reputation and run their own scam.
On their last few calls, I've been offering "Rachel"'s minions opportunity to make $50,000 for ratting out their boss to the FTC. I've gotten some really amusing profanity in return.
The Arduino Esplora is an interesting starting point. It's a slightly bigger board, shaped like a game controller, with buttons, joystick, potentiometer, accelerometer, temperature sensor, light sensor, buzzer, microphone, RGB LED, a few other LEDs, LCD connector, and some 3-pin I/O connectors. So if has a lot of the sensors and toys you might want to play with already built in. You can program it with the Arduino software (though a few pins already have stuff attached to them, so if you want to run an existing Arduino application you may need to change what pins to use for what devices.) It doesn't accepts Arduino shields, so there are times you'd be better off with other models, but you've got lots of cool stuff to start with. I think the list price is about $50-55 from Arduino, and I saw one for about $65 in Radio Shack.
The Esplora and the new Leonardo have some other differences from the standard Uno - they use small surface-mount ATmega32u4 chips instead of the bigger socketed through-hole ATmega328 that the Uno has, so you can't just pop the chip in and out. The 32u4 has a few more pins, and has built-in USB support, so it has more flexibility for doing USB applications and doesn't need a dedicated chip for the USB interface the way the earlier Arduinos have.
Arduino has a really short friendly learning curve - the system is designed so a random not-very-technical artist can pick it up, start doing blinky lights and sensors, find lots of interesting community support and demonstrations and applications. All the pieces you need to get started are right there - hardware, software, IDE, sensors, output devices, documentation. The Arduino hardware is fancier than a bare-bones AVR chip on a breadboard (and building one of them is a good second project), but it's still pretty cheap. The software may hold your hand a bit too aggressively, but once you've learned what you're doing you can get deeper (think of it as a mostly-C scripting language.) If you'd rather use gcc to write your programs at the bare-metal level and avrdude to download them, you can, but Arduino lets you do your work at higher levels until you need that. You could buy an ISP programming tool for $20-50 to program raw AVR chips with, but you can also use a ~$30 Arduino to do that job, so just go buy one.
Once you've used the Arduino a bit, you might want to branch out to a TI or STM development board, or something like Propeller with a lot more CPU horsepower if you need that, or PIC (if you want to know what people used to learn on before Arduino.)
Stuff you're going to have to buy - whatever prototyping board you want (I'd recommend Arduino), a solderless breadboard or two, solid-core wire in a couple of colors, some LEDs, assorted resistors and capacitors, probably several different types of sensors and output devices, maybe a power supply (USB gives you 5v, which is just fine if you're doing everything tethered to your laptop or have a USB phone charger around.) If you don't have electronics stuff around home already, you'll probably end up spending $100 or so, typically for a kit from Sparkfun or Adafruit or MakerShed, plus some random shiny-looking parts from their catalogs, plus you'll start to find Radio Shack very useful when you need to stop in and get some more LEDs or various connectors (and get yourself a bag of assorted resistors and a bag of assorted capacitors if you didn't have enough from a kit.) If you're going to solder boards, you'll also need a soldering iron, solder, and some breadboard to work with.
RC4 stream cyphers get broken all the time. The problem isn't the RC4 - it's using the stream cypher carelessly, for instance restarting a stream from a known point with different data. (That's one of the half-dozen things that killed PPTP, for instance.)
Santa Ana's first offer in the peace negotiations after he lost the US-Mexican war would have also given the US Chihuahua and Sonora, and the US turned him down. It was debatable whether Mexico really could say they controlled those two states; they were mostly unconquered Indians at the time, and I'm not sure if they'd yet found silver there.
In this posting, below, Animats points to an article that says it's really a peering fight between Orange and Cogent, an ISP that Google uses for transit. More detail in techdirt. At least 90% of the time, if you see an article about "ISP Peering Fight", Cogent is one of the players. They're really big, they're really cheap, and they sell lots of bandwidth to content providers. They're pretty much the bottom of Tier 1 - they'd like to get free peering from all the other Tier 1 providers, but that doesn't always happen, and occasionally somebody decides not to peer with them.
Content providers and Eyeball providers each think that the other side should pay them money. After all, content's worthless if nobody can see it. But consumer eyeballs only buy your broadband service if there's something to see. And the transport-oriented networks get squeezed by both sides, which is one reason they usually end up buying or being bought by consumer broadband networks.
No, no, Obama's not going to kick Texas out of the Union just because all those Confederates signed that petition. They don't want to be in the US any more, so he's going to give it back to Mexico.
Turkey's government was radically secular for close to a century, since Kemal Ataturk's nationalists kicked out the Allies, Sultanate, and Caliphate after the WW I fall of the Ottoman Empire. They were fairly aggressive about it - requiring western-style clothing, banning fezzes, and suppressing non-Turkish cultures (such as the Kurds), enforcing use of a Latin-based alphabet instead of Arabic alphabet (and too bad for you if your name used not-officially-Turkish letters.) They did strongly push education of women, banned headscarves even for women who wanted to wear them, and let women vote (at least in the years they were paying attention to votes.) They've even had women as Prime Minister. Islam was still permitted as a religion, and was still the most common religion, but the government was not Islamic.
They stayed secular until a few years ago when more Islamists got elected to Parliament, but have loosened up since then.
Google for your favorite Wizard of Id cartoons...
The article is really ambiguous about the cause here. Is it
- Non-academic-track kids in non-US countries don't take the test , or - the US has a lot of poor kids who don't get adequate schools because they're poor, and we'd have better test results if we didn't have so many poor kids?Both factors are true, but I can't tell from the article whether it's saying "US ranking would be this much higher if the non-academic kids on the other countries took the tests (yay, US!)", or "US ranking would be higher if we didn't include the poor kids (sorry, doesn't count.)"
Ok, they've added Bluetooth, and use Wifi instead of wired Ethernet, and use some really uncommon powered video plug instead of HDMI and a USB socket, but it's still pretty much the same. RPi in a box is about as practical, and it wouldn't be hard to build commercially.
Topeka's way out in the middle of nowhere.
"Kansas City" mostly means Kansas City Missouri, as well as the adjacent Kansas City Kansas and sprawl of suburbs. Sprint is in Overland Park, KS, a suburb about 10 miles west of downtown. Downtown KCMO is a pretty decent city - go visit the Plaza area or the university.
If he isn't understanding your code, maybe you need better comments in it. Have him write some!
Or maybe your code is complex because it's trying to implement a bunch of complex semi-contradictory requirements that evolved over time, rather than implementing one clear design specification that was available upfront. That also needs really good comments.
Firefox crashes way too often for my taste, but since about version 13 it's gotten a lot better on memory use. I haven't used Chrome in a while, just tried it and found that yeah, it's really really fast. It used to be a real memory hog, and I won't be able to tell if that's still true unless I load it up with a lot of tabs. (And unfortunately, since I'm stuck running 32-bit Win7, I can't just throw enough virtual or real memory onto the laptop to handle memory bloat, and modern browsers don't seem to like waiting for Win7 paging anyway.)
I used to use a yoga ball as my home office chair. It took a little while to get used to, but my muscles adapted quickly enough.
Then one day I backed up and scared my cat. He slashed at the ball, claws out, and I started sinking slowly to the floor as it deflated.
Tai Chi and QiGong have a lot of great stretching and stability exercises you can do in not much space, and they're slow moving enough that you're not going to work up a sweat.
Also, getting up from your desk periodically and doing things, like going and getting coffee.
I picked a gym near the train station, so during the years I was commuting by train it was convenient to go there when I got back from work, before doing other things for the evening. I've been going a lot less frequently since I changed offices.
Bad crypto can cause you no end of trouble. There are people out there who know what they're doing who've written PRNG systems in the general direction that you're talking about, but understand what to do and not do in the designs. Some of it's pretty subtle, like only bringing in new entropy in big chunks rather than trickling it in, and knowing what crypto algorithms work well for applications like this and what don't. And some of it's tuning.
Go read the "/dev/urandom" Wikipedia page. If you need Yarrow, use it.
The general speculation is that something in Android is using /dev/random when it would probably be ok with /dev/urandom, but nobody's sure quite what. Google Maps was mentioned; maybe it's using https to fetch map segments or something?
Ok, it only works if you've got a cybernetic dolphin who can use SQUIDs to read you brain, but you could still become a very technical boy...
Real programming jobs usually spend a lot more time in the requirements gathering and clarification and solution analysis phases than they do in actual coding. On the other hand, it does weed out the people who don't actually have a clue, at least if you provide enough time rather than trying to get speed. Shouldn't be necessary, but HR departments are usually run by people who understand contracts, not technology.
My department recently tried to hire a lab manager contractor to do router gruntwork and organize a lab move. We quickly found that after the candidate's contract shops and our HR department had both reformatted their resumes, we couldn't tell much except who they'd worked for (e.g. "working on CCIE" meant "didn't have CCIE", not "had CCNP, working on CCIE", and "worked on X" might mean "developed the X system from scratch" or "used the X system to enter data without understanding what it was"), and most of the people who really did know their stuff found better jobs so we didn't end up getting second interviews (good for them, we really needed somebody to do unexciting gruntwork.)
We ended up asking everybody the question "You've just typed "google.com" into your browser, tell me what happens on the wire in as much detail as you can." It should be elementary, but way too many applicants didn't understand the OSI stack enough to talk about Layer 1 vs. 2 vs. 3, much less about arp or broadcasts, or didn't get the concept that typing things into your browser makes stuff happen on a wire, and the technically competent people could talk their way through it pretty quickly.
My resume has lots of buzzwords on it so I can get past the HR department, but I also try to indicate what I'm actually good at. HR department people usually don't have complex engineering skills, and while it would be nice if they could actually identify people who do, it's tough.
And the fact that you wrote "CV" instead of "resume" implies you're not American - over here, calling the previous employer isn't going to get you anything more than a confirmation that they did work at the company, they usually won't say anything negative about work quality because they could get sued, and maybe they'll say something positive but you can't really trust it. Google might find you people with uncommon names who've done open-source work; it's much less likely to help for people with common names or people who've done their software work inside large companies.
and take malaria-prevention meds. You may need to start them a couple of weeks before your trip, depending on which meds they're using these days.
Also, anywhere that has malaria issues usually has other diseases that you'll need to get immunized for, so expect some fun shots.