[HN Gopher] City of Bloomington's Raspberry Pi Based Employee Ti...
       ___________________________________________________________________
        
       City of Bloomington's Raspberry Pi Based Employee Timeclocks
        
       Author : ethanpil
       Score  : 53 points
       Date   : 2021-07-08 20:16 UTC (2 hours ago)
        
 (HTM) web link (city-of-bloomington.github.io)
 (TXT) w3m dump (city-of-bloomington.github.io)
        
       | jazzyjackson wrote:
       | I have a similar project I need to decide how to do, basically
       | have the Pi host a website whose data is updated by tapping an
       | NFC card.
       | 
       | I can't tell what part of this code interacts with RFID, maybe it
       | will give me some ideas of how to do it, is it all happening
       | through writing events to a CSV that the web interface reads
       | from?
        
       | user3939382 wrote:
       | I previously bought this thing:
       | https://smile.amazon.com/gp/product/B0155NL3MA
       | 
       | Added ISO 14443 to it via an unused internal USB port I found
       | once I cracked it open. Got Dropbear SSH running on the embedded
       | Linux it was using. I think I originally rooted it by removing
       | its internal SD card and fooling with the file system.
        
       | adolph wrote:
       | _Timetrack is a web application to handle an organization 's
       | employees' time keeping data. It is designed so that some
       | employees will use their ID card to scan their clock-in and
       | clock-out times. Others will be able to enter their time-in and
       | time-out using the web interface directly. The system is designed
       | to have two level approval process. The first is the group
       | manager approval then the final approval is the director approval
       | named 'Payroll Process Approval'. Currently the application
       | handles two weeks pay period._
       | 
       | https://github.com/City-of-Bloomington/timetrack
       | 
       | Edit: I started to wonder, isn't time keeping a solved problem
       | with many commercial vendors and maybe even established open
       | source? Why would a city roll their own? Does that make them more
       | of a hack target (internally developed software weaknesses) or
       | less (not being part of a monocoulture of zero-days)? What are
       | their plans for long term (20+ years) maintenance?
       | 
       | City-of-Bloomington/timetrack is licensed under the GNU General
       | Public License v2.0
       | 
       | https://github.com/City-of-Bloomington/timetrack/blob/master...
        
         | EvanAnderson wrote:
         | The time tracking services and software I've worked with make
         | their money by scaring employers re: regulatory compliance
         | ("Subscribe to our service and we'll keep you legal w/ local HR
         | laws...") or by making time tracking part of a larger suite of
         | HR products.
        
         | andscoop wrote:
         | I don't think it's mentioned explicitly anywhere, but
         | Bloomington Indiana is a college town and Indiana University
         | has sought after computer science, informatics, business and
         | public affairs programs.
         | 
         | I don't know that this is the case, but I'd be surprised if
         | this project didn't have student involvement (aka cheap labor)
         | that helped justify rolling their own.
        
         | yeuxardents wrote:
         | In my experience its one of those solved problems where only a
         | handful of products do it well, and well = pretty terrible for
         | anyone SMB.
        
           | xupybd wrote:
           | Or it's terribly expensive. We just ripped ours out when the
           | cost got to $600 USD per month. We were just clocking in and
           | out factory workers.
           | 
           | We now use a pen and paper. I've looked at open source
           | options, the landscape is not great.
        
           | da_chicken wrote:
           | Yes, speaking with experience from a public K-12, timeclocks
           | and timekeeping is an industry where $$ gets you something
           | that claims to do everything but actually does nothing but
           | fail or cause problems, $$$ gets you something that's
           | stripped down total crap that can be made to work after
           | modest concessions, and $$$$$$$$$ gets you something that
           | does what you want reliably.
           | 
           | It's not hard, but everyone who can do it well has noticed
           | what their competition is charging and followed suit.
        
       | alias_neo wrote:
       | I love the lengths it went to explain how to flash the microSD,
       | connect the ribbon cable for the display driver board and then
       | skipped over almost everything different and interesting about
       | the project.
        
         | xupybd wrote:
         | It looks like that page is just a setup guide. At least it's
         | linked as a setup guide on the GitHub page.
        
       | tyingq wrote:
       | I'm curious how an RFID reader works in a "not clunky" way since
       | the application is delivered via a web browser. I'm assuming the
       | RFID reader is just showing up as a virtual keyboard in this kind
       | of setup.
       | 
       | Do the employees have to click on a form field before swiping
       | their badge, etc?
       | 
       | Or maybe there's something like the RFID reader sending an
       | unusual keycode that an event handler in the browser can wait
       | for?
        
         | zeusk wrote:
         | My university had this, and you're right.
         | 
         | When I tap the ID card, it would just blurt out my uni ID
         | number in whichever field had the focus.
        
       | Havoc wrote:
       | Excellent. I think rasps could do a lot more if knowledge of them
       | and basic programming was more common. Plus a ton of my *nix
       | learning was rasp based since wiping an SD card is easier than
       | having hardware & understanding for VMs.
       | 
       | I do wonder at use of SD card in any sort of production
       | environment. I've got half a dozen rasps and a dozen+ sd
       | cards...and well it's been patchy. Sometimes it lasts sometimes
       | not with no obvious pattern.
       | 
       | I don't mind that SD card are slow AF, but really feel the rasp
       | could have been taken to the next level with a better
       | (reliability) storage solution.
        
         | dan_quixote wrote:
         | I've seen success using RAMDisk instead of running entirely on
         | SD card
        
         | 908B64B197 wrote:
         | Use it in read-only mode and have durable writes go to the
         | cloud. Better, have all your software already packaged to the
         | image you'll flash on the SD card.
         | 
         | https://learn.adafruit.com/read-only-raspberry-pi/
        
       | spicybright wrote:
       | Too bad it's a Pi inside. Give it a few years and most will fail
       | from bad SD cards... A cheap consumer tablet will keep ticking
       | for years.
        
         | amiga-workbench wrote:
         | Can't the Pi boot off a network?
        
           | syntheticnature wrote:
           | Indeed it can!
        
         | jazzyjackson wrote:
         | ...so it's a good thing the part that wears out is the easiest
         | thing in the world to replace, right?
        
         | SahAssar wrote:
         | Cheap tablets use eMMC so they use the exact same storage
         | technology with the same problems.
        
         | qbasic_forever wrote:
         | You can directly boot a Pi from USB now with the Pi 4. Switch
         | to a SSD and you won't worry about SD card corruption as much.
         | The bigger issue is that you need to cleanly shutdown any
         | embedded system instead of just yanking or hard cutting power--
         | flash memory and filesystems need time to sync. The Pi is no
         | more or no less susceptible to this problem.
         | 
         | Also you're comparing to a tablet, a device with a _built in
         | battery_ that prevents hard power loss in 99% of circumstances.
         | Just because you press the power button on your tablet does not
         | mean it is immediately cutting power to the device. If you add
         | a battery backup and soft power switch to the Pi you would be
         | just as reliable as a tablet. If you remove the battery from a
         | tablet and hard cut the power, you can just as easily corrupt
         | its flash memory filesystem.
        
           | nightfly wrote:
           | Any serious embedded system should designed with minimal
           | writable data: ro os and minimal writable data partitions.
           | And at a minimum do manual syncs. Hopefully using a data
           | storage system that in the worst case you lose a few records
        
         | devmor wrote:
         | Oh no, an easily-replaceable $10 part will fail instead of
         | having to pay a vendor thousands to replace an entire unit?
         | What a problem.
        
         | recursive wrote:
         | So it will fail after the same length of time that a consumer
         | tablet will keep ticking?
         | 
         | FWIW, I use an ipad to enter a code at my kids' pre-school. The
         | screens are frequently messed up.
        
       | rubicks wrote:
       | What happens when one of these devices is admitted as trial
       | evidence? Is there a hardware root of trust that can be used for
       | cryptographic verification? Has anyone succeeded in doing trusted
       | boot on a Raspberry Pi?
        
       | thedanbob wrote:
       | I made similar units for my org to replace the old iPod Touch
       | units, most of which were suffering from swollen batteries. The
       | cheap touchscreens I used tend to only last a year or two but
       | they're only ~$30 on Amazon. So far no SD cards have failed.
        
       | EvanAnderson wrote:
       | Time clocks are a terrible racket. The hardware is ridiculously
       | overpriced, and most of of the units I've seen are tremendously
       | low-tech (a microcontroller w/ a no-name serial-to-Ethernet or
       | serial-to-Wi-Fi board strapped to it). They speak ugly
       | undocumented binary protocols and, increasingly, are tied to ugly
       | web-based hosted subscription services.
        
         | swamp40 wrote:
         | What is your idea of a beautiful protocol/method?
        
           | EvanAnderson wrote:
           | Something documented. Binary is fine. Text is fine. Document
           | it.
        
         | xnyan wrote:
         | Often once it's established that X costs Y, it's very easy to
         | just keep writing the check especially when it's probably not a
         | huge expense relative to revenue and the risk of getting in
         | trouble if the change goes wrong.
         | 
         | In this specific case, I worked with one of the large
         | manufacturers (hi Khronos) and this is their customer:
         | clocking-in is not your business, your business is selling
         | something or running a hospital or whatever and clocking-in is
         | a problem you that want to solve by writing a check. Not by
         | hiring staff to set up or replace broken units (you generally
         | pay a vendor for this) or adding any other overhead to your
         | operation besides a check, and this is a service Khronos would
         | love to charge you for.
         | 
         | Also on a human level, Khronos and orgs like them tend to have
         | a good sales staff that are talented at knocking on the door.
         | Lower-margin sellers can't afford to compete with the
         | (expensive) talents of a good salesperson. Cisco is the gold
         | standard of this behavior, there are almost always cheaper
         | options that will work as well, but as they say, nobody got
         | fired for buying IBM/Cisco and their sales reps skillfully
         | deploy steak dinners and golf trips to IT execs with great
         | success.
        
       ___________________________________________________________________
       (page generated 2021-07-08 23:00 UTC)