• Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by BINREV SPYD3R

  1. The Quantum Computer is supposed to be a game changer that renders encryption useless. But is this true? We look at how quantum computing will affect encryption going forward, and show that we are already working on quantum-resistant encryption. Links: View the full article
  2. NEW 'Off The Hook' ONLINE Posted 18 Jul, 2019 4:41:57 UTC The new edition of Off The Hook from 17/07/2019 has been archived and is now available online. "Off The Hook" - 17/07/2019 Download the torrent here!!!! View the full article
  3. Hacker Public Radio New Years Show episode 7 Welcome to the 7th Annual Hacker Public Radio New Years Show. 2018-2019 Trucking Patrick Stewart and Bret Spiner Self Defense The origin of Irish coffee Calendars Sleep The Pine Book Guns Tanks AmazFit Bip Canes View the full article
  4. NEW 'Off The Wall' ONLINE Posted 17 Jul, 2019 2:08:14 UTC The new edition of Off The Wall from 16/07/2019 has been archived and is now available online. "Off The Wall" - 16/07/2019 Download the torrent here!!!! View the full article
  5. This episode is about modeling vehicle designer that can be used to design all kinds of vehicles available in the game. It relates to episode about performing research. Major parts Two major parts about vehicle designer are components and chassis. Components are modular pieces of vehicle that are assembled on chassis. They can, among other things, be things lie star sails, astrolabe navigators or long range sensor. Each component is defined by two values ComponentId and ComponentLevel. If you know these two values, you’ll be able to find out details of the component. ComponentId tells what component it is and ComponentLevel the general knowledge of it. When component is first discovered as a result of research, it’s just a prototype and as a such doesn’t function particularly well. Further research refines it and factories are able to produce higher quality components. Full definition of component is show below: data Component = Component { componentId :: ComponentId , componentLevel :: ComponentLevel , componentName :: ComponentName , componentDescription :: ComponentDescription , componentWeight :: Weight , componentSlot :: ComponentSlot , componentType :: [ ComponentPower ] , componentCost :: RawResources ResourceCost , componentChassisType :: ChassisType } deriving (Show, Read, Eq, Ord) Two particularly interesting fields are componentSlot and componentType. componentSlot has type of ComponentSlot and defines what kind of slot the component occupies in chassis. As there are limited amount of slots in each chassis, designer needs to make compromises on what components to install. componentType has type of ComponentPower, which defines what component does in general. It could be sensor or provide supplies for the vehicle for example. Technology requirements are defined by function: componentRequirements :: ComponentId -> Maybe Technology. It defines which technology unlock a given component. Part of the definition is show below. Each and every ComponentId has to be handled. componentRequirements ShipLongRangeSensors = Just HighSensitivitySensors componentRequirements ShipBridge = Nothing componentRequirements VehicleWheeledMotiveSystem = Nothing componentRequirements VehicleHoverMotiveSystem = Just HoverCrafts ... Second major part of the designer are chassis. They’re stored in database, as I wanted a bit more flexible system than hardcoding as I did with components. Following piece of configuration is used to define database table and generated data for Haskell code. Most of the fields are probably easy enough to guess. type with type of ChassisType defines if this particular chassis is for example a land vehicle or a space ship. Various slot fields on other hand define amount of particular slots that the chassis offers. Chassis json name ChassisName tonnage Weight type ChassisType technology Technology Maybe armourSlots SlotAmount innerSlots SlotAmount outerSlots SlotAmount sensorSlots SlotAmount weaponSlots SlotAmount engineSlots SlotAmount motiveSlots SlotAmount sailSlots SlotAmount deriving Show Read Eq Not all chassis are equal and some (probably pretty much every one of them) have some sort of requirements that has to be fulfilled when designing a vehicle. For example, space ships require a bridge for captain and star sails. Bawley, smallest of the working ships has room for two star sails, but requires only one of them to be installed in order to be a valid design. Flyboat on the other hand is smaller ship built for speed and always requires two set of sails. This data is stored in required_component table and represented as RequiredComponent data. Both are generated from the definition show below: RequiredComponent json chassisId ChassisId componentType ComponentType level ComponentLevel amount ComponentAmount deriving Show Read Eq Designing a vehicle With all that data, we can now design a vehicle. Process is roughly the following: based on completed research, get a list of chassis that are available select chassis from the list based on the selected chassis and completed research, get a list of components that are available select components to install remember to check that maximum tonnage isn’t exceeded and that there’s enough slots and requirements are met fill in name save into database Completed design is saved in two different tables. First one design holds info like name of the design, faction that design belongs to and used chassis. planned_component holds info about which components are planned to be installed and in what quantity. Design json name Text ownerId FactionId chassisId ChassisId deriving Show Read Eq and PlannedComponent json designId DesignId componentId ComponentId level ComponentLevel amount ComponentAmount deriving Show Read Eq As a little teaser, below is an screenshot of what the vehicle designer currently looks like. Finally Thanks for interest. If you have questions or comments, best way to reach me nowadays is either by email or in fediverse, where I’m View the full article
  6. Bitcorn is an idle farming game created with and played using Bitcoin tokens using the CounterParty protocol. I’ll walk you through how it all works, how to get started and what all that means. In this episode we’ll walk through the basics of creating and submitting a Bitcorn collectible card to be included in the game, along with setting up a wallet so you can buy and sell them. View the full article
  7. You can also use call forwarding to forward calls to your google voice number. Mint does not seem to stay connected all the time. View the full article
  8. Hacker Public Radio New Years Show episode 6 Welcome to the 7th Annual Hacker Public Radio New Years Show. 2018-2019 The Makerz Podcast Tronxy X1 SBC talk Apple Talk Linux on mobile more 3d printing talk new years food traditions Cats The Last Centurion View the full article
  9. Hacker Public Radio New Years Show episode 6 Welcome to the 7th Annual Hacker Public Radio New Years Show. 2018-2019 The Makerz Podcast Tronxy X1 SBC talk Apple Talk Linux on mobile more 3d printing talk new years food traditions Cats The Last Centurion View the full article
  10. NEW 'Off The Hook' ONLINE Posted 11 Jul, 2019 5:17:45 UTC The new edition of Off The Hook from 10/07/2019 has been archived and is now available online. "Off The Hook" - 10/07/2019 Download the torrent here!!!! View the full article
  11. Source for In The Morning: Bottle Framework: View the full article
  12. NEW 'Off The Wall' ONLINE Posted 10 Jul, 2019 0:49:01 UTC The new edition of Off The Wall from 09/07/2019 has been archived and is now available online. "Off The Wall" - 09/07/2019 Download the torrent here!!!! View the full article
  13. Links View the full article
  14. It's summer once more and the Summer issue of 2600 is out. If you subscribe to us, then an issue could very well already be in your possession. If you want to become a part of that elite group of people, just click here and actual physical issues that last forever will start coming your way. (You can also use that link to renew an existing subscription.) If you can find a bookstore, then you can probably find us inside of one, as well as at many magazine stands. And you can always go the digital route. If you have a Kindle, it's easy to subscribe in both the U.S. and U.K. (Individual issues are available elsewhere.) We're also available on the Barnes and Noble Nook. For those of you confused about what happened to our Google Play subscriptions, welcome to the club. Google once again changed something on their end without letting us know. As soon as we have the correct info, we'll post it here. Meanwhile, visit our digital edition guide to see what's available in the many formats we offer. View the full article
  15. Introduction This is the sixteenth and final episode of the 'Learning Awk' series which is being produced by b-yeezi (BY) and Dave Morriss (DM). We are using this as an opportunity to have a round-table discussion about the series, about Awk, and where we recommend the listeners should go from here. Including this one we have produced 16 episodes covering the features most likely to be used in pipelines on the command line or in simple shell and awk scripts. Note that although the HPR site will list this episode as having a single host, in fact it has two! Plans are afoot to enhance the HPR database so we can eventually indicate this properly. Topics Discussed The series Started in 2016 (first show released 2016-07-13) Finishing in 2019 16 episodes in total Why are we finishing the series? We have probably reached the limit of what is useful on the command line or in shell scripts or even in manageable-sized Awk scripts Awk shows its limitations as we go on and doesn’t compare well with more modern text processing languages Our personal experiences with Awk BY: Started with sed and awk when first moving to Linux in 2011 (ongoing) Exploring and cleaning client data (ongoing) Personal scripts when adding python or other tool would be overkill DM: Working with VAX/VMS in the 1980’s. No very good text processing features built-in, so Gnu Awk (and sed) was a great way to handle the data we were using to generate accounts for new students each year. Could easily spot bad records, do some data validation (for example impossible dates of birth). Later in the late 1980’s and early 1990’s more Unix systems came on the scene running HP-UX, Ultrix, SunOS, Solaris, OSF/1, True64 Unix, and awk was very much used there. Later still we moved to Linux; initially Fedora but later RHEL, and of course awk figured in the list of tools there as well. What have we left out? Why? User-defined functions are pretty clunky and hard to use Multi-dimensional arrays: other languages do this better Internationalization: assumes you’re writing big awk programs The gawk debugger: quite clever but probably overkill for this series Extensions written in C and C++: some come with gawk and look quite good, but this subject is out of scope What to use as an alternative to Awk? DM moved from gawk to Perl (version 4) in the 1980’s and later to Perl version 5. This might have engendered an awky, Bashy mindset that’s hard to shake off. Not the recommended place to start these days. BY moved from gawk to Python and R for large projects. For interactive Bashy exploration, moved to XSV, q, and csv-kit for most use cases. These tools have built-in convenience features, like accounting for headers, data types, and file encodings What’s next? It is planned to turn the notes for this series into a combined document which will be available on the HPR site and on There is no timescale for this at the moment Links GNU Awk User’s Guide Internationalization with gawk A proof that Unix utility sed is Turing complete Mutagen - discussed as an alternative way to access audio metadata (tags) from Python XSV csvkit Run SQL on CSV files with q Links to all of the shows in this series on HPR: Gnu Awk - Part 1 - episode 2114 Gnu Awk - Part 2 - episode 2129 Gnu Awk - Part 3 - episode 2143 Gnu Awk - Part 4 - episode 2163 Gnu Awk - Part 5 - episode 2184 Gnu Awk - Part 6 - episode 2238 Gnu Awk - Part 7 - episode 2330 Gnu Awk - Part 8 - episode 2438 Gnu Awk - Part 9 - episode 2476 Gnu Awk - Part 10 - episode 2526 Gnu Awk - Part 11 - episode 2554 Gnu Awk - Part 12 - episode 2610 Gnu Awk - Part 13 - episode 2804 Gnu Awk - Part 14 - episode 2816 Gnu Awk - Part 15 - episode 2824 Gnu Awk - Part 16 - episode 2852 View the full article
  16. Some general basic knowledge of fire fighting. Also an invitation to ask questions in the comments. View the full article
  17. The National Institute of Standards and Technology of the US Government issued the NIST Cybersecurity Framework, which has recommendations for private companies and mandates for U.S. Government agencies. For people who work in information security in an Enterprise environment, this framework may be of interest, so we will take a walk through it. Links: View the full article
  18. NEW 'Off The Hook' ONLINE Posted 04 Jul, 2019 2:49:26 UTC The new edition of Off The Hook from 03/07/2019 has been archived and is now available online. "Off The Hook" - 03/07/2019 Download the torrent here!!!! View the full article
  19. Hacker Public Radio New Years Show episode 5 Welcome to the 7th Annual Hacker Public Radio New Years Show. 2018-2019 Sans Holiday Hack Challenge Hack The Box Over the Wire Under the Wire Gnome Boxes Talking about headsets Mobile operating systems Plasma Mobile Kansas Linux Fest FreeNas Talking Desktop Environments GPD mini laptops Gemini PDA usb-c Talking uefi Boxing day UK vs US More Brexit talk year 2038 problem LXQT desktop Enlightenment desktop gnome boxes View the full article
  20. NEW 'Off The Wall' ONLINE Posted 03 Jul, 2019 1:18:49 UTC The new edition of Off The Wall from 02/07/2019 has been archived and is now available online. "Off The Wall" - 02/07/2019 Download the torrent here!!!! View the full article
  21. There’s lots of random and similar sounding words in this episode. I hope you can still follow what I’m trying to explain, but I’m aware that it might be hard. Haskell functions are pure, meaning that they will always produce same values for same set of arguments. This might sound hard when you want to generate random numbers, but it turns out that the solution isn’t too tricky. First part to the puzzle is type class RandomGen: class RandomGen g where next :: g -> (Int, g) genRange :: g -> (Int, Int) split :: g -> (g, g) next produces tuple, where first element is random Int and second element is new random generator. genRange returns tuple defining minimum and maximum values this generator will return. split produces tuple with two new random generators. Using RandomGen to produce random values of specific type or for specific range requires a bit of arithmetic. It’s easier to use Random that defines functions for that specific task: class Random a where randomR :: RandomGen g => (a, a) -> g -> (a, g) random :: RandomGen g => g -> (a, g) randomRs :: RandomGen g => (a, a) -> g -> [a] randoms :: RandomGen g => g -> [a] randomRIO :: (a, a) -> IO a randomIO :: IO a randomR, when given range and random generator, produces tuple with random number and new generator random, is similar but doesn’t take range. Instead it will use minimum and maximum specific to that data type randomRs, takes range and produces infinite list of random values within that range randoms, simply produces infinite list of random values using range that is specific to datatype randomRIO and randomIO are effectful versions that don’t need random generator, but use some default one In short, RandomGen is source of randomness and Random is datatype specific way of generating random values using random generator RandomGen. Final part of the puzzle is where to get RandomGen? One could initialize one manually, but then it wouldn’t be random. However, there’s function getStdGen that will seed RandomGen using OS default random number generator, current time or some other method. Since it has signature of getStdGen :: IO StdGen, one can only call it in IO monad. Functions that operate with IO can only be called from other IO functions. They can call pure functions, but pure functions can’t call them. So there’s two options: have the code that needs random numbers in effectful function or get RandomGen in effectful function and pass it to pure function. Example import System.Random import Data.List -- | get n unique entries from given list in random order -- | if n > length of list, all items of the list will be returned getR :: RandomGen g => g -> Int -> [a] -> [a] getR g n xs = fmap (xs !!) ids where ids = take (min n $ length xs) $ nub $ randomRs (0, length xs - 1) g -- | Returns 4 unique numbers between 1 and 10 (inclusive) test :: IO [Int] test = do g <- getStdGen return $ getR g 4 [1..10] In closing Pseudo randomness doesn’t require IO, only seeding the generator does. Simple computation that don’t require many calls to random are easy enough. If you need lots of random values, MonadRandom is better suited. It takes care of carrying implicit RandomGen along while your computation progresses. Best way to catch me nowadays is either email or fediverse where I’m View the full article
  22. operat0r discusses his trials with earbuds and custom setups. View the full article
  23. New hosts Welcome to our new host: Shannon Wright. Last Month's Shows Id Day Date Title Host 2826 Mon 2019-06-03 HPR Community News for May 2019 HPR Volunteers 2827 Tue 2019-06-04 Unscripted ramblings from my garage about my first CTF event Christopher M. Hobbs 2828 Wed 2019-06-05 Writing Web Game in Haskell - Science, part 2 tuturto 2829 Thu 2019-06-06 Discussion around fair use clips on HPR Various Hosts 2830 Fri 2019-06-07 HPR NYE Show 2018-2019 part 1 Honkeymagoo 2831 Mon 2019-06-10 Interview with Robbie Ferguson Yannick 2832 Tue 2019-06-11 How I got started in Linux Shannon Wright 2833 Wed 2019-06-12 Jeroen chats with Joep Piscaer Jeroen Baten 2834 Thu 2019-06-13 My favorite desktop and android applications Christopher M. Hobbs 2835 Fri 2019-06-14 HPR NYE Show 2018-2019 part 2 Honkeymagoo 2836 Mon 2019-06-17 Interview with Wendy Hill Yannick 2837 Tue 2019-06-18 parallax live desktops in android operat0r 2838 Wed 2019-06-19 Why Haskell? tuturto 2839 Thu 2019-06-20 Sample episode of the Distrohoppers Digest podcast Ken Fallon 2840 Fri 2019-06-21 HPR NYE Show 2018-2019 part 3 Honkeymagoo 2841 Mon 2019-06-24 How I got into Linux (and then some...) Christopher M. Hobbs 2842 Tue 2019-06-25 What's in my Bag an update to hpr2065 Tony Hughes AKA TonyH1212 2843 Wed 2019-06-26 Afrikan Tähti (or Star of Africa) tuturto 2844 Thu 2019-06-27 The Sony TC-222-A Portable Reel-To-Reel Tape Recorder Jon Kulp 2845 Fri 2019-06-28 HPR NYE Show 2018-2019 part 4 Honkeymagoo 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 19 comments in total. Past shows There is 1 comment on 1 previous show: hpr2807 (2019-05-07) "Are bash local variables local?" by clacke. Comment 1: Dave Morriss on 2019-06-06: "Thanks for this" This month's shows There are 18 comments on 8 of this month's shows: hpr2827 (2019-06-04) "Unscripted ramblings from my garage about my first CTF event" by Christopher M. Hobbs. Comment 1: Christopher M. Hobbs on 2019-05-30: "event cancellation" Comment 2: tuturto on 2019-06-04: "sorry to hear about cancellation" hpr2829 (2019-06-06) "Discussion around fair use clips on HPR" by Various Hosts. Comment 1: Joel D on 2019-06-06: "Fair Use" Comment 2: Ken Fallon on 2019-06-07: "We don't know" hpr2830 (2019-06-07) "HPR NYE Show 2018-2019 part 1" by Honkeymagoo. Comment 1: folky on 2019-06-10: "plumble is better than I thought." Comment 2: folky on 2019-06-10: "More %" Comment 3: Dave Morriss on 2019-06-10: "Missing '%' in date command" hpr2831 (2019-06-10) "Interview with Robbie Ferguson" by Yannick. Comment 1: b-yeezi on 2019-06-10: "Just what I was looking for " hpr2832 (2019-06-11) "How I got started in Linux" by Shannon Wright. Comment 1: NYbill on 2019-06-11: "Welcome!" hpr2833 (2019-06-12) "Jeroen chats with Joep Piscaer" by Jeroen Baten. Comment 1: Ahuka on 2019-06-14: "Great show!" hpr2837 (2019-06-18) "parallax live desktops in android" by operat0r. Comment 1: norrist on 2019-06-18: "I like this kind of episode." hpr2839 (2019-06-20) "Sample episode of the Distrohoppers Digest podcast" by Ken Fallon. Comment 1: Mike Ray on 2019-06-20: "Accessibility" Comment 2: Bob on 2019-06-20: "reply to Mike" Comment 3: Mike Ray on 2019-06-20: "Accessibility and non-English character sets" Comment 4: Tony Hughes on 2019-06-21: "Responce to Mike and Bob" Comment 5: Bob on 2019-06-23: "I wasn't serious" Comment 6: Mike Ray on 2019-06-25: "Accessibility" Comment 7: TonyH1212 on 2019-06-29: "Further responce to Mike and Bob" 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: Events Calendar With the kind permission of we are linking to The Community Calendar. Quoting the site: This is the 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 Issue with advanced RSS settings The page at describes a series of features that allow the specification of a tailored RSS feed. One of the features is 'gomax=1' which includes shows in the queue scheduled for the future. For example, the following URL requests 30 OGG format shows including those scheduled for the future: However, there is a problem with this, caused by the way we direct downloads to We usually upload the next week’s shows to, but not all future shows as they arrive. This means that the links to some future shows returned by the feed point to currently non-existent episodes. This has been the case ever since we moved to using in this way, in late 2017. We have not received any comments or complaints about it in that time, so the question is: Does anyone use 'gomax=1'? Tags and Summaries Thanks to the following contributor for sending in updates in the past month: Tony Hughes Over the period tags and/or summaries have been added to 6 shows which were without them. If you would like to contribute to the tag/summary project visit the summary page at and follow the instructions there. View the full article
  24. Hacker Public Radio New Years Show episode 4 Welcome to the 7th Annual Hacker Public Radio New Years Show. 2018-2019 3D Printing OSMC Anet A8 Dell Venue 11 pro 7130 Drag vape Gigabyte Brix SDR talk DSP hack a day Mastodon hpr 2627 Home phone setup Asterisk Hanging LED lights The Wall Clipper chip Podcasting Time zones yet again Firearms President Trump Linux action news Late night Linux User error View the full article
  25. NEW 'Off The Hook' ONLINE Posted 27 Jun, 2019 2:38:02 UTC The new edition of Off The Hook from 26/06/2019 has been archived and is now available online. "Off The Hook" - 26/06/2019 Download the torrent here!!!! View the full article