350 karma · joined January 15, 2008
http://www.twitter.com/kazooya
mailto:kazuya@violentlyhappy.org
http://www.hackernewsers.com/users/kazuya.html
https://github.com/kazuya
However I prefer http://facemakr.com/ when it comes to the variations of facial parts.
Even assembly code appears high level when you are looking into how the electrons run through silicon and copper. But it's not realistic to cover all the stack down to the atoms. Then which layer you can stop digging at?
For a programmer, the processor architecture (including the instruction set architecture and the bus architecture) level would be fine. It is the strongest abstraction barrier and you rarely need to look below it.
That said, if you are working on embedded systems, knowledge about digital electronics is almost a must, and some analog bits really helps.
Once I told the management to have them learn English because it's almost mandatory for a software engineer to understand English as much as an aspiring Go player would learn Japanese. But the management told me back it's _harsh_ to require them to learn anything more. Harsh? Huh?
That said, I found the need for technical books real, and translated several English books (including Programming Erlang) into Japanese. However I know this effort will not scale and these days I am inclined to abandon translation and tell them that English is just another tool you have to learn to survive.
It was more than 10 years ago when I joined Fujitsu's 3G cellular network project as a subcontractor. It was a huge complex project and I believe was one of the first 3G networks deployed in the world. So I expected I would work with teams of descent engineers.
Except most of them were not.
The subproject had dozens of 'engineers', but many of them had just finished vocational schools that didn't teach them even programming in C. To make it worse, the existing code base was the exemplar of bad code, e.g. each function had more than 3000 lines, function names were a letter and some digits and we had to consult some other documents to find out what they were expected to do, etc as well as more architectural design problems. In fact there I was able to find every horror story about software development.
Why did such a mess happen? One of the reasons was that the contractor company (who then outsourced some senior positions to subcontractors like me) were paid by the headcount of engineers it offered to the project. No kidding. So, in order to maximize the profit, the contractor made up a legion of those incapables who were paid less. Expectedly that made things worse, and Fujitsu thought it needed more engineers to solve the problems. Vicious circle.
I had tried to make the situation better, but the root cause was not in the technical side and I had no clue. The only nice thing for me was that during the personal research to improve the project I got to know Erlang, which was of course never ever used in the project because of the similar reasons mentioned in the article.
I'm pretty surprised to hear that, as we have always been working hard to make the SDK easier for game devs. Do you remember who said that?
Amazon does this, though imperfectly, and in fact it suggested me a periodic purchase plan of diapers after I bought it from them a couple of times.
This system uses a feature defined in 3GPP and probably can be implemented in cellular networks in other countries than Japan. However it may need modifications of the software in the network, it may take several years to be fully deployed.
What's interesting is that Microsoft uses model checking on real shipping products. In fact it has been pushing static checker (SLAM and SDV) for years.
Other operating systems including Linux have their own verification projects, but they all appear to stay academic (though look promising).
We can expect more reliable operating systems in this decade. Maybe.
For those who live in Tokyo, this might be interesting, but I want the one without such a superficial academic style: http://www.academyhills.com/library/index.html
I heard Tsubame, a supercomputer built with NVIDIA GPUs, calculated ECC on its GPU-side memory with GPU code because those GPUs were consumer grade and didn't have hardware ECC.
And some of them can be used with Nintendo DS: http://www.garbagenews.net/archives/1406127.html
As far as I observed, one of the problems with these devices is they give the restaurant a bit of cheap look. That's partly due to their poor make, but most probably, the guests feel embarrassed similarly to when one takes out his cell phone just in the middle of dinner.
In Japan people learn English as a part of mandatory public education without targetting any practical use, and many companies mandate good exam score or certificate about English, even if they don't need English skills on the job.
This leaves Japanese in a strange parallel world of learning English, where the goal is scoring good and getting a nice job, not communicating with others.
Hence people without real incentive are forced to take globally standard English tests such as TOEFL or TOEIC, resulting in that low average score.
If you are talking about pop culture, yes. However, non-humanoids don't make news as they have already been part of Japanese culture. Even kids know cars, toys, foods etc are made by robots.
As Estragon pointed out, Japan doesn't have robots suitable for such condition as it didn't have urgent necessity.
In addition, the Fukushima power plants are very old and I think it was not designed for inspection and repair by robots.
We started it aiming to be a big fish in a tiny pond (software for embedded wireless devices, niche market, yes). But, as an expected result for a project without well-defined goals, we weren't able to build any working software. While we were at it we made money with contract jobs and that reduced time to work on the project furthermore as we were self-funded and it wasn't enough to feed us for more than six months.
To make it worse, one of the founding member, who is a specialist about digital signal processing and we couldn't go without, was considering pursuing academic research.
After plodding through that muddy state for almost five years, I had accumulated enough fatigue and eventually we decided to dissolve it.
Other members had found their own way and I found a job at a big company. Maybe I was fortunate, because it's quite difficult for a thirty-some with somewhat messy job records to find a job at an established company, esp. in Japan. Or maybe not, because my experience and skill set were considered versatile particularly in embedded systems industry.
As others says, I thought of it as bartering freedom with stability. That is partly true, but it wasn't that bad. Among others, it's a definitely invaluable experience to make software of a hardware product that are to be sold in thousand millions. That is what I never do in a small startup.
So mine is one example favoring your move, whatever your motivation is. I believe many big companies think your 3 years at a startup a big plus. Why? Because big companies are full of people without that experience, often only top execs have it, but they sometimes have to start new to survive.
As for maximizing your chances of getting a job at a big co, it is critical to understand and clearly state why you failed. I'm sure they will ask about it if they are decent.