BINREV SPYD3R

Members
  • Content count

    3,075
  • Joined

  • Last visited

    Never
  • Days Won

    15

BINREV SPYD3R last won the day on June 7 2014

BINREV SPYD3R had the most liked content!

Community Reputation

-41 Troll

About BINREV SPYD3R

  • Rank
    I could have written a book with all of these posts

Profile Information

  • Gender
  • Country
  1. The alarm clock on my bedside table had a very loud alarm—so loud that it scared me and made my heart race when it went off. I know you're thinking I should just use an alarm on my phone, but for whatever reason I wanted to use the alarm clock. In this episode I talk about installing a resistor in the speaker wires of the alarm clock so that it won't be so loud when it goes off. It's all good now. Loud enough to wake me up, but not so loud that it scares everyone. View the full article
  2. NEW 'Off The Wall' ONLINE Posted 16 Oct, 2019 1:08:41 UTC The new edition of Off The Wall from 15/10/2019 has been archived and is now available online. "Off The Wall" - 15/10/2019 Download the torrent here!!!! View the full article
  3. Below are examples of messages shown on the screen during operation System Up (Unfortunately I didn’t get a picture of this message) Shows the unit waiting to get a wi-fi connection and get given an IP address. Unit goes to the HPR site and gets the number of days to free slot in the show queue. At the time when I took the picture the queue had a healthy 22 shows! Links to three previous shows I did that mention the Blinkstick Solving a problem I had with my Blinkstick http://hackerpublicradio.org/eps.php?id=2089 Tracking the HPR queue using python and a Blinkstick http://hackerpublicradio.org/eps.php?id=2340 Follow on to HPR2340 (Tracking the HPR queue in Python) http://hackerpublicradio.org/eps.php?id=2344 Link to Moc, Music On Console https://moc.daper.net/ Menu 0 Podcasts screens 0 [PODCASTS] 0 1 <|| PLAY/PAUSE (Toggles moc between play and Pause) 0 2 << INFORMATION(Displays information about the current track) 0 3 << (Move to previous track in playlist) 0 4 << (Move to next track in playlist) 0 5 LIGHT (Toggle back-light on LCD screen) PUSH IN TOP TOGGLE BUTTON (Seek forward or back in current track) Menu 1 Audiobooks screens 1 [AUDIOBOOKS] 1 1 <|| PLAY/PAUSE (Toggles moc between play and Pause) 1 2 << INFORMATION(Displays information about the current track) 1 3 << (Move to previous track in playlist) 1 4 << (Move to next track in playlist) 1 5 LIGHT (Toggle back-light on LCD screen) PUSH IN TOP TOGGLE BUTTON (Seek forward or back in current track) Menu 2 System screens 2 [SYSTEM] 2 1 Sys Information (System information) 2 2 WiFi (Displays WiFi inofrmation such SSID & signal strength) 2 3 HPR (Displays the number days to the next free slots on FPR que) 2 4 Not shown, (Not in use) 2 5 LIGHT (Toggle back-light on LCD screen) PUSH IN TOP TOGGLE BUTTON (Shut-down the Raspberry Pi) Infra-red Sensor Example of my Samsung TV remote control Lirc Article from Wikipedia https://en.wikipedia.org/wiki/LIRC Infra-red sensor turned on Infra-red sensor turned off Kodi article on Wikipedia, (Formerly XBMC) https://en.wikipedia.org/wiki/Kodi_(software) Example of a message being sent to the unit telling me that a backup is complete. The bright pink LED on the Blinkstick lets me know at a glance that a message has been sent to the display. EEE PC article on Wikipedia https://en.wikipedia.org/wiki/Asus_Eee_PC Switch Bounce article on Wikipedia https://en.wikipedia.org/wiki/Switch#Contact_bounce A flavour of what information is shown when the information button 2 is pushed. The picture showing the title scrolling from right to left was blurred so I didn’t include this. The menu displayed during seek, this in initiated by pushing and releasing the toggle button while either in the Podcasts main menu 0 or Audio book main menu 1. The shut-down menu this in initiated by pushing and releasing the toggle button while in the System main menu 2. View the full article
  4. The Autumn issue of 2600 is now out. And this one is pretty historic. For the first time, we're offering a brand new issue in DRM-free PDF format. This is an experiment to see if we can reach all kinds of new people - or old people we've lost touch with over the years for one reason or another. You can help by spreading the word in whatever way you can. Of course, we still have all of the other digital formats (Kindle, Nook, Google Play) plus the standard paper edition. We've also made the paper edition much easier to find. If you're in the United States, simply click here for a handy guide to all of the known stores that sell 2600. Of course, nothing beats the ease of subscribing and having issues sent directly to you. And regarding those other digital formats, you can find them all here. View the full article
  5. This episode is Part 8 of the Stardrifter role-playing game playtest. The series is composed of two playtest sessions, held earlier this year. They were recorded and chopped into manageable bites, then edited down into separate episodes. This series is meant to give listeners some insight into the RPG construction process. Playtesting is not the final step, but rather, just another stage. The construction of an RPG can be convoluted, and feedback from players is absolutely vital. In this part, the characters reevaluate their life choices, and decide that negotiation is the better part of valor! Special thanks to my playtesters: Thaj, Mark (who was playing Brinn), and X1101! View the full article
  6. In this episode, Dave and his family wander the paths of Sandall Beat Wood in Doncaster to participate in the game of Geocaching. During this time, which demonstrates an unusual level of failure in us playing the game, we try and explain what the game is all about. No, not The Game... As I explain at the beginning of the episode, this is a fairly long episode which hasn't been edited down much, so there are a lot of ambient pauses and heavy breathing to be enjoyed. Recorded in the field on my Olympus DM-3 voice recorder. Caches explored Cache 1 - GC7F8ND - not found Cache 2 - GC50TVW - not found Cache 3 - GC7KRHH - found! Links Link to photos and screenshot geocaching.com Official Geocaching App: Google Play | App Store c:geo Geocaching app: Google Play View the full article
  7. MeWe is another platform that was advertised to users left high-and-dry by the closure of Google Plus. It is not federated, but does make strong claims of privacy protection, and is the slickest alternative I have seen to Google Plus. So when Google Plus disappeared, many people moved over to this platform. https://www.zwilnik.com/?page_id=1030 Links: https://mewe.com/ https://mewepro.com/ https://mewe.com/store https://mewe.com/# https://www.zwilnik.com/?page_id=1030 View the full article
  8. NEW 'Off The Hook' ONLINE Posted 10 Oct, 2019 5:17:31 UTC The new edition of Off The Hook from 09/10/2019 has been archived and is now available online. "Off The Hook" - 09/10/2019 Download the torrent here!!!! View the full article
  9. #!/usr/bin/env python import urllib.request import json import re import subprocess # see https://www.weather.gov/documentation/services-web-api #where are we? GPS coordinates lat = 39.275235 lon = -120.9199507 #what is the user agent string? agent = "Jezra's fun lil script" #minimum wind speed in mph? min_speed = 9 def get_api_data(endpoint): print(endpoint) #prepare the connection with custom headers request = urllib.request.Request(endpoint, headers={"User-Agent":agent}) #create a handler for the request handler = urllib.request.urlopen(request) #get the text text = handler.read() #parse the json text to a python object obj = json.loads(text) return obj def wind_is_good(s): #use regex to find the matches matches = re.findall("[0-9]+",s) for match in matches: #convert string to int m = int(match) #is the speed good? if(m>=min_speed): return True #if we get here, there is no match :( return False start_url = "https://api.weather.gov/points/{0},{1}".format(lat,lon) #get the json response from the start_url as a python object obj = get_api_data(start_url) #get the forecast url from the returned data forecast_url = obj['properties']['forecast'] # process the forecast url forecast = get_api_data(forecast_url) #loop through the forcast periods for period in forecast['properties']['periods']: #put name and windspeed into easier to handle variable names name= period['name'] wind = period['windSpeed'] print (name, wind) #check the wind speed if wind_is_good(wind): subprocess.call(["textjezra","{0}: {1}".format(name,wind)]) View the full article
  10. NEW 'Off The Wall' ONLINE Posted 09 Oct, 2019 2:28:21 UTC The new edition of Off The Wall from 08/10/2019 has been archived and is now available online. "Off The Wall" - 08/10/2019 Download the torrent here!!!! View the full article
  11. Intro We’re going to have a look how to select random item from weighted list. There isn’t that much code this time, but it certainly took many tries to get it working and looking nice. Analogy Imagine stack of building blocks of different heights stacked on top of each other. Height of the each block is chance of how often it will be selected. Selection is done by chopping a stick so that its length at maximum is height of the stack. Place stick next to the stack and select the block that stick reaches at. Explanation of algorithm We have list of items and associated weight, defined as Frequency a = Frequency Int a. Total is sum of all the weights and we select a random number n between 1 and total. pick function has signature of [Frequency a] -> n -> Maybe a. Empty list will result Nothing. When picking item, if n is equal or less than weight of the first item, return that item. Otherwise, drop the first item, subtract weight of that first item from n and try again. Eventually we either arrive to item which weight is greater than n or to empty list. Quick detour on random number generators Haskell functions are pure, meaning that with same input, you are guaranteed to get the same output (safe for some specific cases). Which makes concept of random numbers at first glance to be impossible. This is solved by passing in a random number generator, which can supply you a random value a new random number generator. Using this new random number generator to generate a value yields you a yet another value and yet another random number generator. Passing these random number generators around in code gets tedious, but there’s different solution: MonadRandom. Using it will thread along generators automatically behind the scenes, ensuring that you always have access to a fresh generator. There’s several functions that can be used to generate random values, but we’re using this one: getRandomR :: Random a => (a, a) -> m a. Given a lower and upper bound, it will return you a random value wrapped in context that carries that new random number generator. In the end, we need to take our computation (that can be complex and use multiple calls to random number generator) and turn that m a into a. This is done with runRand :: RandomGen g => Rand g a -> g -> (a, g). We give it our computation and a RandomGen g that can generate random values and receive (a, g) where a is our result and g new random number generator. In cases where we aren’t going to use the new generator, we can use evalRand :: RandomGen g => Rand g a -> g -> a, which discards it and returns just a. Actual implementation with explanation First, Frequency for expressing weight of individual item. It’s parametrized, so can be used with any data. data Frequency a = Frequency Int a deriving (Show, Read, Eq) Next, determining which item to choose, based on stack and measuring stick. In case a value outside of valid range has been selected, we end up with Nothing, otherwise with Just a. First case is for empty list (either we called this originally with empty list or picked number that is greater than total sum of weights), second one either picks the first item of list or recursive calls itself removing first item. pick :: [Frequency a] -> Int -> Maybe a pick [] _ = Nothing pick (Frequency x item:xs) i | i <= x = Just item | otherwise = pick xs (i - x) Finally, function for calculating total of weights and choosing random number. We’re using that Rand g (Maybe a) I explained earlier. First case is for empty list again and latter case for list with at least one item. choose :: RandomGen g => [Frequency a] -> Rand g (Maybe a) choose [] = return Nothing choose items = do let total = sum $ fmap (\(Frequency x _) -> x) items n <- getRandomR (1, total) return $ pick items n Notice how we can get random number by n <- getRandomR (1, total), without talking about generators. MonadRandom is handling generators and making sure that there’s always a fresh generator available and new generator is stored ready to be used. And that’s all the code this time (I told the amount of code is small this time). In closing This probably sounds a lot more complicated than it actually is. I arrived to the result after quite many detours, but the end result looks pretty nice. Next time we’re going to have a look where to use our choose function. In the meantime, questions, comments and feedback are welcomed. Best way to reach me is email or fediverse where I’m tuturto@mastodon.social. Or even better, record your own Hacker Public Radio episode. View the full article
  12. This is an experiment to see if we can offset the many challenges faced by trying to get a paper magazine into stores worldwide. If successful, this can solve these problems and ensure the future of both the paper and electronic versions of the magazine. We've made it as easy and as cheap as we can. Please support our efforts, spread the word, and buy the new issue! Click here to begin. View the full article
  13. This episode is Part 7 of the Stardrifter role-playing game playtest. The series is composed of two playtest sessions, held earlier this year. They were recorded and chopped into manageable bites, then edited down into separate episodes. This series is meant to give listeners some insight into the RPG construction process. Playtesting is not the final step, but rather, just another stage. The construction of an RPG can be convoluted, and feedback from players is absolutely vital. In this part, the characters make some new friends who show them their guns! Bonus Fun: I make tons of mistakes reading my own rules! Special thanks to my playtesters: Thaj, Mark (who was playing Brinn), and X1101! View the full article
  14. On the morning of October 7, 2019, staffers at WBAI in New York were locked out and all programming suspended. According to the Pacifica Foundation (parent of WBAI), this was done due to "serious and persistent financial losses at WBAI." This necessitated the foundation laying off all the staff. But, as with most things, it's not quite that simple. For one, the implication that WBAI is responsible for all of Pacifica's financial woes is simply not true. There has long been hostility towards WBAI from other members of the network who believe that too much money is being spent on New York rents and that selling the station's valuable license could benefit the rest of the network. However, many of the problems WBAI has faced in recent years came about as a direct result of Pacifica actions. For instance, WBAI's recent financial crisis caused by being locked into an exhorbitant transmitter lease to the Empire State Building only happened because Pacifica signed that lease. There are numerous other examples, but the point is that it's inaccurate and unfair to blame one station for problems that the entire network is responsible for. We also question the wisdom of suspending all programming at the beginning of a month-long fund drive. So for now, "Off The Hook" is off the air. Yes, we can always do a podcast, but we're a radio show and half the magic is reaching those people who aren't on the net while also talking to those who are. We intend to fight to preserve that. We hope you join us. View the full article
  15. New hosts There were no new hosts this month. Last Month's Shows Id Day Date Title Host 2891 Mon 2019-09-02 HPR Community News for August 2019 HPR Volunteers 2892 Tue 2019-09-03 Stardrifter RPG Playtest Part 02 lostnbronx 2893 Wed 2019-09-04 Whats in the box! Part 2 NYbill 2894 Thu 2019-09-05 Repairing a Musical Instrument Case Jon Kulp 2895 Fri 2019-09-06 The work of fire fighters, part 2 Jeroen Baten 2896 Mon 2019-09-09 Orange PI Zero LTS version JWP 2897 Tue 2019-09-10 Stardrifter RPG Playtest Part 03 lostnbronx 2898 Wed 2019-09-11 Modeling people in space game tuturto 2899 Thu 2019-09-12 Endeavour OS Tony Hughes AKA TonyH1212 2900 Fri 2019-09-13 Better Social Media 01 - Introduction Ahuka 2901 Mon 2019-09-16 Describing how I listen to podcasts PART 3 MrX 2902 Tue 2019-09-17 Stardrifter RPG Playtest Part 04 lostnbronx 2903 Wed 2019-09-18 What is PMEM JWP 2904 Thu 2019-09-19 DIY URL shortening klaatu 2905 Fri 2019-09-20 Two HPR hosts living in the same region finally meet up! Dave Morriss 2906 Mon 2019-09-23 Feature Engineering for Data-Driven Decision Making b-yeezi 2907 Tue 2019-09-24 Stardrifter RPG Playtest Part 05 lostnbronx 2908 Wed 2019-09-25 Modeling opinions in space game tuturto 2909 Thu 2019-09-26 ONICS Basics Part 3: Networking Fundamentals Gabriel Evenfire 2910 Fri 2019-09-27 Better Social Media 02 - Pluspora Ahuka 2911 Mon 2019-09-30 my internet connection Jezra Comments this month These are comments which have been made during the past month, either to shows released during the month or to past shows. There are 17 comments in total. Past shows There are 3 comments on 3 previous shows: hpr1328 (2013-09-04) "A Hacker's Perspective On Schizophrenia " by sigflup. Comment 6: Vegewurst on 2019-09-06: "Insightful" hpr2844 (2019-06-27) "The Sony TC-222-A Portable Reel-To-Reel Tape Recorder" by Jon Kulp. Comment 1: Michael on 2019-09-29: "Muffled sound because of low path filtering." hpr2881 (2019-08-19) "Automatically split album into tracks in Audacity" by Ken Fallon. Comment 2: Hipstre on 2019-09-01: "2881 - Audacity: Split Album into Tracks" This month's shows There are 14 comments on 9 of this month's shows: hpr2891 (2019-09-02) "HPR Community News for August 2019" by HPR Volunteers. Comment 1: Ken Fallon on 2019-09-02: "Where was Ken ?" Comment 2: Jon Kulp on 2019-09-03: "Heroic effort!" Comment 3: Dave Morriss on 2019-09-04: "Thanks Jon" hpr2893 (2019-09-04) "Whats in the box! Part 2" by NYbill. Comment 1: timttmy on 2019-09-05: "Trem pedal" Comment 2: Jon Kulp on 2019-09-06: "No delay" Comment 3: NYbill on 2019-09-07: "Hit and Miss" hpr2895 (2019-09-06) "The work of fire fighters, part 2" by Jeroen Baten. Comment 1: Ken Fallon on 2019-09-06: "Very dissapointed" Comment 2: Steve on 2019-09-10: "Volunteer Firefighters" hpr2903 (2019-09-18) "What is PMEM" by JWP. Comment 1: archer72 on 2019-09-27: "Awesome" hpr2904 (2019-09-19) "DIY URL shortening" by klaatu. Comment 1: tuturto on 2019-09-23: "clever" hpr2906 (2019-09-23) "Feature Engineering for Data-Driven Decision Making" by b-yeezi. Comment 1: archer72 on 2019-09-27: "Nice show" hpr2907 (2019-09-24) "Stardrifter RPG Playtest Part 05" by lostnbronx. Comment 1: archer72 on 2019-09-27: "Nice series" hpr2909 (2019-09-26) "ONICS Basics Part 3: Networking Fundamentals" by Gabriel Evenfire. Comment 1: archer72 on 2019-09-27: "Interesting" hpr2910 (2019-09-27) "Better Social Media 02 - Pluspora" by Ahuka. Comment 1: archer72 on 2019-09-27: "Nice show" Mailing List discussions Policy decisions surrounding HPR are taken by the community as a whole. This discussion takes place on the Mail List which is open to all HPR listeners and contributors. The discussions are open and available on the HPR server under Mailman. The threaded discussions this month can be found here: http://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2019-September/thread.html Events Calendar With the kind permission of LWN.net we are linking to The LWN.net Community Calendar. Quoting the site: This is the LWN.net community event calendar, where we track events of interest to people using and developing Linux and free software. Clicking on individual events will take you to the appropriate web page. Any other business Tags and Summaries Thanks to the following contributor for sending in updates in the past month: windigo Over the period tags and/or summaries have been added to 1 show which was without them. If you would like to contribute to the tag/summary project visit the summary page at https://hackerpublicradio.org/report_missing_tags.php and follow the instructions there. Change to the Missing Tags document The section of this document which lists all of the tags currently in the system has been made more accessible. If you know of a tag in the system and you want to find out how many instances there are and which shows use them you can construct a query of the form: https://hackerpublicradio.org/report_missing_tags.php#vim This would look for the tag 'vim' and position the page at the relevant place. If the tag you are looking for contains spaces, you need to replace them with underscores. So to look for the tag 'vietnamese stringed instruments' your query would have to be: https://hackerpublicradio.org/report_missing_tags.php#vietnamese_stringed_instruments View the full article