Automatic setting of Local Time zone w/DST - windows-server-2003

I can derive latitude and longitude and UTC time from GPS NMEA sentences.
Now, how can I automaticly adjust the Windows local time zone on my PC (2003 Server OS), based on this?
Also, Is there an easy way of distributing this to clients based on code or apps software?
Preferred programming environment is .NET, C# & Visual Studio.
I use a GPS Time server (GPS clock with antenna) today, but this could not support other than UTC. I want to set computers in my TCP/UDP network to correct time zone w/DST based on coordinates derived from GPS, so manually setting of all is not required.

Thanks Mark, but to me it seems that hook up to Internet is mandatory in the link given.
This isn't necessarily the case onboard a drill ship.
Therefore I want to extract it from the GPS data always available.
Parsing might be done based on a time zone table located on the onboard server (?)
This is the antenna I had in mind (hooked up to my server serial port):
http://www.trimble.com/timing/acutime-gold-gps-antenna.aspx?dtID=overview

Related

Hololens2 overheating applications

when I use MsStore's some applications(ex. HoloAnatomy Demo) more than 30 minuts, my hololens2 is so heated that it is shutdowned. Is it normal? Can I resolve this problem?
It is recommended that you operate HoloLens at +50ºF (+10ºC) to +80ºF (+27ºC), you can check more detail on temperature range from Temperature and regulatory information, here is a quote to the guidelines:
Store device in an environment within temperature range (either in Standby or Off) for an hour before using the device.
Use device in an environment within temperature range.
Use device indoors.
Use device in shade; even indoors avoid direct sunlight though windows or skylights.
If you follow the above guidelines but experience unexpected overheating issues, ensure Full telemetry is enabled before submitting Feedback.

TPM PCR Generation in Windows

I have a machine with TPM and I am running windows 7 on it.
I have a piece of code and I want to get run it and get the PCR register values at that time.
How can I do that?
Secondly, if i run the same code on other machine can I get the same PCR values? If I cannot then is there anyway to get it?
-------------- EDITED version Below----------------------
The Scenario is as follows,
I have an executable code written in C++ (for example a simple card game).
I want to run this file on my computer.
I want to get the PCR values.
Windows platform has 24 PCR register, Now which register has the hash of my running file (game)?
Without detailed information I can just provide a general answer. I will edit it if you provide more details.
Reading PCRs
There is a low-level Windows API you can use. Look at this question and its answer:
Controlling TPM with C#.
Basically look at the documentation of TPM Base Services (TBS). You will need to implement the read command on your own.
If you have a Java application, use JSR321 or jTSS.
There is an experimental port of TrouSerS for Windows.
Comparison of PCRs
A TPM on a PC platform will have 24 PCRs. In almost all cases the set of all 24 will not be the same on two different machines. In general you cannot alter it's values, especially not the "lower" ones representing firmware measurements. I guess what you are looking for is information whether a remote PC is in a trusted state or not. That's the holy grail. Get some literature on Trusted Computing and search the web for "trusted computing + attestation".

How to get the amount of each program used in Linux?

I'm new to Linux.
Now I'm doing a project that I need to find out the time of each program used in a specific period.
Is there any command I can use? Or I need to manually check the system log?
And I found that only recent days of history logs displayed in the log viewer. Is there anyway to get all the logs?
Thanks.
I'm using Fedora.
Back in the day when a computer in every desk was only a dream, computers were too expensive and few companies could afford to buy one - so they just rent some computer time from a provider. My dumb terminal was connected to the host computer over a regular phone line using a modem, at the astonishing speed of 9.6 kbps.
This was the era of Time-Share. From this time, Unix got process accounting.
See the Enabling Process Accounting on Linux HOWTO.

What mobile variables are available for device signature analysis?

I'm building a list of variables available on mobile devices, for device signature analysis. Here is what I've identified so far. Please help me fill out the list. Thanks!
General HTTP Variables
IP Address
Cookie
User Agent
Smart Phone Variables
Device ID
Geolocation
Device MAC Address
Javascript Variables
Current Time
Time Zone
Screen Size
Supported Fonts
Preferred Language
Installed Components
Cookies Enabled
The general pattern for getting variables might look something like this:
The Panopticlick project fingerprints browsers using a verity of techniques. This includes version numbers of the browser and all isntalled components (Flash, java, ect). The Project also looks at supported fonts, and prefered language, screen size and time zone.
Check out the results.

Webify embedded linux-based controller through cellular network

Need a basic direction in the following project.
There is a linux based controller doing some industrial control stuff.
The box is equipped with cellular modem and is capable to get online through cellular carrier. Cellular communication is used because controller is mostly installed where no cables or short range radio is available. Places where sun don't normally shine :)
The task is to allow internet clients to connect directly to the box for some basic control/monitoring stuff. The problem is connectivity - how clients will discover the box? - I'd like to have the box act as a server (if possible). Assuming that cellular carrier allows the box to get online doesn't necessarily mean that the box will get public IP so that anyone would be able to get connected. To my understanding the cellular network acts as a gateway from those who are working inside of it, and reaching someone in that network from outside isn't possible. Am I wrong? We are looking for a generic solution, not a solution around particular cellular provider. The controller is installed in different countries, we need to find the standard way to "webify" it.
The software (and hardware) in the box is ours, we can basically do anything, but I am looking for the right way to do it in order to avoid surprises with different providers later. BTW, the solution doesn't necessarily have to be technical, may be it's possible to buy a permanent IP's per box, or setup VPNs.. Which way should I dig to? What questions to ask?
Your ideas are welcome!
Your summary of the problem is basically correct. I've implemented several systems that do this, and the odds of success are good.
The way you tackle this will depend on the number of remote units you expect a single user to interact with. If each user will handle only one or two devices, it's plausible to implement the web server on the remote device. If each user handles many devices, consider centralising as much administration as possible. I've implemented this using Zenoss for data logging, and a custom control server.
If the web server sits on the remote device, you can either buy a SIM with a static IP, or use a proxy server. I recommend setting up a proxy server unless the number of devices is very small.
There are three options for SIMs:
Static IP with an address on the public Internet will be expensive, and negotiating the deal with each provider in each country will be irksome. No proxy server is required.
Private APN SIMs will give you the option of a static address, but in a private address range. Negotiation with the mobile network is still required, and you will require a proxy server to sit between the public Internet and the private address range,
Standard data SIMs will connect to the Internet through NAT. You can use these to host your service by opening a VPN connection (we used openvpn) to your server. You can now reach the devices directly by connecting to the same VPN, or through a proxy server.
If you use openvpn, here are some more tips:
Give each unit a public serial number, and a private key. Store these in the firmware of the unit, and in a central database. Put the public serial number on the outside of the unit. You can use an openvpn login script to ensure that a particular unit always appears at the correct IP address, which keeps the proxy configuration static.
You can control openvpn's bandwidth usage by adjusting its keepalive behaviour, and how often it renegotiates. Measure and tune this before a large deployment.
The NAT timeouts in the mobile networks are generally between 5 and 15 minutes. The device must send a packet to the server often enough to keep NAT alive.
Cheap SIM deals may be web only with limited ports.
Other tips:
GPRS modem firmware can (rarely) crash internally. If your hardware supports it, provide software with the ability to power cycle the modem.
Test your box in areas with poor coverage in your own country before you send out international shipments.
This is a typical problem with "mobile agent" appearing in different places or using different providers (in this case just one provider, but it's almost the same). Usually it's solved using some kind of home agent - a server that the mobile connects to and gives details about how to reach it or if it can't be reached directly then the home agent acts as a proxy.
Client always contact the home agent first and then if it is possible they contact the mobile or if it's not they use the server as a proxy.
In some cases dynamic dns might be sufficient in other you need real proxy/ façade.
There's a good book: Andrew S. Tanenbaum & Maarten van Steen :"Distributed Systems: Principles and Paradigms"
You can ask cellular provider to give you a SIM card with internet access and fixed IP address. Then you can host any server you like. Do not forget that you are dealing with limited bandwidth.

Resources